DO NOT MERGE Removes additional subtypes when clearing data.

Bug: 267124364
Test: manually tested the case.
Change-Id: I159d9b7a2d1dcc8df478bb45d0be706d615724a2
(cherry picked from commit 18a26c88a8)
This commit is contained in:
Shu Chen
2023-02-15 12:04:47 +08:00
parent ef33213894
commit 0962b36f9f

View File

@@ -1409,6 +1409,22 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
}
}
@Override
public void onPackageDataCleared(String packageName, int uid) {
boolean changed = false;
for (InputMethodInfo imi : mMethodList) {
if (imi.getPackageName().equals(packageName)) {
mAdditionalSubtypeMap.remove(imi.getId());
changed = true;
}
}
if (changed) {
AdditionalSubtypeUtils.save(
mAdditionalSubtypeMap, mMethodMap, mSettings.getCurrentUserId());
mChangedPackages.add(packageName);
}
}
@Override
public void onFinishPackageChanges() {
onFinishPackageChangesInternal();