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

Commit a04b7add authored by Abodunrinwa Toki's avatar Abodunrinwa Toki
Browse files

Let the ActionBar handle keyboard shortcuts.

Bug: 18021345
Change-Id: I5df8711dcd020f172f798745846e7b6c05c69191
parent 18709f9a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1056,6 +1056,11 @@ public abstract class ActionBar {
        return false;
    }

    /** @hide */
    public boolean onKeyShortcut(int keyCode, KeyEvent event) {
        return false;
    }

    /** @hide */
    public boolean collapseActionView() {
        return false;
+3 −1
Original line number Diff line number Diff line
@@ -2469,7 +2469,9 @@ public class Activity extends ContextThemeWrapper
     * @return True if the key shortcut was handled.
     */
    public boolean onKeyShortcut(int keyCode, KeyEvent event) {
        return false;
        // Let the Action Bar have a chance at handling the shortcut.
        ActionBar actionBar = getActionBar();
        return (actionBar != null && actionBar.onKeyShortcut(keyCode, event));
    }

    /**
+12 −0
Original line number Diff line number Diff line
@@ -463,6 +463,18 @@ public class ToolbarActionBar extends ActionBar {
        return true;
    }

    @Override
    public boolean onKeyShortcut(int keyCode, KeyEvent event) {
        Menu menu = mDecorToolbar.getMenu();
        if (menu != null) {
            menu.performShortcut(keyCode, event, 0);
        }
        // This action bar always returns true for handling keyboard shortcuts.
        // This will block the window from preparing a temporary panel to handle
        // keyboard shortcuts.
        return true;
    }

    public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) {
        mMenuVisibilityListeners.add(listener);
    }