Merge "Let the ActionBar handle keyboard shortcuts." into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6a4014104e
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user