diff options
| author | 2023-03-15 02:07:39 +0000 | |
|---|---|---|
| committer | 2023-03-15 02:07:39 +0000 | |
| commit | cf1b792d85578c86d4732efc2374bb9835964045 (patch) | |
| tree | dc8d7c352964ff6e9606e1787e17958bb1403c17 | |
| parent | 04f82f087e63d69cec68de490071ae3b79e7cdb6 (diff) | |
| parent | dc2a2ea7fef5286ec1c8fc8e98134b1febe72071 (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.java | 13 |
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()); } } } |