mirror of
https://github.com/openharmony/miscservices_inputmethod.git
synced 2026-07-20 23:45:31 -04:00
!8 删除延迟3秒拉起输入法
Merge pull request !8 from Championships/OpenHarmony-3.0-LTS
This commit is contained in:
@@ -47,8 +47,8 @@ namespace MiscServices {
|
||||
class InputMethodController : public RefBase {
|
||||
public:
|
||||
static sptr<InputMethodController> GetInstance();
|
||||
void Attach();
|
||||
void ShowTextInput(sptr<OnTextChangedListener> &listener);
|
||||
void Attach(sptr<OnTextChangedListener> &listener);
|
||||
void ShowTextInput();
|
||||
void HideTextInput();
|
||||
void Close();
|
||||
void OnRemoteSaDied(const wptr<IRemoteObject> &object);
|
||||
|
||||
@@ -156,15 +156,15 @@ using namespace MessageID;
|
||||
}
|
||||
}
|
||||
|
||||
void InputMethodController::Attach()
|
||||
void InputMethodController::Attach(sptr<OnTextChangedListener> &listener)
|
||||
{
|
||||
PrepareInput(0, mClient, mInputDataChannel, mAttribute);
|
||||
textListener = listener;
|
||||
}
|
||||
|
||||
void InputMethodController::ShowTextInput(sptr<OnTextChangedListener> &listener)
|
||||
void InputMethodController::ShowTextInput()
|
||||
{
|
||||
IMSA_HILOGI("InputMethodController::ShowTextInput");
|
||||
textListener = listener;
|
||||
StartInput(mClient);
|
||||
}
|
||||
|
||||
|
||||
@@ -146,6 +146,7 @@ namespace MiscServices {
|
||||
std::mutex mtx; // mutex to lock the operations among multi work threads
|
||||
sptr<AAFwk::AbilityConnectionProxy> connCallback;
|
||||
sptr<InputMethodAbility> inputMethodAbility_;
|
||||
int SLEEP_TIME = 300000;
|
||||
|
||||
PerUserSession(const PerUserSession&);
|
||||
PerUserSession& operator =(const PerUserSession&);
|
||||
|
||||
@@ -1228,6 +1228,7 @@ namespace MiscServices {
|
||||
IMSA_HILOGI("PerUserSession::OnPrepareInput BindInputAbility start");
|
||||
BindInputAbility();
|
||||
IMSA_HILOGI("PerUserSession::OnPrepareInput BindInputAbility end");
|
||||
currentClient = client;
|
||||
}
|
||||
|
||||
/*! Release input. Called by an input client.
|
||||
@@ -1297,6 +1298,15 @@ namespace MiscServices {
|
||||
} else {
|
||||
IMSA_HILOGI("PerUserSession::onSetInputMethodCore End...[%{public}d]\n", userId_);
|
||||
}
|
||||
if (currentClient != nullptr) {
|
||||
usleep(SLEEP_TIME);
|
||||
ret = ShowKeyboard(currentClient);
|
||||
if (ret != ErrorCode::NO_ERROR) {
|
||||
IMSA_HILOGE("PerUserSession::OnStartInput Aborted! %{public}s", ErrorCode::ToString(ret));
|
||||
} else {
|
||||
IMSA_HILOGI("PerUserSession::OnStartInput End...[%{public}d]\n", userId_);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*! Stop input. Called by an input client.
|
||||
|
||||
@@ -198,12 +198,12 @@ namespace MiscServices {
|
||||
sptr<OnTextChangedListener> textListener = new TextListener();
|
||||
|
||||
IMSA_HILOGI("IMC Attach START");
|
||||
imc->Attach();
|
||||
imc->Attach(textListener);
|
||||
int waitForStatusOk = 2;
|
||||
sleep(waitForStatusOk);
|
||||
|
||||
IMSA_HILOGI("IMC ShowTextInput START");
|
||||
imc->ShowTextInput(textListener);
|
||||
imc->ShowTextInput();
|
||||
sleep(10);
|
||||
|
||||
IMSA_HILOGI("IMC HideTextInput START");
|
||||
|
||||
Reference in New Issue
Block a user