summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2014-03-17 17:44:59 -0700
committerAdam Powell <adamp@google.com>2014-04-04 10:08:17 -0700
commitfc35dfd513677ca01e8d4950ff9faa4ed19e65fe (patch)
tree0b211da7905d948031d5611c8ac9f50651c365ec
parent2d65aad4fb2c8eb0dac18250b1fe016af014ad9b (diff)
downloadframeworks_base-fc35dfd513677ca01e8d4950ff9faa4ed19e65fe.zip
frameworks_base-fc35dfd513677ca01e8d4950ff9faa4ed19e65fe.tar.gz
frameworks_base-fc35dfd513677ca01e8d4950ff9faa4ed19e65fe.tar.bz2
Deprecate ActionBar navigation modes
Navigation modes were a great shortcut for patterns that are no longer recommended or that don't integrate as nicely with application content. Apps have done a great job both inventing new navigation patterns that work well in their own contexts or following patterns that can be implemented inline with an app's content. Navigation modes as a prescriptive construct are no longer needed. Be free, apps! Change-Id: I9ae1c2efc830c7dcb6664061bba68b1748928ae3
-rw-r--r--api/current.txt48
-rw-r--r--core/java/android/app/ActionBar.java120
2 files changed, 144 insertions, 24 deletions
diff --git a/api/current.txt b/api/current.txt
index 852312b..73cf152 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -3017,30 +3017,30 @@ package android.app {
public abstract class ActionBar {
ctor public ActionBar();
method public abstract void addOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
- method public abstract void addTab(android.app.ActionBar.Tab);
- method public abstract void addTab(android.app.ActionBar.Tab, boolean);
- method public abstract void addTab(android.app.ActionBar.Tab, int);
- method public abstract void addTab(android.app.ActionBar.Tab, int, boolean);
+ method public abstract deprecated void addTab(android.app.ActionBar.Tab);
+ method public abstract deprecated void addTab(android.app.ActionBar.Tab, boolean);
+ method public abstract deprecated void addTab(android.app.ActionBar.Tab, int);
+ method public abstract deprecated void addTab(android.app.ActionBar.Tab, int, boolean);
method public abstract android.view.View getCustomView();
method public abstract int getDisplayOptions();
method public abstract int getHeight();
- method public abstract int getNavigationItemCount();
- method public abstract int getNavigationMode();
- method public abstract int getSelectedNavigationIndex();
- method public abstract android.app.ActionBar.Tab getSelectedTab();
+ method public abstract deprecated int getNavigationItemCount();
+ method public abstract deprecated int getNavigationMode();
+ method public abstract deprecated int getSelectedNavigationIndex();
+ method public abstract deprecated android.app.ActionBar.Tab getSelectedTab();
method public abstract java.lang.CharSequence getSubtitle();
- method public abstract android.app.ActionBar.Tab getTabAt(int);
- method public abstract int getTabCount();
+ method public abstract deprecated android.app.ActionBar.Tab getTabAt(int);
+ method public abstract deprecated int getTabCount();
method public android.content.Context getThemedContext();
method public abstract java.lang.CharSequence getTitle();
method public abstract void hide();
method public abstract boolean isShowing();
- method public abstract android.app.ActionBar.Tab newTab();
- method public abstract void removeAllTabs();
+ method public abstract deprecated android.app.ActionBar.Tab newTab();
+ method public abstract deprecated void removeAllTabs();
method public abstract void removeOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
- method public abstract void removeTab(android.app.ActionBar.Tab);
- method public abstract void removeTabAt(int);
- method public abstract void selectTab(android.app.ActionBar.Tab);
+ method public abstract deprecated void removeTab(android.app.ActionBar.Tab);
+ method public abstract deprecated void removeTabAt(int);
+ method public abstract deprecated void selectTab(android.app.ActionBar.Tab);
method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
method public abstract void setCustomView(android.view.View);
method public abstract void setCustomView(android.view.View, android.app.ActionBar.LayoutParams);
@@ -3059,11 +3059,11 @@ package android.app {
method public void setHomeButtonEnabled(boolean);
method public abstract void setIcon(int);
method public abstract void setIcon(android.graphics.drawable.Drawable);
- method public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener);
+ method public abstract deprecated void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener);
method public abstract void setLogo(int);
method public abstract void setLogo(android.graphics.drawable.Drawable);
- method public abstract void setNavigationMode(int);
- method public abstract void setSelectedNavigationItem(int);
+ method public abstract deprecated void setNavigationMode(int);
+ method public abstract deprecated void setSelectedNavigationItem(int);
method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable);
method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable);
method public abstract void setSubtitle(java.lang.CharSequence);
@@ -3076,9 +3076,9 @@ package android.app {
field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
field public static final int DISPLAY_USE_LOGO = 1; // 0x1
- field public static final int NAVIGATION_MODE_LIST = 1; // 0x1
- field public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
- field public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+ field public static final deprecated int NAVIGATION_MODE_LIST = 1; // 0x1
+ field public static final deprecated int NAVIGATION_MODE_STANDARD = 0; // 0x0
+ field public static final deprecated int NAVIGATION_MODE_TABS = 2; // 0x2
}
public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
@@ -3095,11 +3095,11 @@ package android.app {
method public abstract void onMenuVisibilityChanged(boolean);
}
- public static abstract interface ActionBar.OnNavigationListener {
+ public static abstract deprecated interface ActionBar.OnNavigationListener {
method public abstract boolean onNavigationItemSelected(int, long);
}
- public static abstract class ActionBar.Tab {
+ public static abstract deprecated class ActionBar.Tab {
ctor public ActionBar.Tab();
method public abstract java.lang.CharSequence getContentDescription();
method public abstract android.view.View getCustomView();
@@ -3121,7 +3121,7 @@ package android.app {
field public static final int INVALID_POSITION = -1; // 0xffffffff
}
- public static abstract interface ActionBar.TabListener {
+ public static abstract deprecated interface ActionBar.TabListener {
method public abstract void onTabReselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
method public abstract void onTabSelected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
method public abstract void onTabUnselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index fbe8987..29c1c56 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -73,6 +73,11 @@ public abstract class ActionBar {
* and title text with an optional subtitle. Clicking any of these elements
* will dispatch onOptionsItemSelected to the host Activity with
* a MenuItem with item ID android.R.id.home.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public static final int NAVIGATION_MODE_STANDARD = 0;
@@ -80,12 +85,22 @@ public abstract class ActionBar {
* List navigation mode. Instead of static title text this mode
* presents a list menu for navigation within the activity.
* e.g. this might be presented to the user as a dropdown list.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public static final int NAVIGATION_MODE_LIST = 1;
/**
* Tab navigation mode. Instead of static title text this mode
* presents a series of tabs for navigation within the activity.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public static final int NAVIGATION_MODE_TABS = 2;
@@ -288,6 +303,11 @@ public abstract class ActionBar {
* within the dropdown navigation menu.
* @param callback An OnNavigationListener that will receive events when the user
* selects a navigation item.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void setListNavigationCallbacks(SpinnerAdapter adapter,
OnNavigationListener callback);
@@ -296,6 +316,11 @@ public abstract class ActionBar {
* Set the selected navigation item in list or tabbed navigation modes.
*
* @param position Position of the item to select.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void setSelectedNavigationItem(int position);
@@ -303,6 +328,11 @@ public abstract class ActionBar {
* Get the position of the selected navigation item in list or tabbed navigation modes.
*
* @return Position of the selected item.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract int getSelectedNavigationIndex();
@@ -310,6 +340,11 @@ public abstract class ActionBar {
* Get the number of navigation items present in the current navigation mode.
*
* @return Number of navigation items.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract int getNavigationItemCount();
@@ -507,6 +542,11 @@ public abstract class ActionBar {
* </ul>
*
* @return The current navigation mode.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
@NavigationMode
public abstract int getNavigationMode();
@@ -518,6 +558,11 @@ public abstract class ActionBar {
* @see #NAVIGATION_MODE_STANDARD
* @see #NAVIGATION_MODE_LIST
* @see #NAVIGATION_MODE_TABS
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void setNavigationMode(@NavigationMode int mode);
@@ -539,6 +584,11 @@ public abstract class ActionBar {
* @return A new Tab
*
* @see #addTab(Tab)
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract Tab newTab();
@@ -547,6 +597,11 @@ public abstract class ActionBar {
* If this is the first tab to be added it will become the selected tab.
*
* @param tab Tab to add
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void addTab(Tab tab);
@@ -555,6 +610,11 @@ public abstract class ActionBar {
*
* @param tab Tab to add
* @param setSelected True if the added tab should become the selected tab.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void addTab(Tab tab, boolean setSelected);
@@ -565,6 +625,11 @@ public abstract class ActionBar {
*
* @param tab The tab to add
* @param position The new position of the tab
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void addTab(Tab tab, int position);
@@ -575,6 +640,11 @@ public abstract class ActionBar {
* @param tab The tab to add
* @param position The new position of the tab
* @param setSelected True if the added tab should become the selected tab.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void addTab(Tab tab, int position, boolean setSelected);
@@ -583,6 +653,11 @@ public abstract class ActionBar {
* and another tab will be selected if present.
*
* @param tab The tab to remove
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void removeTab(Tab tab);
@@ -591,11 +666,21 @@ public abstract class ActionBar {
* and another tab will be selected if present.
*
* @param position Position of the tab to remove
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void removeTabAt(int position);
/**
* Remove all tabs from the action bar and deselect the current tab.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void removeAllTabs();
@@ -605,6 +690,11 @@ public abstract class ActionBar {
* <p>Note: If you want to select by index, use {@link #setSelectedNavigationItem(int)}.</p>
*
* @param tab Tab to select
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract void selectTab(Tab tab);
@@ -613,6 +703,11 @@ public abstract class ActionBar {
* one tab present.
*
* @return The currently selected tab or null
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract Tab getSelectedTab();
@@ -621,12 +716,22 @@ public abstract class ActionBar {
*
* @param index Index value in the range 0-get
* @return
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract Tab getTabAt(int index);
/**
* Returns the number of tabs currently registered with the action bar.
* @return Tab count
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public abstract int getTabCount();
@@ -801,6 +906,11 @@ public abstract class ActionBar {
/**
* Listener interface for ActionBar navigation events.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public interface OnNavigationListener {
/**
@@ -833,6 +943,11 @@ public abstract class ActionBar {
* A tab in the action bar.
*
* <p>Tabs manage the hiding and showing of {@link Fragment}s.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public static abstract class Tab {
/**
@@ -984,6 +1099,11 @@ public abstract class ActionBar {
/**
* Callback interface invoked when a tab is focused, unfocused, added, or removed.
+ *
+ * @deprecated Action bar navigation modes are deprecated and not supported by inline
+ * toolbar action bars. Consider using other
+ * <a href="http://developer.android.com/design/patterns/navigation.html">common
+ * navigation patterns</a> instead.
*/
public interface TabListener {
/**