Loading services/java/com/android/server/InputMethodManagerService.java +14 −4 Original line number Original line Diff line number Diff line Loading @@ -386,6 +386,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub private Locale mLastSystemLocale; private Locale mLastSystemLocale; private final MyPackageMonitor mMyPackageMonitor = new MyPackageMonitor(); private final MyPackageMonitor mMyPackageMonitor = new MyPackageMonitor(); private final IPackageManager mIPackageManager; private final IPackageManager mIPackageManager; private boolean mInputBoundToKeyguard; class SettingsObserver extends ContentObserver { class SettingsObserver extends ContentObserver { SettingsObserver(Handler handler) { SettingsObserver(Handler handler) { Loading Loading @@ -877,10 +878,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final boolean hardKeyShown = haveHardKeyboard final boolean hardKeyShown = haveHardKeyboard && conf.hardKeyboardHidden && conf.hardKeyboardHidden != Configuration.HARDKEYBOARDHIDDEN_YES; != Configuration.HARDKEYBOARDHIDDEN_YES; final boolean isScreenLocked = mKeyguardManager != null final boolean isScreenLocked = && mKeyguardManager.isKeyguardLocked() mKeyguardManager != null && mKeyguardManager.isKeyguardLocked(); && mKeyguardManager.isKeyguardSecure(); final boolean isScreenSecurelyLocked = mImeWindowVis = (!isScreenLocked && (mInputShown || hardKeyShown)) ? isScreenLocked && mKeyguardManager.isKeyguardSecure(); final boolean inputShown = mInputShown && (!isScreenLocked || mInputBoundToKeyguard); mImeWindowVis = (!isScreenSecurelyLocked && (inputShown || hardKeyShown)) ? (InputMethodService.IME_ACTIVE | InputMethodService.IME_VISIBLE) : 0; (InputMethodService.IME_ACTIVE | InputMethodService.IME_VISIBLE) : 0; updateImeWindowStatusLocked(); updateImeWindowStatusLocked(); } } Loading Loading @@ -1124,6 +1127,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub return mNoBinding; return mNoBinding; } } if (mCurClient == null) { mInputBoundToKeyguard = mKeyguardManager != null && mKeyguardManager.isKeyguardLocked(); if (DEBUG) { Slog.v(TAG, "New bind. keyguard = " + mInputBoundToKeyguard); } } if (mCurClient != cs) { if (mCurClient != cs) { // If the client is changing, we need to switch over to the new // If the client is changing, we need to switch over to the new // one. // one. Loading Loading
services/java/com/android/server/InputMethodManagerService.java +14 −4 Original line number Original line Diff line number Diff line Loading @@ -386,6 +386,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub private Locale mLastSystemLocale; private Locale mLastSystemLocale; private final MyPackageMonitor mMyPackageMonitor = new MyPackageMonitor(); private final MyPackageMonitor mMyPackageMonitor = new MyPackageMonitor(); private final IPackageManager mIPackageManager; private final IPackageManager mIPackageManager; private boolean mInputBoundToKeyguard; class SettingsObserver extends ContentObserver { class SettingsObserver extends ContentObserver { SettingsObserver(Handler handler) { SettingsObserver(Handler handler) { Loading Loading @@ -877,10 +878,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final boolean hardKeyShown = haveHardKeyboard final boolean hardKeyShown = haveHardKeyboard && conf.hardKeyboardHidden && conf.hardKeyboardHidden != Configuration.HARDKEYBOARDHIDDEN_YES; != Configuration.HARDKEYBOARDHIDDEN_YES; final boolean isScreenLocked = mKeyguardManager != null final boolean isScreenLocked = && mKeyguardManager.isKeyguardLocked() mKeyguardManager != null && mKeyguardManager.isKeyguardLocked(); && mKeyguardManager.isKeyguardSecure(); final boolean isScreenSecurelyLocked = mImeWindowVis = (!isScreenLocked && (mInputShown || hardKeyShown)) ? isScreenLocked && mKeyguardManager.isKeyguardSecure(); final boolean inputShown = mInputShown && (!isScreenLocked || mInputBoundToKeyguard); mImeWindowVis = (!isScreenSecurelyLocked && (inputShown || hardKeyShown)) ? (InputMethodService.IME_ACTIVE | InputMethodService.IME_VISIBLE) : 0; (InputMethodService.IME_ACTIVE | InputMethodService.IME_VISIBLE) : 0; updateImeWindowStatusLocked(); updateImeWindowStatusLocked(); } } Loading Loading @@ -1124,6 +1127,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub return mNoBinding; return mNoBinding; } } if (mCurClient == null) { mInputBoundToKeyguard = mKeyguardManager != null && mKeyguardManager.isKeyguardLocked(); if (DEBUG) { Slog.v(TAG, "New bind. keyguard = " + mInputBoundToKeyguard); } } if (mCurClient != cs) { if (mCurClient != cs) { // If the client is changing, we need to switch over to the new // If the client is changing, we need to switch over to the new // one. // one. Loading