diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 67293b9c9ea08..47c5f492a7e09 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -3274,7 +3274,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final int packageNum = packageInfos.length; for (int i = 0; i < packageNum; ++i) { if (packageInfos[i].equals(imi.getPackageName())) { - mFileManager.addInputMethodSubtypes(imi, subtypes); + if (subtypes.length > 0) { + mFileManager.addInputMethodSubtypes(imi, subtypes); + } else { + mFileManager.deleteAllInputMethodSubtypes(imi.getId()); + } final long ident = Binder.clearCallingIdentity(); try { buildInputMethodListLocked(false /* resetDefaultEnabledIme */);