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

Commit 4e3520a8 authored by John Spurlock's avatar John Spurlock Committed by Android Git Automerger
Browse files

am ce393d33: am 3f64edec: Merge "Fix IME down caret in keyguard nav bar bug." into jb-mr1.1-dev

* commit 'ce393d33':
  Fix IME down caret in keyguard nav bar bug.
parents 015ec39d ce393d33
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.