summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shu Chen <shuchen@google.com> 2023-03-15 02:07:39 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-03-15 02:07:39 +0000
commitcf1b792d85578c86d4732efc2374bb9835964045 (patch)
treedc8d7c352964ff6e9606e1787e17958bb1403c17
parent04f82f087e63d69cec68de490071ae3b79e7cdb6 (diff)
parentdc2a2ea7fef5286ec1c8fc8e98134b1febe72071 (diff)
Merge "Don't remove additional subtypes when ACTION_PACKAGE_CHANGED." into udc-dev
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 91f91f86d275..e32bf1beb300 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -1488,16 +1488,19 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
}
int change = isPackageDisappearing(imi.getPackageName());
- if (isPackageModified(imi.getPackageName())) {
- mAdditionalSubtypeMap.remove(imi.getId());
- AdditionalSubtypeUtils.save(mAdditionalSubtypeMap, mMethodMap,
- mSettings.getCurrentUserId());
- }
if (change == PACKAGE_TEMPORARY_CHANGE
|| change == PACKAGE_PERMANENT_CHANGE) {
Slog.i(TAG, "Input method uninstalled, disabling: "
+ imi.getComponent());
setInputMethodEnabledLocked(imi.getId(), false);
+ } else if (change == PACKAGE_UPDATING) {
+ Slog.i(TAG,
+ "Input method reinstalling, clearing additional subtypes: "
+ + imi.getComponent());
+ mAdditionalSubtypeMap.remove(imi.getId());
+ AdditionalSubtypeUtils.save(mAdditionalSubtypeMap,
+ mMethodMap,
+ mSettings.getCurrentUserId());
}
}
}