summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorsatok <satok@google.com>2011-10-28 17:58:28 +0900
committersatok <satok@google.com>2011-10-28 19:42:58 +0900
commit15452a487a4c0274f4217cd060aa54446f30a8f3 (patch)
tree6bf247e66240f946d7e25db1f930b73abba89429 /services
parentca50b44e2f8a279a37c31dbf9571e12a1e429493 (diff)
downloadframeworks_base-15452a487a4c0274f4217cd060aa54446f30a8f3.zip
frameworks_base-15452a487a4c0274f4217cd060aa54446f30a8f3.tar.gz
frameworks_base-15452a487a4c0274f4217cd060aa54446f30a8f3.tar.bz2
Hide ime switcher when the screen is turned off.
Bug: 5481999 Change-Id: Ifc870f1350db2a67405c05f6de447a69dc050408
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/InputMethodManagerService.java20
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;
}
}