Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc2a2ea7 authored by Shu Chen's avatar Shu Chen
Browse files

Don't remove additional subtypes when ACTION_PACKAGE_CHANGED.

Instead, remove additional subtypes when package is updating.

Bug: 269678483
Test: Locally verified the bug.
Change-Id: I94261ffaa6e11b5a21af6c5ac831dab66d8459f2
parent bdf9aaf0
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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());
                        }
                    }
                }