Loading api/current.xml +37 −9 Original line number Diff line number Diff line Loading @@ -19514,6 +19514,17 @@ visibility="public" > </method> <method name="getSelectedNavigationItem" return="int" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getSubtitle" return="java.lang.CharSequence" abstract="true" Loading Loading @@ -19601,7 +19612,7 @@ <parameter name="tab" type="android.app.ActionBar.Tab"> </parameter> </method> <method name="selectTabAt" <method name="setBackgroundDrawable" return="void" abstract="true" native="false" Loading @@ -19611,10 +19622,10 @@ deprecated="not deprecated" visibility="public" > <parameter name="position" type="int"> <parameter name="d" type="android.graphics.drawable.Drawable"> </parameter> </method> <method name="setBackgroundDrawable" <method name="setCustomNavigationMode" return="void" abstract="true" native="false" Loading @@ -19624,10 +19635,10 @@ deprecated="not deprecated" visibility="public" > <parameter name="d" type="android.graphics.drawable.Drawable"> <parameter name="view" type="android.view.View"> </parameter> </method> <method name="setCustomNavigationMode" <method name="setDisplayOptions" return="void" abstract="true" native="false" Loading @@ -19637,7 +19648,7 @@ deprecated="not deprecated" visibility="public" > <parameter name="view" type="android.view.View"> <parameter name="options" type="int"> </parameter> </method> <method name="setDisplayOptions" Loading @@ -19652,8 +19663,10 @@ > <parameter name="options" type="int"> </parameter> <parameter name="mask" type="int"> </parameter> </method> <method name="setDisplayOptions" <method name="setDropdownNavigationMode" return="void" abstract="true" native="false" Loading @@ -19663,9 +19676,9 @@ deprecated="not deprecated" visibility="public" > <parameter name="options" type="int"> <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="mask" type="int"> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> </parameter> </method> <method name="setDropdownNavigationMode" Loading @@ -19682,6 +19695,21 @@ </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> </parameter> <parameter name="defaultSelectedPosition" type="int"> </parameter> </method> <method name="setSelectedNavigationItem" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="position" type="int"> </parameter> </method> <method name="setStandardNavigationMode" return="void" core/java/android/app/ActionBar.java +29 −7 Original line number Diff line number Diff line Loading @@ -92,6 +92,35 @@ public abstract class ActionBar { public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback); /** * Set the action bar into dropdown navigation mode and supply an adapter that will * provide views for navigation choices. * * @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 * selects a navigation item. * @param defaultSelectedPosition Position within the provided adapter that should be * selected from the outset. */ public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, int defaultSelectedPosition); /** * Set the selected navigation item in dropdown or tabbed navigation modes. * * @param position Position of the item to select. */ public abstract void setSelectedNavigationItem(int position); /** * Get the position of the selected navigation item in dropdown or tabbed navigation modes. * * @return Position of the selected item. */ public abstract int getSelectedNavigationItem(); /** * Set the action bar into standard navigation mode, supplying a title and subtitle. * Loading Loading @@ -288,13 +317,6 @@ public abstract class ActionBar { */ public abstract void selectTab(Tab tab); /** * Select the tab at <code>position</code> * * @param position Position of the tab to select */ public abstract void selectTabAt(int position); /** * Callback interface for ActionBar navigation events. */ Loading core/java/com/android/internal/app/ActionBarImpl.java +34 −7 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.internal.app; import com.android.internal.view.menu.MenuBuilder; import com.android.internal.view.menu.MenuItemImpl; import com.android.internal.view.menu.MenuPopupHelper; import com.android.internal.view.menu.SubMenuBuilder; import com.android.internal.widget.ActionBarContextView; Loading Loading @@ -114,10 +113,18 @@ public class ActionBarImpl extends ActionBar { } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback) { setDropdownNavigationMode(adapter, callback, -1); } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, int defaultSelectedPosition) { cleanupTabs(); mActionView.setCallback(callback); mActionView.setNavigationMode(NAVIGATION_MODE_DROPDOWN_LIST); mActionView.setDropdownAdapter(adapter); if (defaultSelectedPosition >= 0) { mActionView.setDropdownSelectedPosition(defaultSelectedPosition); } mActionView.setCallback(callback); } public void setStandardNavigationMode() { Loading @@ -139,6 +146,31 @@ public class ActionBarImpl extends ActionBar { mActionView.setCallback(null); } public void setSelectedNavigationItem(int position) { switch (mActionView.getNavigationMode()) { case NAVIGATION_MODE_TABS: selectTab(mTabs.get(position)); break; case NAVIGATION_MODE_DROPDOWN_LIST: mActionView.setDropdownSelectedPosition(position); break; default: throw new IllegalStateException( "setSelectedNavigationItem not valid for current navigation mode"); } } public int getSelectedNavigationItem() { switch (mActionView.getNavigationMode()) { case NAVIGATION_MODE_TABS: return mSelectedTab.getPosition(); case NAVIGATION_MODE_DROPDOWN_LIST: return mActionView.getDropdownSelectedPosition(); default: return -1; } } private void cleanupTabs() { if (mSelectedTab != null) { selectTab(null); Loading Loading @@ -330,11 +362,6 @@ public class ActionBarImpl extends ActionBar { trans.commit(); } @Override public void selectTabAt(int position) { selectTab(mTabs.get(position)); } /** * @hide */ Loading core/java/com/android/internal/widget/ActionBarView.java +9 −1 Original line number Diff line number Diff line Loading @@ -344,6 +344,14 @@ public class ActionBarView extends ViewGroup { mSpinner.setAdapter(adapter); } public void setDropdownSelectedPosition(int position) { mSpinner.setSelection(position); } public int getDropdownSelectedPosition() { return mSpinner.getSelectedItemPosition(); } public View getCustomNavigationView() { return mCustomNavView; } Loading Loading
api/current.xml +37 −9 Original line number Diff line number Diff line Loading @@ -19514,6 +19514,17 @@ visibility="public" > </method> <method name="getSelectedNavigationItem" return="int" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getSubtitle" return="java.lang.CharSequence" abstract="true" Loading Loading @@ -19601,7 +19612,7 @@ <parameter name="tab" type="android.app.ActionBar.Tab"> </parameter> </method> <method name="selectTabAt" <method name="setBackgroundDrawable" return="void" abstract="true" native="false" Loading @@ -19611,10 +19622,10 @@ deprecated="not deprecated" visibility="public" > <parameter name="position" type="int"> <parameter name="d" type="android.graphics.drawable.Drawable"> </parameter> </method> <method name="setBackgroundDrawable" <method name="setCustomNavigationMode" return="void" abstract="true" native="false" Loading @@ -19624,10 +19635,10 @@ deprecated="not deprecated" visibility="public" > <parameter name="d" type="android.graphics.drawable.Drawable"> <parameter name="view" type="android.view.View"> </parameter> </method> <method name="setCustomNavigationMode" <method name="setDisplayOptions" return="void" abstract="true" native="false" Loading @@ -19637,7 +19648,7 @@ deprecated="not deprecated" visibility="public" > <parameter name="view" type="android.view.View"> <parameter name="options" type="int"> </parameter> </method> <method name="setDisplayOptions" Loading @@ -19652,8 +19663,10 @@ > <parameter name="options" type="int"> </parameter> <parameter name="mask" type="int"> </parameter> </method> <method name="setDisplayOptions" <method name="setDropdownNavigationMode" return="void" abstract="true" native="false" Loading @@ -19663,9 +19676,9 @@ deprecated="not deprecated" visibility="public" > <parameter name="options" type="int"> <parameter name="adapter" type="android.widget.SpinnerAdapter"> </parameter> <parameter name="mask" type="int"> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> </parameter> </method> <method name="setDropdownNavigationMode" Loading @@ -19682,6 +19695,21 @@ </parameter> <parameter name="callback" type="android.app.ActionBar.NavigationCallback"> </parameter> <parameter name="defaultSelectedPosition" type="int"> </parameter> </method> <method name="setSelectedNavigationItem" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="position" type="int"> </parameter> </method> <method name="setStandardNavigationMode" return="void"
core/java/android/app/ActionBar.java +29 −7 Original line number Diff line number Diff line Loading @@ -92,6 +92,35 @@ public abstract class ActionBar { public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback); /** * Set the action bar into dropdown navigation mode and supply an adapter that will * provide views for navigation choices. * * @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 * selects a navigation item. * @param defaultSelectedPosition Position within the provided adapter that should be * selected from the outset. */ public abstract void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, int defaultSelectedPosition); /** * Set the selected navigation item in dropdown or tabbed navigation modes. * * @param position Position of the item to select. */ public abstract void setSelectedNavigationItem(int position); /** * Get the position of the selected navigation item in dropdown or tabbed navigation modes. * * @return Position of the selected item. */ public abstract int getSelectedNavigationItem(); /** * Set the action bar into standard navigation mode, supplying a title and subtitle. * Loading Loading @@ -288,13 +317,6 @@ public abstract class ActionBar { */ public abstract void selectTab(Tab tab); /** * Select the tab at <code>position</code> * * @param position Position of the tab to select */ public abstract void selectTabAt(int position); /** * Callback interface for ActionBar navigation events. */ Loading
core/java/com/android/internal/app/ActionBarImpl.java +34 −7 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.internal.app; import com.android.internal.view.menu.MenuBuilder; import com.android.internal.view.menu.MenuItemImpl; import com.android.internal.view.menu.MenuPopupHelper; import com.android.internal.view.menu.SubMenuBuilder; import com.android.internal.widget.ActionBarContextView; Loading Loading @@ -114,10 +113,18 @@ public class ActionBarImpl extends ActionBar { } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback) { setDropdownNavigationMode(adapter, callback, -1); } public void setDropdownNavigationMode(SpinnerAdapter adapter, NavigationCallback callback, int defaultSelectedPosition) { cleanupTabs(); mActionView.setCallback(callback); mActionView.setNavigationMode(NAVIGATION_MODE_DROPDOWN_LIST); mActionView.setDropdownAdapter(adapter); if (defaultSelectedPosition >= 0) { mActionView.setDropdownSelectedPosition(defaultSelectedPosition); } mActionView.setCallback(callback); } public void setStandardNavigationMode() { Loading @@ -139,6 +146,31 @@ public class ActionBarImpl extends ActionBar { mActionView.setCallback(null); } public void setSelectedNavigationItem(int position) { switch (mActionView.getNavigationMode()) { case NAVIGATION_MODE_TABS: selectTab(mTabs.get(position)); break; case NAVIGATION_MODE_DROPDOWN_LIST: mActionView.setDropdownSelectedPosition(position); break; default: throw new IllegalStateException( "setSelectedNavigationItem not valid for current navigation mode"); } } public int getSelectedNavigationItem() { switch (mActionView.getNavigationMode()) { case NAVIGATION_MODE_TABS: return mSelectedTab.getPosition(); case NAVIGATION_MODE_DROPDOWN_LIST: return mActionView.getDropdownSelectedPosition(); default: return -1; } } private void cleanupTabs() { if (mSelectedTab != null) { selectTab(null); Loading Loading @@ -330,11 +362,6 @@ public class ActionBarImpl extends ActionBar { trans.commit(); } @Override public void selectTabAt(int position) { selectTab(mTabs.get(position)); } /** * @hide */ Loading
core/java/com/android/internal/widget/ActionBarView.java +9 −1 Original line number Diff line number Diff line Loading @@ -344,6 +344,14 @@ public class ActionBarView extends ViewGroup { mSpinner.setAdapter(adapter); } public void setDropdownSelectedPosition(int position) { mSpinner.setSelection(position); } public int getDropdownSelectedPosition() { return mSpinner.getSelectedItemPosition(); } public View getCustomNavigationView() { return mCustomNavView; } Loading