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

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

Uses equals to compare the old/new subtypes.

In case of additional subtypes, which are provided by IME app at
runtime, the subtype instances may be re-created but remains the
identical hash codes.
So when an IME provided subtypes {A,B} with current subtype A and
then provides {A,B,C} later, the IME don't expect to be notified
by InputMethodService#onCurrentInputMethodSubtypeChanged.

Bug: 269546663
Test: locally verify the bug.
Change-Id: Ib23e5883af4b99845e80b370c245999fa10d7f57
parent 28c920ff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3235,7 +3235,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
                notifyInputMethodSubtypeChangedLocked(userId, info, null);
                return;
            }
            if (newSubtype != oldSubtype) {
            if (!newSubtype.equals(oldSubtype)) {
                setSelectedInputMethodAndSubtypeLocked(info, subtypeId, true);
                IInputMethodInvoker curMethod = getCurMethodLocked();
                if (curMethod != null) {