aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-05-20 21:29:50 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-05-20 21:29:50 -0700
commite2bee5b134aaefc69a680be8ea65e2d7640b3ead (patch)
tree006d03d11eff1b770f0318ed0b480485d71c58c2 /java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java
parent13d7d5684ee855b2e87160dee8a8754d58f5ee72 (diff)
parentede3db51f0fb16559c27aa29a7cf07784bb9431c (diff)
downloadlatinime-e2bee5b134aaefc69a680be8ea65e2d7640b3ead.tar.gz
latinime-e2bee5b134aaefc69a680be8ea65e2d7640b3ead.tar.xz
latinime-e2bee5b134aaefc69a680be8ea65e2d7640b3ead.zip
am ede3db51: Merge "Fix a crash on a secondary user" into jb-mr2-dev
* commit 'ede3db51f0fb16559c27aa29a7cf07784bb9431c': Fix a crash on a secondary user
Diffstat (limited to 'java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java')
-rw-r--r--java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java b/java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java
index 1b893a65d..6a7cd9b6f 100644
--- a/java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java
+++ b/java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java
@@ -68,8 +68,15 @@ public final class LauncherIconVisibilityManager extends BroadcastReceiver {
// 1) the package has been re-installed, 2) the device has been booted,
// 3) a multiuser has been created.
// There is no good reason to keep the process alive if this IME isn't a current IME.
- RichInputMethodManager.init(context);
- if (!SetupActivity.isThisImeCurrent(context)) {
+ final boolean isCurrentImeOfCurrentUser;
+ if (RichInputMethodManager.isInputMethodManagerValidForUserOfThisProcess(context)) {
+ RichInputMethodManager.init(context);
+ isCurrentImeOfCurrentUser = SetupActivity.isThisImeCurrent(context);
+ } else {
+ isCurrentImeOfCurrentUser = false;
+ }
+
+ if (!isCurrentImeOfCurrentUser) {
final int myPid = Process.myPid();
Log.i(TAG, "Killing my process: pid=" + myPid);
Process.killProcess(myPid);