diff options
author | 2013-05-20 19:51:28 -0700 | |
---|---|---|
committer | 2013-05-21 12:27:16 +0900 | |
commit | 10e8b9397717cc04b9a2aaee4b91f9d7ccbbf8e6 (patch) | |
tree | 8169d49596a49ca77b26f95e445bf2df0bdafa5b /java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java | |
parent | b1e37e4a478a577c59930767148e50f8f45af21f (diff) | |
download | latinime-10e8b9397717cc04b9a2aaee4b91f9d7ccbbf8e6.tar.gz latinime-10e8b9397717cc04b9a2aaee4b91f9d7ccbbf8e6.tar.xz latinime-10e8b9397717cc04b9a2aaee4b91f9d7ccbbf8e6.zip |
Fix a crash on a secondary user
Bug: 9054063
Change-Id: I092ab6e0077578d0aca57d2e41dfbc00b46e1ba4
Diffstat (limited to 'java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/setup/LauncherIconVisibilityManager.java | 11 |
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); |