diff --git a/api/current.txt b/api/current.txt index ec35e21690030..43128eefeb640 100644 --- a/api/current.txt +++ b/api/current.txt @@ -97,6 +97,7 @@ package android { field public static final java.lang.String RECORD_AUDIO = "android.permission.RECORD_AUDIO"; field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS"; field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES"; + field public static final java.lang.String ROUTE_MEDIA_OUTPUT = "android.permission.ROUTE_MEDIA_OUTPUT"; field public static final java.lang.String SEND_SMS = "android.permission.SEND_SMS"; field public static final java.lang.String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER"; field public static final java.lang.String SET_ALARM = "com.android.alarm.permission.SET_ALARM"; @@ -11486,6 +11487,71 @@ package android.media { field public static final int DEFAULT = 0; // 0x0 } + public class MediaRouter { + method public void addCallback(int, android.media.MediaRouter.Callback); + method public void addUserRoute(android.media.MediaRouter.UserRouteInfo); + method public android.media.MediaRouter.RouteCategory createRouteCategory(java.lang.CharSequence, boolean); + method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory); + method public static android.media.MediaRouter forApplication(android.content.Context); + method public android.media.MediaRouter.RouteCategory getCategoryAt(int); + method public int getCategoryCount(); + method public android.media.MediaRouter.RouteInfo getRouteAt(int); + method public int getRouteCount(); + method public void removeCallback(android.media.MediaRouter.Callback); + method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo); + method public void selectRoute(int, android.media.MediaRouter.RouteInfo); + method public void setRouteVolume(int, float); + field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1 + field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000 + } + + public static abstract interface MediaRouter.Callback { + method public abstract void onRouteAdded(int, android.media.MediaRouter.RouteInfo); + method public abstract void onRouteChanged(android.media.MediaRouter.RouteInfo); + method public abstract void onRouteRemoved(int, android.media.MediaRouter.RouteInfo); + method public abstract void onRouteSelected(int, android.media.MediaRouter.RouteInfo); + method public abstract void onRouteUnselected(int, android.media.MediaRouter.RouteInfo); + method public abstract void onVolumeChanged(int, float); + } + + public class MediaRouter.RouteCategory { + method public java.lang.CharSequence getName(); + method public android.media.MediaRouter.RouteInfo getRouteAt(int); + method public int getRouteCount(); + method public int getSupportedTypes(); + method public boolean isGroupable(); + } + + public class MediaRouter.RouteGroup extends android.media.MediaRouter.RouteInfo { + method public void addRoute(android.media.MediaRouter.RouteInfo); + method public void addRoute(android.media.MediaRouter.RouteInfo, int); + method public void removeRoute(android.media.MediaRouter.RouteInfo); + method public void removeRoute(int); + } + + public class MediaRouter.RouteInfo { + method public android.media.MediaRouter.RouteCategory getCategory(); + method public android.media.MediaRouter.RouteGroup getGroup(); + method public java.lang.CharSequence getName(); + method public java.lang.CharSequence getStatus(); + method public int getSupportedTypes(); + } + + public static class MediaRouter.SimpleCallback implements android.media.MediaRouter.Callback { + ctor public MediaRouter.SimpleCallback(); + method public void onRouteAdded(int, android.media.MediaRouter.RouteInfo); + method public void onRouteChanged(android.media.MediaRouter.RouteInfo); + method public void onRouteRemoved(int, android.media.MediaRouter.RouteInfo); + method public void onRouteSelected(int, android.media.MediaRouter.RouteInfo); + method public void onRouteUnselected(int, android.media.MediaRouter.RouteInfo); + method public void onVolumeChanged(int, float); + } + + public class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo { + method public void setName(java.lang.CharSequence); + method public void setStatus(java.lang.CharSequence); + } + public class MediaScannerConnection implements android.content.ServiceConnection { ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient); method public void connect(); diff --git a/core/java/android/view/ActionProvider.java b/core/java/android/view/ActionProvider.java index ed976ab1d6b69..9150d19e57e88 100644 --- a/core/java/android/view/ActionProvider.java +++ b/core/java/android/view/ActionProvider.java @@ -19,28 +19,25 @@ package android.view; import android.content.Context; /** - * This class is a mediator for accomplishing a given task, for example sharing a file. - * It is responsible for creating a view that performs an action that accomplishes the task. - * This class also implements other functions such a performing a default action. - *

- * An ActionProvider can be optionally specified for a {@link MenuItem} and in such a - * case it will be responsible for creating the action view that appears in the - * {@link android.app.ActionBar} as a substitute for the menu item when the item is - * displayed as an action item. Also the provider is responsible for performing a - * default action if a menu item placed on the overflow menu of the ActionBar is - * selected and none of the menu item callbacks has handled the selection. For this - * case the provider can also optionally provide a sub-menu for accomplishing the - * task at hand. - *

- *

- * There are two ways for using an action provider for creating and handling of action views: + * An ActionProvider defines rich menu interaction in a single component. + * ActionProvider can generate action views for use in the action bar, + * dynamically populate submenus of a MenuItem, and handle default menu + * item invocations. + * + *

An ActionProvider can be optionally specified for a {@link MenuItem} and will be + * responsible for creating the action view that appears in the {@link android.app.ActionBar} + * in place of a simple button in the bar. When the menu item is presented in a way that + * does not allow custom action views, (e.g. in an overflow menu,) the ActionProvider + * can perform a default action.

+ * + *

There are two ways to use an action provider: *