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

Commit 9fe1077b authored by Clara Bayarri's avatar Clara Bayarri
Browse files

DO NOT MERGE Fix Keyboard Shortcut Helper requires pressing META+/ twice

By using a local boolean we were missing out on when the system dismisses
the window with the back key.

Bug: 28910518
Change-Id: I87b21c11830eaf81e3fd9586be6e3a7bb59c8a1f
(cherry picked from commit 3ac0ae07)
parent 2fd085bb
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ public final class KeyboardShortcuts {
    private static final String TAG = KeyboardShortcuts.class.getSimpleName();
    private static final Object sLock = new Object();
    private static KeyboardShortcuts sInstance;
    private static boolean sIsShowing;

    private final SparseArray<String> mSpecialCharacterNames = new SparseArray<>();
    private final SparseArray<String> mModifierNames = new SparseArray<>();
@@ -131,13 +130,12 @@ public final class KeyboardShortcuts {
                dismiss();
            }
            getInstance(context).showKeyboardShortcuts(deviceId);
            sIsShowing = true;
        }
    }

    public static void toggle(Context context, int deviceId) {
        synchronized (sLock) {
            if (sIsShowing) {
            if (isShowing()) {
                dismiss();
            } else {
                show(context, deviceId);
@@ -151,10 +149,14 @@ public final class KeyboardShortcuts {
                sInstance.dismissKeyboardShortcuts();
                sInstance = null;
            }
            sIsShowing = false;
        }
    }

    private static boolean isShowing() {
        return sInstance != null && sInstance.mKeyboardShortcutsDialog != null
                && sInstance.mKeyboardShortcutsDialog.isShowing();
    }

    private void loadResources(Context context) {
        mSpecialCharacterNames.put(
                KeyEvent.KEYCODE_HOME, context.getString(R.string.keyboard_key_home));