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

Commit 4c0e7152 authored by satok's avatar satok
Browse files

Workaround: Never reset the default IME if the system is not ready

Bug: 6685037
Change-Id: Ifb311f85154beadd4787ec73669bedfdf1f5172d
parent 17c1425f
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -2668,7 +2668,16 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
            }
        }

        if (!setSubtypeOnly) {
        // Workaround.
        // ASEC is not ready in the IMMS constructor. Accordingly, forward-locked
        // IMEs are not recognized and considered uninstalled.
        // Actually, we can't move everything after SystemReady because
        // IMMS needs to run in the encryption lock screen. So, we just skip changing
        // the default IME here and try cheking the default IME again in systemReady().
        // TODO: Do nothing before system ready and implement a separated logic for
        // the encryption lock screen.
        // TODO: ASEC should be ready before IMMS is instantiated.
        if (mSystemReady && !setSubtypeOnly) {
            // Set InputMethod here
            mSettings.putSelectedInputMethod(imi != null ? imi.getId() : "");
        }