Loading api/current.xml +52 −5 Original line number Diff line number Diff line Loading @@ -20749,6 +20749,19 @@ visibility="public" > </constructor> <method name="addOnMenuVisibilityListener" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="listener" type="android.app.ActionBar.OnMenuVisibilityListener"> </parameter> </method> <method name="addTab" return="void" abstract="true" Loading Loading @@ -20998,6 +21011,19 @@ visibility="public" > </method> <method name="removeOnMenuVisibilityListener" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="listener" type="android.app.ActionBar.OnMenuVisibilityListener"> </parameter> </method> <method name="removeTab" return="void" abstract="true" Loading Loading @@ -21131,7 +21157,7 @@ > <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> <parameter name="callback" type="android.app.ActionBar.OnNavigationListener"> </parameter> </method> <method name="setDropdownNavigationMode" Loading @@ -21146,7 +21172,7 @@ > <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> <parameter name="callback" type="android.app.ActionBar.OnNavigationListener"> </parameter> <parameter name="defaultSelectedPosition" type="int"> </parameter> Loading @@ -21163,7 +21189,7 @@ > <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> <parameter name="callback" type="android.app.ActionBar.OnNavigationListener"> </parameter> </method> <method name="setNavigationMode" Loading Loading @@ -21475,7 +21501,28 @@ > </field> </class> <interface name="ActionBar.NavigationCallback" <interface name="ActionBar.OnMenuVisibilityListener" abstract="true" static="true" final="false" deprecated="not deprecated" visibility="public" > <method name="onMenuVisibilityChanged" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="isVisible" type="boolean"> </parameter> </method> </interface> <interface name="ActionBar.OnNavigationListener" abstract="true" static="true" final="false" Loading Loading @@ -249389,7 +249436,7 @@ deprecated="not deprecated" visibility="public" > <parameter name="t" type="T"> <parameter name="arg0" type="T"> </parameter> </method> </interface> core/java/android/app/ActionBar.java +39 −9 Original line number Diff line number Diff line Loading @@ -168,13 +168,13 @@ public abstract class ActionBar { * @param adapter An adapter that will provide views both to display * the current navigation selection and populate views * within the dropdown navigation menu. * @param callback A NavigationCallback that will receive events when the user * @param callback A OnNavigationListener that will receive events when the user * selects a navigation item. * @deprecated See setListNavigationCallbacks. */ @Deprecated public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback); OnNavigationListener callback); /** * Set the adapter and navigation callback for list navigation mode. Loading @@ -182,17 +182,17 @@ public abstract class ActionBar { * The supplied adapter will provide views for the expanded list as well as * the currently selected item. (These may be displayed differently.) * * The supplied NavigationCallback will alert the application when the user * The supplied OnNavigationListener will alert the application when the user * changes the current list selection. * * @param adapter An adapter that will provide views both to display * the current navigation selection and populate views * within the dropdown navigation menu. * @param callback A NavigationCallback that will receive events when the user * @param callback An OnNavigationListener that will receive events when the user * selects a navigation item. */ public abstract void setListNavigationCallbacks(SpinnerAdapter adapter, NavigationCallback callback); OnNavigationListener callback); /** * Set the action bar into dropdown navigation mode and supply an adapter that will Loading @@ -201,7 +201,7 @@ public abstract class ActionBar { * @param adapter An adapter that will provide views both to display the current * navigation selection and populate views within the dropdown * navigation menu. * @param callback A NavigationCallback that will receive events when the user * @param callback A OnNavigationListener that will receive events when the user * selects a navigation item. * @param defaultSelectedPosition Position within the provided adapter that should be * selected from the outset. Loading @@ -209,7 +209,7 @@ public abstract class ActionBar { */ @Deprecated public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, int defaultSelectedPosition); OnNavigationListener callback, int defaultSelectedPosition); /** * Set the selected navigation item in list or tabbed navigation modes. Loading Loading @@ -532,9 +532,24 @@ public abstract class ActionBar { public abstract boolean isShowing(); /** * Callback interface for ActionBar navigation events. * Add a listener that will respond to menu visibility change events. * * @param listener The new listener to add */ public abstract void addOnMenuVisibilityListener(OnMenuVisibilityListener listener); /** * Remove a menu visibility listener. This listener will no longer receive menu * visibility change events. * * @param listener A listener to remove that was previously added */ public abstract void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener); /** * Listener interface for ActionBar navigation events. */ public interface NavigationCallback { public interface OnNavigationListener { /** * This method is called whenever a navigation item in your action bar * is selected. Loading @@ -546,6 +561,21 @@ public abstract class ActionBar { public boolean onNavigationItemSelected(int itemPosition, long itemId); } /** * Listener for receiving events when action bar menus are shown or hidden. */ public interface OnMenuVisibilityListener { /** * Called when an action bar menu is shown or hidden. Applications may want to use * this to tune auto-hiding behavior for the action bar or pause/resume video playback, * gameplay, or other activity within the main content area. * * @param isVisible True if an action bar menu is now visible, false if no action bar * menus are visible. */ public void onMenuVisibilityChanged(boolean isVisible); } /** * A tab in the action bar. * Loading core/java/android/app/Activity.java +8 −1 Original line number Diff line number Diff line Loading @@ -2362,6 +2362,9 @@ public class Activity extends ContextThemeWrapper * @return The default implementation returns true. */ public boolean onMenuOpened(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR) { mActionBar.dispatchMenuVisibilityChanged(true); } return true; } Loading Loading @@ -2417,6 +2420,10 @@ public class Activity extends ContextThemeWrapper case Window.FEATURE_CONTEXT_MENU: onContextMenuClosed(menu); break; case Window.FEATURE_ACTION_BAR: mActionBar.dispatchMenuVisibilityChanged(false); break; } } Loading core/java/android/app/Dialog.java +6 −0 Original line number Diff line number Diff line Loading @@ -735,6 +735,9 @@ public class Dialog implements DialogInterface, Window.Callback, * @see Activity#onMenuOpened(int, Menu) */ public boolean onMenuOpened(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR) { mActionBar.dispatchMenuVisibilityChanged(true); } return true; } Loading @@ -749,6 +752,9 @@ public class Dialog implements DialogInterface, Window.Callback, * @see Activity#onPanelClosed(int, Menu) */ public void onPanelClosed(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR) { mActionBar.dispatchMenuVisibilityChanged(false); } } /** Loading core/java/com/android/internal/app/ActionBarImpl.java +28 −4 Original line number Diff line number Diff line Loading @@ -70,6 +70,10 @@ public class ActionBarImpl extends ActionBar { private ActionMode mActionMode; private boolean mLastMenuVisibility; private ArrayList<OnMenuVisibilityListener> mMenuVisibilityListeners = new ArrayList<OnMenuVisibilityListener>(); private static final int CONTEXT_DISPLAY_NORMAL = 0; private static final int CONTEXT_DISPLAY_SPLIT = 1; Loading Loading @@ -120,6 +124,26 @@ public class ActionBarImpl extends ActionBar { CONTEXT_DISPLAY_NORMAL : CONTEXT_DISPLAY_SPLIT; } public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) { mMenuVisibilityListeners.add(listener); } public void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener) { mMenuVisibilityListeners.remove(listener); } public void dispatchMenuVisibilityChanged(boolean isVisible) { if (isVisible == mLastMenuVisibility) { return; } mLastMenuVisibility = isVisible; final int count = mMenuVisibilityListeners.size(); for (int i = 0; i < count; i++) { mMenuVisibilityListeners.get(i).onMenuVisibilityChanged(isVisible); } } @Override public void setTitle(int resId) { setTitle(mContext.getString(resId)); Loading @@ -138,11 +162,11 @@ public class ActionBarImpl extends ActionBar { mActionView.setCallback(null); } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback) { public void setDropdownNavigationMode(SpinnerAdapter adapter, OnNavigationListener callback) { setDropdownNavigationMode(adapter, callback, -1); } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, public void setDropdownNavigationMode(SpinnerAdapter adapter, OnNavigationListener callback, int defaultSelectedPosition) { cleanupTabs(); setDisplayOptions(0, DISPLAY_SHOW_CUSTOM | DISPLAY_SHOW_TITLE); Loading Loading @@ -516,7 +540,7 @@ public class ActionBarImpl extends ActionBar { public void onMenuModeChange(MenuBuilder menu) { invalidate(); mUpperContextView.showOverflowMenu(); mUpperContextView.openOverflowMenu(); } } Loading Loading @@ -627,7 +651,7 @@ public class ActionBarImpl extends ActionBar { } @Override public void setListNavigationCallbacks(SpinnerAdapter adapter, NavigationCallback callback) { public void setListNavigationCallbacks(SpinnerAdapter adapter, OnNavigationListener callback) { mActionView.setDropdownAdapter(adapter); mActionView.setCallback(callback); } Loading Loading
api/current.xml +52 −5 Original line number Diff line number Diff line Loading @@ -20749,6 +20749,19 @@ visibility="public" > </constructor> <method name="addOnMenuVisibilityListener" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="listener" type="android.app.ActionBar.OnMenuVisibilityListener"> </parameter> </method> <method name="addTab" return="void" abstract="true" Loading Loading @@ -20998,6 +21011,19 @@ visibility="public" > </method> <method name="removeOnMenuVisibilityListener" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="listener" type="android.app.ActionBar.OnMenuVisibilityListener"> </parameter> </method> <method name="removeTab" return="void" abstract="true" Loading Loading @@ -21131,7 +21157,7 @@ > <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> <parameter name="callback" type="android.app.ActionBar.OnNavigationListener"> </parameter> </method> <method name="setDropdownNavigationMode" Loading @@ -21146,7 +21172,7 @@ > <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> <parameter name="callback" type="android.app.ActionBar.OnNavigationListener"> </parameter> <parameter name="defaultSelectedPosition" type="int"> </parameter> Loading @@ -21163,7 +21189,7 @@ > <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> <parameter name="callback" type="android.app.ActionBar.OnNavigationListener"> </parameter> </method> <method name="setNavigationMode" Loading Loading @@ -21475,7 +21501,28 @@ > </field> </class> <interface name="ActionBar.NavigationCallback" <interface name="ActionBar.OnMenuVisibilityListener" abstract="true" static="true" final="false" deprecated="not deprecated" visibility="public" > <method name="onMenuVisibilityChanged" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="isVisible" type="boolean"> </parameter> </method> </interface> <interface name="ActionBar.OnNavigationListener" abstract="true" static="true" final="false" Loading Loading @@ -249389,7 +249436,7 @@ deprecated="not deprecated" visibility="public" > <parameter name="t" type="T"> <parameter name="arg0" type="T"> </parameter> </method> </interface>
core/java/android/app/ActionBar.java +39 −9 Original line number Diff line number Diff line Loading @@ -168,13 +168,13 @@ public abstract class ActionBar { * @param adapter An adapter that will provide views both to display * the current navigation selection and populate views * within the dropdown navigation menu. * @param callback A NavigationCallback that will receive events when the user * @param callback A OnNavigationListener that will receive events when the user * selects a navigation item. * @deprecated See setListNavigationCallbacks. */ @Deprecated public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback); OnNavigationListener callback); /** * Set the adapter and navigation callback for list navigation mode. Loading @@ -182,17 +182,17 @@ public abstract class ActionBar { * The supplied adapter will provide views for the expanded list as well as * the currently selected item. (These may be displayed differently.) * * The supplied NavigationCallback will alert the application when the user * The supplied OnNavigationListener will alert the application when the user * changes the current list selection. * * @param adapter An adapter that will provide views both to display * the current navigation selection and populate views * within the dropdown navigation menu. * @param callback A NavigationCallback that will receive events when the user * @param callback An OnNavigationListener that will receive events when the user * selects a navigation item. */ public abstract void setListNavigationCallbacks(SpinnerAdapter adapter, NavigationCallback callback); OnNavigationListener callback); /** * Set the action bar into dropdown navigation mode and supply an adapter that will Loading @@ -201,7 +201,7 @@ public abstract class ActionBar { * @param adapter An adapter that will provide views both to display the current * navigation selection and populate views within the dropdown * navigation menu. * @param callback A NavigationCallback that will receive events when the user * @param callback A OnNavigationListener that will receive events when the user * selects a navigation item. * @param defaultSelectedPosition Position within the provided adapter that should be * selected from the outset. Loading @@ -209,7 +209,7 @@ public abstract class ActionBar { */ @Deprecated public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, int defaultSelectedPosition); OnNavigationListener callback, int defaultSelectedPosition); /** * Set the selected navigation item in list or tabbed navigation modes. Loading Loading @@ -532,9 +532,24 @@ public abstract class ActionBar { public abstract boolean isShowing(); /** * Callback interface for ActionBar navigation events. * Add a listener that will respond to menu visibility change events. * * @param listener The new listener to add */ public abstract void addOnMenuVisibilityListener(OnMenuVisibilityListener listener); /** * Remove a menu visibility listener. This listener will no longer receive menu * visibility change events. * * @param listener A listener to remove that was previously added */ public abstract void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener); /** * Listener interface for ActionBar navigation events. */ public interface NavigationCallback { public interface OnNavigationListener { /** * This method is called whenever a navigation item in your action bar * is selected. Loading @@ -546,6 +561,21 @@ public abstract class ActionBar { public boolean onNavigationItemSelected(int itemPosition, long itemId); } /** * Listener for receiving events when action bar menus are shown or hidden. */ public interface OnMenuVisibilityListener { /** * Called when an action bar menu is shown or hidden. Applications may want to use * this to tune auto-hiding behavior for the action bar or pause/resume video playback, * gameplay, or other activity within the main content area. * * @param isVisible True if an action bar menu is now visible, false if no action bar * menus are visible. */ public void onMenuVisibilityChanged(boolean isVisible); } /** * A tab in the action bar. * Loading
core/java/android/app/Activity.java +8 −1 Original line number Diff line number Diff line Loading @@ -2362,6 +2362,9 @@ public class Activity extends ContextThemeWrapper * @return The default implementation returns true. */ public boolean onMenuOpened(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR) { mActionBar.dispatchMenuVisibilityChanged(true); } return true; } Loading Loading @@ -2417,6 +2420,10 @@ public class Activity extends ContextThemeWrapper case Window.FEATURE_CONTEXT_MENU: onContextMenuClosed(menu); break; case Window.FEATURE_ACTION_BAR: mActionBar.dispatchMenuVisibilityChanged(false); break; } } Loading
core/java/android/app/Dialog.java +6 −0 Original line number Diff line number Diff line Loading @@ -735,6 +735,9 @@ public class Dialog implements DialogInterface, Window.Callback, * @see Activity#onMenuOpened(int, Menu) */ public boolean onMenuOpened(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR) { mActionBar.dispatchMenuVisibilityChanged(true); } return true; } Loading @@ -749,6 +752,9 @@ public class Dialog implements DialogInterface, Window.Callback, * @see Activity#onPanelClosed(int, Menu) */ public void onPanelClosed(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR) { mActionBar.dispatchMenuVisibilityChanged(false); } } /** Loading
core/java/com/android/internal/app/ActionBarImpl.java +28 −4 Original line number Diff line number Diff line Loading @@ -70,6 +70,10 @@ public class ActionBarImpl extends ActionBar { private ActionMode mActionMode; private boolean mLastMenuVisibility; private ArrayList<OnMenuVisibilityListener> mMenuVisibilityListeners = new ArrayList<OnMenuVisibilityListener>(); private static final int CONTEXT_DISPLAY_NORMAL = 0; private static final int CONTEXT_DISPLAY_SPLIT = 1; Loading Loading @@ -120,6 +124,26 @@ public class ActionBarImpl extends ActionBar { CONTEXT_DISPLAY_NORMAL : CONTEXT_DISPLAY_SPLIT; } public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) { mMenuVisibilityListeners.add(listener); } public void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener) { mMenuVisibilityListeners.remove(listener); } public void dispatchMenuVisibilityChanged(boolean isVisible) { if (isVisible == mLastMenuVisibility) { return; } mLastMenuVisibility = isVisible; final int count = mMenuVisibilityListeners.size(); for (int i = 0; i < count; i++) { mMenuVisibilityListeners.get(i).onMenuVisibilityChanged(isVisible); } } @Override public void setTitle(int resId) { setTitle(mContext.getString(resId)); Loading @@ -138,11 +162,11 @@ public class ActionBarImpl extends ActionBar { mActionView.setCallback(null); } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback) { public void setDropdownNavigationMode(SpinnerAdapter adapter, OnNavigationListener callback) { setDropdownNavigationMode(adapter, callback, -1); } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, public void setDropdownNavigationMode(SpinnerAdapter adapter, OnNavigationListener callback, int defaultSelectedPosition) { cleanupTabs(); setDisplayOptions(0, DISPLAY_SHOW_CUSTOM | DISPLAY_SHOW_TITLE); Loading Loading @@ -516,7 +540,7 @@ public class ActionBarImpl extends ActionBar { public void onMenuModeChange(MenuBuilder menu) { invalidate(); mUpperContextView.showOverflowMenu(); mUpperContextView.openOverflowMenu(); } } Loading Loading @@ -627,7 +651,7 @@ public class ActionBarImpl extends ActionBar { } @Override public void setListNavigationCallbacks(SpinnerAdapter adapter, NavigationCallback callback) { public void setListNavigationCallbacks(SpinnerAdapter adapter, OnNavigationListener callback) { mActionView.setDropdownAdapter(adapter); mActionView.setCallback(callback); } Loading