Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f17db9f5 authored by satok's avatar satok
Browse files

Call onFinishInputView in onDestroy

onFinishInputView is called in InputMethodService#hideWindow but not in onDestroy.
For closing IMS safely, onFinishInputView should be called in onDestroy.

Bug: 5265534
Bug: 4697071

Change-Id: I2947b62326e3e0644f1c079eafc839a9981e902b
parent aab55bf3
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -687,6 +687,7 @@ public class InputMethodService extends AbstractInputMethodService {
        super.onDestroy();
        mRootView.getViewTreeObserver().removeOnComputeInternalInsetsListener(
                mInsetsComputer);
        finishViews();
        if (mWindowAdded) {
            // Disable exit animation for the current IME window
            // to avoid the race condition between the exit and enter animations
@@ -1436,7 +1437,7 @@ public class InputMethodService extends AbstractInputMethodService {
        }
    }

    public void hideWindow() {
    private void finishViews() {
        if (mInputViewStarted) {
            if (DEBUG) Log.v(TAG, "CALL: onFinishInputView");
            onFinishInputView(false);
@@ -1446,6 +1447,10 @@ public class InputMethodService extends AbstractInputMethodService {
        }
        mInputViewStarted = false;
        mCandidatesViewStarted = false;
    }

    public void hideWindow() {
        finishViews();
        mImm.setImeWindowStatus(mToken, 0, mBackDisposition);
        if (mWindowVisible) {
            mWindow.hide();