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

Commit 3f64edec authored by John Spurlock's avatar John Spurlock Committed by Android (Google) Code Review
Browse files

Merge "Fix IME down caret in keyguard nav bar bug." into jb-mr1.1-dev

parents c7dd6640 bc7b6fc2
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -386,6 +386,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
    private Locale mLastSystemLocale;
    private final MyPackageMonitor mMyPackageMonitor = new MyPackageMonitor();
    private final IPackageManager mIPackageManager;
    private boolean mInputBoundToKeyguard;

    class SettingsObserver extends ContentObserver {
        SettingsObserver(Handler handler) {
@@ -877,10 +878,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
        final boolean hardKeyShown = haveHardKeyboard
                && conf.hardKeyboardHidden
                        != Configuration.HARDKEYBOARDHIDDEN_YES;
        final boolean isScreenLocked = mKeyguardManager != null
                && mKeyguardManager.isKeyguardLocked()
                && mKeyguardManager.isKeyguardSecure();
        mImeWindowVis = (!isScreenLocked && (mInputShown || hardKeyShown)) ?
        final boolean isScreenLocked =
                mKeyguardManager != null && mKeyguardManager.isKeyguardLocked();
        final boolean isScreenSecurelyLocked =
                isScreenLocked && mKeyguardManager.isKeyguardSecure();
        final boolean inputShown = mInputShown && (!isScreenLocked || mInputBoundToKeyguard);
        mImeWindowVis = (!isScreenSecurelyLocked && (inputShown || hardKeyShown)) ?
                (InputMethodService.IME_ACTIVE | InputMethodService.IME_VISIBLE) : 0;
        updateImeWindowStatusLocked();
    }
@@ -1124,6 +1127,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
            return mNoBinding;
        }

        if (mCurClient == null) {
            mInputBoundToKeyguard = mKeyguardManager != null && mKeyguardManager.isKeyguardLocked();
            if (DEBUG) {
                Slog.v(TAG, "New bind. keyguard = " +  mInputBoundToKeyguard);
            }
        }

        if (mCurClient != cs) {
            // If the client is changing, we need to switch over to the new
            // one.