diff options
author | satok <satok@google.com> | 2011-10-28 18:25:28 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-10-28 18:25:28 -0700 |
commit | f0fd595f0f3203fb81cb39a367b2a06647db907d (patch) | |
tree | c12f364e351b2a877db56a8d20e97a0d4bbd7aab /services | |
parent | 7801612b4f66e3c9cf58d24cffa8ce72e43adc57 (diff) | |
parent | 15452a487a4c0274f4217cd060aa54446f30a8f3 (diff) | |
download | frameworks_base-f0fd595f0f3203fb81cb39a367b2a06647db907d.zip frameworks_base-f0fd595f0f3203fb81cb39a367b2a06647db907d.tar.gz frameworks_base-f0fd595f0f3203fb81cb39a367b2a06647db907d.tar.bz2 |
Merge "Hide ime switcher when the screen is turned off." into ics-mr1
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/InputMethodManagerService.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index 03d6b41..17ea03b 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -374,6 +374,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub mScreenOn = true; } else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { mScreenOn = false; + setImeWindowVisibilityStatusHiddenLocked(); } else if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { hideInputMethodMenu(); return; @@ -468,8 +469,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub // Uh oh, current input method is no longer around! // Pick another one... Slog.i(TAG, "Current input method removed: " + curInputMethodId); - mImeWindowVis = 0; - updateImeWindowStatusLocked(); + setImeWindowVisibilityStatusHiddenLocked(); if (!chooseNewDefaultIMELocked()) { changed = true; curIm = null; @@ -625,7 +625,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } - void updateImeWindowStatusLocked() { + private void setImeWindowVisibilityStatusHiddenLocked() { + mImeWindowVis = 0; + updateImeWindowStatusLocked(); + } + + private void updateImeWindowStatusLocked() { setImeWindowStatus(mCurToken, mImeWindowVis, mBackDisposition); } @@ -999,8 +1004,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub sessionState.session.finishSession(); } catch (RemoteException e) { Slog.w(TAG, "Session failed to close due to remote exception", e); - mImeWindowVis = 0; - updateImeWindowStatusLocked(); + setImeWindowVisibilityStatusHiddenLocked(); } } } @@ -1395,13 +1399,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub if (!mIWindowManager.inputMethodClientHasFocus(client)) { if (DEBUG) Slog.w(TAG, "Ignoring hideSoftInput of uid " + uid + ": " + client); - mImeWindowVis = 0; - updateImeWindowStatusLocked(); + setImeWindowVisibilityStatusHiddenLocked(); return false; } } catch (RemoteException e) { - mImeWindowVis = 0; - updateImeWindowStatusLocked(); + setImeWindowVisibilityStatusHiddenLocked(); return false; } } |