blob: 67e5f2014c94cf2c62c38837c356b1326a8e2a59 [file] [log] [blame]
// Signature format: 3.0
package androidx.mediarouter.app {
public class MediaRouteActionProvider extends androidx.core.view.ActionProvider {
ctor public MediaRouteActionProvider(android.content.Context!);
method public void enableDynamicGroup();
method public androidx.mediarouter.app.MediaRouteDialogFactory getDialogFactory();
method public androidx.mediarouter.app.MediaRouteButton? getMediaRouteButton();
method public androidx.mediarouter.media.MediaRouteSelector getRouteSelector();
method public android.view.View! onCreateActionView();
method public androidx.mediarouter.app.MediaRouteButton! onCreateMediaRouteButton();
method public void setAlwaysVisible(boolean);
method public void setDialogFactory(androidx.mediarouter.app.MediaRouteDialogFactory);
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector);
}
public class MediaRouteButton extends android.view.View {
ctor public MediaRouteButton(android.content.Context!);
ctor public MediaRouteButton(android.content.Context!, android.util.AttributeSet!);
ctor public MediaRouteButton(android.content.Context!, android.util.AttributeSet!, int);
method public void enableDynamicGroup();
method public androidx.mediarouter.app.MediaRouteDialogFactory getDialogFactory();
method public androidx.mediarouter.media.MediaRouteSelector getRouteSelector();
method public void onAttachedToWindow();
method public void onDetachedFromWindow();
method public void setAlwaysVisible(boolean);
method public void setDialogFactory(androidx.mediarouter.app.MediaRouteDialogFactory);
method public void setRemoteIndicatorDrawable(android.graphics.drawable.Drawable!);
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector!);
method public boolean showDialog();
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MediaRouteCastDialog extends androidx.appcompat.app.AppCompatDialog {
ctor public MediaRouteCastDialog(android.content.Context!);
ctor public MediaRouteCastDialog(android.content.Context!, int);
method public android.support.v4.media.session.MediaSessionCompat.Token! getMediaSession();
method public androidx.mediarouter.media.MediaRouteSelector getRouteSelector();
method public boolean onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo);
method public void onFilterRoutes(java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo!>);
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector);
}
public class MediaRouteChooserDialog extends androidx.appcompat.app.AppCompatDialog {
ctor public MediaRouteChooserDialog(android.content.Context!);
ctor public MediaRouteChooserDialog(android.content.Context!, int);
method public androidx.mediarouter.media.MediaRouteSelector getRouteSelector();
method public boolean onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo);
method public void onFilterRoutes(java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo!>);
method public void refreshRoutes();
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector);
}
public class MediaRouteChooserDialogFragment extends androidx.fragment.app.DialogFragment {
ctor public MediaRouteChooserDialogFragment();
method public androidx.mediarouter.media.MediaRouteSelector! getRouteSelector();
method public androidx.mediarouter.app.MediaRouteChooserDialog! onCreateChooserDialog(android.content.Context!, android.os.Bundle!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.app.MediaRouteDevicePickerDialog! onCreateDevicePickerDialog(android.content.Context!);
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector!);
}
public class MediaRouteControllerDialog extends androidx.appcompat.app.AlertDialog {
ctor public MediaRouteControllerDialog(android.content.Context!);
ctor public MediaRouteControllerDialog(android.content.Context!, int);
method public android.view.View! getMediaControlView();
method public android.support.v4.media.session.MediaSessionCompat.Token! getMediaSession();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getRoute();
method public boolean isVolumeControlEnabled();
method public android.view.View! onCreateMediaControlView(android.os.Bundle!);
method public void setVolumeControlEnabled(boolean);
}
public class MediaRouteControllerDialogFragment extends androidx.fragment.app.DialogFragment {
ctor public MediaRouteControllerDialogFragment();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteSelector! getRouteSelector();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.app.MediaRouteCastDialog! onCreateCastDialog(android.content.Context!);
method public androidx.mediarouter.app.MediaRouteControllerDialog! onCreateControllerDialog(android.content.Context!, android.os.Bundle!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector!);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MediaRouteDevicePickerDialog extends androidx.appcompat.app.AppCompatDialog {
ctor public MediaRouteDevicePickerDialog(android.content.Context!);
ctor public MediaRouteDevicePickerDialog(android.content.Context!, int);
method public androidx.mediarouter.media.MediaRouteSelector getRouteSelector();
method public boolean onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo);
method public void onFilterRoutes(java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo!>);
method public void refreshRoutes();
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector);
}
public class MediaRouteDialogFactory {
ctor public MediaRouteDialogFactory();
method public static androidx.mediarouter.app.MediaRouteDialogFactory getDefault();
method public androidx.mediarouter.app.MediaRouteChooserDialogFragment onCreateChooserDialogFragment();
method public androidx.mediarouter.app.MediaRouteControllerDialogFragment onCreateControllerDialogFragment();
}
public class MediaRouteDiscoveryFragment extends androidx.fragment.app.Fragment {
ctor public MediaRouteDiscoveryFragment();
method public androidx.mediarouter.media.MediaRouter! getMediaRouter();
method public androidx.mediarouter.media.MediaRouteSelector! getRouteSelector();
method public androidx.mediarouter.media.MediaRouter.Callback! onCreateCallback();
method public int onPrepareCallbackFlags();
method public void setRouteSelector(androidx.mediarouter.media.MediaRouteSelector!);
}
}
package androidx.mediarouter.media {
public final class MediaControlIntent {
field public static final String ACTION_END_SESSION = "android.media.intent.action.END_SESSION";
field public static final String ACTION_ENQUEUE = "android.media.intent.action.ENQUEUE";
field public static final String ACTION_GET_SESSION_STATUS = "android.media.intent.action.GET_SESSION_STATUS";
field public static final String ACTION_GET_STATUS = "android.media.intent.action.GET_STATUS";
field public static final String ACTION_PAUSE = "android.media.intent.action.PAUSE";
field public static final String ACTION_PLAY = "android.media.intent.action.PLAY";
field public static final String ACTION_REMOVE = "android.media.intent.action.REMOVE";
field public static final String ACTION_RESUME = "android.media.intent.action.RESUME";
field public static final String ACTION_SEEK = "android.media.intent.action.SEEK";
field public static final String ACTION_SEND_MESSAGE = "android.media.intent.action.SEND_MESSAGE";
field public static final String ACTION_START_SESSION = "android.media.intent.action.START_SESSION";
field public static final String ACTION_STOP = "android.media.intent.action.STOP";
field public static final String CATEGORY_LIVE_AUDIO = "android.media.intent.category.LIVE_AUDIO";
field public static final String CATEGORY_LIVE_VIDEO = "android.media.intent.category.LIVE_VIDEO";
field public static final String CATEGORY_REMOTE_PLAYBACK = "android.media.intent.category.REMOTE_PLAYBACK";
field public static final int ERROR_INVALID_ITEM_ID = 3; // 0x3
field public static final int ERROR_INVALID_SESSION_ID = 2; // 0x2
field public static final int ERROR_UNKNOWN = 0; // 0x0
field public static final int ERROR_UNSUPPORTED_OPERATION = 1; // 0x1
field public static final String EXTRA_ERROR_CODE = "android.media.intent.extra.ERROR_CODE";
field public static final String EXTRA_ITEM_CONTENT_POSITION = "android.media.intent.extra.ITEM_POSITION";
field public static final String EXTRA_ITEM_HTTP_HEADERS = "android.media.intent.extra.HTTP_HEADERS";
field public static final String EXTRA_ITEM_ID = "android.media.intent.extra.ITEM_ID";
field public static final String EXTRA_ITEM_METADATA = "android.media.intent.extra.ITEM_METADATA";
field public static final String EXTRA_ITEM_STATUS = "android.media.intent.extra.ITEM_STATUS";
field public static final String EXTRA_ITEM_STATUS_UPDATE_RECEIVER = "android.media.intent.extra.ITEM_STATUS_UPDATE_RECEIVER";
field public static final String EXTRA_MESSAGE = "android.media.intent.extra.MESSAGE";
field public static final String EXTRA_MESSAGE_RECEIVER = "android.media.intent.extra.MESSAGE_RECEIVER";
field public static final String EXTRA_SESSION_ID = "android.media.intent.extra.SESSION_ID";
field public static final String EXTRA_SESSION_STATUS = "android.media.intent.extra.SESSION_STATUS";
field public static final String EXTRA_SESSION_STATUS_UPDATE_RECEIVER = "android.media.intent.extra.SESSION_STATUS_UPDATE_RECEIVER";
}
public final class MediaItemMetadata {
field public static final String KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
field public static final String KEY_ALBUM_TITLE = "android.media.metadata.ALBUM_TITLE";
field public static final String KEY_ARTIST = "android.media.metadata.ARTIST";
field public static final String KEY_ARTWORK_URI = "android.media.metadata.ARTWORK_URI";
field public static final String KEY_AUTHOR = "android.media.metadata.AUTHOR";
field public static final String KEY_COMPOSER = "android.media.metadata.COMPOSER";
field public static final String KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
field public static final String KEY_DURATION = "android.media.metadata.DURATION";
field public static final String KEY_TITLE = "android.media.metadata.TITLE";
field public static final String KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
field public static final String KEY_YEAR = "android.media.metadata.YEAR";
}
public final class MediaItemStatus {
method public android.os.Bundle! asBundle();
method public static androidx.mediarouter.media.MediaItemStatus! fromBundle(android.os.Bundle!);
method public long getContentDuration();
method public long getContentPosition();
method public android.os.Bundle! getExtras();
method public int getPlaybackState();
method public long getTimestamp();
field public static final String EXTRA_HTTP_RESPONSE_HEADERS = "android.media.status.extra.HTTP_RESPONSE_HEADERS";
field public static final String EXTRA_HTTP_STATUS_CODE = "android.media.status.extra.HTTP_STATUS_CODE";
field public static final int PLAYBACK_STATE_BUFFERING = 3; // 0x3
field public static final int PLAYBACK_STATE_CANCELED = 5; // 0x5
field public static final int PLAYBACK_STATE_ERROR = 7; // 0x7
field public static final int PLAYBACK_STATE_FINISHED = 4; // 0x4
field public static final int PLAYBACK_STATE_INVALIDATED = 6; // 0x6
field public static final int PLAYBACK_STATE_PAUSED = 2; // 0x2
field public static final int PLAYBACK_STATE_PENDING = 0; // 0x0
field public static final int PLAYBACK_STATE_PLAYING = 1; // 0x1
}
public static final class MediaItemStatus.Builder {
ctor public MediaItemStatus.Builder(int);
ctor public MediaItemStatus.Builder(androidx.mediarouter.media.MediaItemStatus!);
method public androidx.mediarouter.media.MediaItemStatus! build();
method public androidx.mediarouter.media.MediaItemStatus.Builder! setContentDuration(long);
method public androidx.mediarouter.media.MediaItemStatus.Builder! setContentPosition(long);
method public androidx.mediarouter.media.MediaItemStatus.Builder! setExtras(android.os.Bundle!);
method public androidx.mediarouter.media.MediaItemStatus.Builder! setPlaybackState(int);
method public androidx.mediarouter.media.MediaItemStatus.Builder! setTimestamp(long);
}
public final class MediaRouteDescriptor {
method public android.os.Bundle! asBundle();
method public boolean canDisconnectAndKeepPlaying();
method public static androidx.mediarouter.media.MediaRouteDescriptor! fromBundle(android.os.Bundle!);
method public int getConnectionState();
method public java.util.List<android.content.IntentFilter!>! getControlFilters();
method public String! getDescription();
method public int getDeviceType();
method public android.os.Bundle! getExtras();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.List<java.lang.String!>! getGroupMemberIds();
method public android.net.Uri! getIconUri();
method public String! getId();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getMaxClientVersion();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getMinClientVersion();
method public String! getName();
method public int getPlaybackStream();
method public int getPlaybackType();
method public int getPresentationDisplayId();
method public android.content.IntentSender! getSettingsActivity();
method public int getVolume();
method public int getVolumeHandling();
method public int getVolumeMax();
method @Deprecated public boolean isConnecting();
method public boolean isDynamicGroupRoute();
method public boolean isEnabled();
method public boolean isValid();
}
public static final class MediaRouteDescriptor.Builder {
ctor public MediaRouteDescriptor.Builder(String!, String!);
ctor public MediaRouteDescriptor.Builder(androidx.mediarouter.media.MediaRouteDescriptor!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! addControlFilter(android.content.IntentFilter!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! addControlFilters(java.util.Collection<android.content.IntentFilter!>!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteDescriptor.Builder! addGroupMemberId(String!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteDescriptor.Builder! addGroupMemberIds(java.util.Collection<java.lang.String!>!);
method public androidx.mediarouter.media.MediaRouteDescriptor! build();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteDescriptor.Builder! removeGroupMemberId(String!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setCanDisconnect(boolean);
method @Deprecated public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setConnecting(boolean);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setConnectionState(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setDescription(String!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setDeviceType(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setEnabled(boolean);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setExtras(android.os.Bundle!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setIconUri(android.net.Uri!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setId(String!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setIsDynamicGroupRoute(boolean);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setMaxClientVersion(int);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setMinClientVersion(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setName(String!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setPlaybackStream(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setPlaybackType(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setPresentationDisplayId(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setSettingsActivity(android.content.IntentSender!);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setVolume(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setVolumeHandling(int);
method public androidx.mediarouter.media.MediaRouteDescriptor.Builder! setVolumeMax(int);
}
public final class MediaRouteDiscoveryRequest {
ctor public MediaRouteDiscoveryRequest(androidx.mediarouter.media.MediaRouteSelector!, boolean);
method public android.os.Bundle! asBundle();
method public static androidx.mediarouter.media.MediaRouteDiscoveryRequest! fromBundle(android.os.Bundle!);
method public androidx.mediarouter.media.MediaRouteSelector! getSelector();
method public boolean isActiveScan();
method public boolean isValid();
}
public abstract class MediaRouteProvider {
ctor public MediaRouteProvider(android.content.Context);
method public final android.content.Context! getContext();
method public final androidx.mediarouter.media.MediaRouteProviderDescriptor? getDescriptor();
method public final androidx.mediarouter.media.MediaRouteDiscoveryRequest? getDiscoveryRequest();
method public final android.os.Handler! getHandler();
method public final androidx.mediarouter.media.MediaRouteProvider.ProviderMetadata! getMetadata();
method public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController? onCreateDynamicGroupRouteController(String);
method public androidx.mediarouter.media.MediaRouteProvider.RouteController? onCreateRouteController(String);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteProvider.RouteController? onCreateRouteController(String, String);
method public void onDiscoveryRequestChanged(androidx.mediarouter.media.MediaRouteDiscoveryRequest?);
method public final void setCallback(androidx.mediarouter.media.MediaRouteProvider.Callback?);
method public final void setDescriptor(androidx.mediarouter.media.MediaRouteProviderDescriptor?);
method public final void setDiscoveryRequest(androidx.mediarouter.media.MediaRouteDiscoveryRequest!);
}
public abstract static class MediaRouteProvider.Callback {
ctor public MediaRouteProvider.Callback();
method public void onDescriptorChanged(androidx.mediarouter.media.MediaRouteProvider, androidx.mediarouter.media.MediaRouteProviderDescriptor?);
}
public abstract static class MediaRouteProvider.DynamicGroupRouteController extends androidx.mediarouter.media.MediaRouteProvider.RouteController {
ctor public MediaRouteProvider.DynamicGroupRouteController();
method public String? getGroupableSelectionTitle();
method public String? getTransferableSectionTitle();
method public abstract void onAddMemberRoute(String);
method public abstract void onRemoveMemberRoute(String!);
method public abstract void onUpdateMemberRoutes(java.util.List<java.lang.String!>?);
method public abstract void setOnDynamicRoutesChangedListener(java.util.concurrent.Executor, androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.OnDynamicRoutesChangedListener);
}
public static final class MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor {
method public androidx.mediarouter.media.MediaRouteDescriptor getRouteDescriptor();
method @androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SelectionState public int getSelectionState();
method public boolean isGroupable();
method public boolean isTransferable();
method public boolean isUnselectable();
field public static final int SELECTED = 3; // 0x3
field public static final int SELECTING = 2; // 0x2
field public static final int UNSELECTED = 1; // 0x1
field public static final int UNSELECTING = 0; // 0x0
}
public static final class MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder {
ctor public MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder(androidx.mediarouter.media.MediaRouteDescriptor!);
ctor public MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder(androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor!);
method public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor! build();
method public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder! setIsGroupable(boolean);
method public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder! setIsTransferable(boolean);
method public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder! setIsUnselectable(boolean);
method public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.Builder! setSelectionState(@androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SelectionState int);
}
@IntDef({androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.UNSELECTING, androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.UNSELECTED, androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SELECTING, androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SELECTED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SelectionState {
}
public static interface MediaRouteProvider.DynamicGroupRouteController.OnDynamicRoutesChangedListener {
method public void onRoutesChanged(androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController!, java.util.Collection<androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor!>!);
}
public static final class MediaRouteProvider.ProviderMetadata {
method public android.content.ComponentName! getComponentName();
method public String! getPackageName();
}
public abstract static class MediaRouteProvider.RouteController {
ctor public MediaRouteProvider.RouteController();
method public boolean onControlRequest(android.content.Intent!, androidx.mediarouter.media.MediaRouter.ControlRequestCallback?);
method public void onRelease();
method public void onSelect();
method public void onSetVolume(int);
method public void onUnselect();
method public void onUnselect(int);
method public void onUpdateVolume(int);
}
public final class MediaRouteProviderDescriptor {
method public android.os.Bundle! asBundle();
method public static androidx.mediarouter.media.MediaRouteProviderDescriptor! fromBundle(android.os.Bundle!);
method public java.util.List<androidx.mediarouter.media.MediaRouteDescriptor!> getRoutes();
method public boolean isValid();
method public boolean supportsDynamicGroupRoute();
}
public static final class MediaRouteProviderDescriptor.Builder {
ctor public MediaRouteProviderDescriptor.Builder();
ctor public MediaRouteProviderDescriptor.Builder(androidx.mediarouter.media.MediaRouteProviderDescriptor!);
method public androidx.mediarouter.media.MediaRouteProviderDescriptor.Builder! addRoute(androidx.mediarouter.media.MediaRouteDescriptor!);
method public androidx.mediarouter.media.MediaRouteProviderDescriptor.Builder! addRoutes(java.util.Collection<androidx.mediarouter.media.MediaRouteDescriptor!>!);
method public androidx.mediarouter.media.MediaRouteProviderDescriptor! build();
method public androidx.mediarouter.media.MediaRouteProviderDescriptor.Builder! setSupportsDynamicGroupRoute(boolean);
}
public abstract class MediaRouteProviderService extends android.app.Service {
ctor public MediaRouteProviderService();
method public androidx.mediarouter.media.MediaRouteProvider! getMediaRouteProvider();
method public android.os.IBinder! onBind(android.content.Intent!);
method public abstract androidx.mediarouter.media.MediaRouteProvider! onCreateMediaRouteProvider();
field public static final String SERVICE_INTERFACE = "android.media.MediaRouteProviderService";
}
public final class MediaRouteSelector {
method public android.os.Bundle! asBundle();
method public boolean contains(androidx.mediarouter.media.MediaRouteSelector!);
method public static androidx.mediarouter.media.MediaRouteSelector! fromBundle(android.os.Bundle?);
method public java.util.List<java.lang.String!>! getControlCategories();
method public boolean hasControlCategory(String!);
method public boolean isEmpty();
method public boolean isValid();
method public boolean matchesControlFilters(java.util.List<android.content.IntentFilter!>!);
field public static final androidx.mediarouter.media.MediaRouteSelector! EMPTY;
}
public static final class MediaRouteSelector.Builder {
ctor public MediaRouteSelector.Builder();
ctor public MediaRouteSelector.Builder(androidx.mediarouter.media.MediaRouteSelector);
method public androidx.mediarouter.media.MediaRouteSelector.Builder addControlCategories(java.util.Collection<java.lang.String!>);
method public androidx.mediarouter.media.MediaRouteSelector.Builder addControlCategory(String);
method public androidx.mediarouter.media.MediaRouteSelector.Builder addSelector(androidx.mediarouter.media.MediaRouteSelector);
method public androidx.mediarouter.media.MediaRouteSelector build();
}
public final class MediaRouter {
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector!, androidx.mediarouter.media.MediaRouter.Callback!);
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void addMemberToSelectedRoute(androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
method public android.support.v4.media.session.MediaSessionCompat.Token! getMediaSessionToken();
method public java.util.List<androidx.mediarouter.media.MediaRouter.ProviderInfo!>! getProviders();
method public java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo!>! getRoutes();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getSelectedRoute();
method public boolean isRouteAvailable(androidx.mediarouter.media.MediaRouteSelector, int);
method public void removeCallback(androidx.mediarouter.media.MediaRouter.Callback);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void removeMemberFromSelectedRoute(androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void removeProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void removeRemoteControlClient(Object);
method public void selectRoute(androidx.mediarouter.media.MediaRouter.RouteInfo);
method public void setMediaSession(Object!);
method public void setMediaSessionCompat(android.support.v4.media.session.MediaSessionCompat!);
method public void unselect(int);
method public androidx.mediarouter.media.MediaRouter.RouteInfo updateSelectedRoute(androidx.mediarouter.media.MediaRouteSelector);
field public static final int AVAILABILITY_FLAG_IGNORE_DEFAULT_ROUTE = 1; // 0x1
field public static final int AVAILABILITY_FLAG_REQUIRE_MATCH = 2; // 0x2
field public static final int CALLBACK_FLAG_FORCE_DISCOVERY = 8; // 0x8
field public static final int CALLBACK_FLAG_PERFORM_ACTIVE_SCAN = 1; // 0x1
field public static final int CALLBACK_FLAG_REQUEST_DISCOVERY = 4; // 0x4
field public static final int CALLBACK_FLAG_UNFILTERED_EVENTS = 2; // 0x2
field public static final int UNSELECT_REASON_DISCONNECTED = 1; // 0x1
field public static final int UNSELECT_REASON_ROUTE_CHANGED = 3; // 0x3
field public static final int UNSELECT_REASON_STOPPED = 2; // 0x2
field public static final int UNSELECT_REASON_UNKNOWN = 0; // 0x0
}
public abstract static class MediaRouter.Callback {
ctor public MediaRouter.Callback();
method public void onProviderAdded(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.ProviderInfo!);
method public void onProviderChanged(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.ProviderInfo!);
method public void onProviderRemoved(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.ProviderInfo!);
method public void onRouteAdded(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void onRouteChanged(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void onRoutePresentationDisplayChanged(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void onRouteRemoved(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void onRouteSelected(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void onRouteUnselected(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void onRouteUnselected(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!, int);
method public void onRouteVolumeChanged(androidx.mediarouter.media.MediaRouter!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
}
public abstract static class MediaRouter.ControlRequestCallback {
ctor public MediaRouter.ControlRequestCallback();
method public void onError(String!, android.os.Bundle!);
method public void onResult(android.os.Bundle!);
}
public static final class MediaRouter.ProviderInfo {
method public android.content.ComponentName! getComponentName();
method public String! getPackageName();
method public androidx.mediarouter.media.MediaRouteProvider! getProviderInstance();
method public java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo!>! getRoutes();
}
public static class MediaRouter.RouteInfo {
method public boolean canDisconnect();
method public int getConnectionState();
method public java.util.List<android.content.IntentFilter!>! getControlFilters();
method public String? getDescription();
method public int getDeviceType();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController? getDynamicGroupController();
method public android.os.Bundle? getExtras();
method public android.net.Uri! getIconUri();
method public String getId();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo!> getMemberRoutes();
method public String! getName();
method public int getPlaybackStream();
method public int getPlaybackType();
method public android.view.Display? getPresentationDisplay();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getPresentationDisplayId();
method public androidx.mediarouter.media.MediaRouter.ProviderInfo! getProvider();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.mediarouter.media.MediaRouteProvider! getProviderInstance();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getSelectionState();
method public android.content.IntentSender? getSettingsIntent();
method public int getVolume();
method public int getVolumeHandling();
method public int getVolumeMax();
method public boolean isBluetooth();
method @Deprecated public boolean isConnecting();
method public boolean isDefault();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isDefaultOrBluetooth();
method public boolean isDeviceSpeaker();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isDynamicRoute();
method public boolean isEnabled();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isGroup();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isGroupable();
method public boolean isSelected();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isTransferable();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isUnselectable();
method public boolean matchesSelector(androidx.mediarouter.media.MediaRouteSelector);
method public void requestSetVolume(int);
method public void requestUpdateVolume(int);
method public void select();
method public void sendControlRequest(android.content.Intent, androidx.mediarouter.media.MediaRouter.ControlRequestCallback?);
method public boolean supportsControlAction(String, String);
method public boolean supportsControlCategory(String);
method public boolean supportsControlRequest(android.content.Intent);
field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int DEVICE_TYPE_BLUETOOTH = 3; // 0x3
field public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
field public static final int DEVICE_TYPE_TV = 1; // 0x1
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int PRESENTATION_DISPLAY_ID_NONE = -1; // 0xffffffff
}
public final class MediaSessionStatus {
method public android.os.Bundle! asBundle();
method public static androidx.mediarouter.media.MediaSessionStatus! fromBundle(android.os.Bundle!);
method public android.os.Bundle! getExtras();
method public int getSessionState();
method public long getTimestamp();
method public boolean isQueuePaused();
field public static final int SESSION_STATE_ACTIVE = 0; // 0x0
field public static final int SESSION_STATE_ENDED = 1; // 0x1
field public static final int SESSION_STATE_INVALIDATED = 2; // 0x2
}
public static final class MediaSessionStatus.Builder {
ctor public MediaSessionStatus.Builder(int);
ctor public MediaSessionStatus.Builder(androidx.mediarouter.media.MediaSessionStatus!);
method public androidx.mediarouter.media.MediaSessionStatus! build();
method public androidx.mediarouter.media.MediaSessionStatus.Builder! setExtras(android.os.Bundle!);
method public androidx.mediarouter.media.MediaSessionStatus.Builder! setQueuePaused(boolean);
method public androidx.mediarouter.media.MediaSessionStatus.Builder! setSessionState(int);
method public androidx.mediarouter.media.MediaSessionStatus.Builder! setTimestamp(long);
}
public class RemotePlaybackClient {
ctor public RemotePlaybackClient(android.content.Context!, androidx.mediarouter.media.MediaRouter.RouteInfo!);
method public void endSession(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
method public void enqueue(android.net.Uri!, String!, android.os.Bundle!, long, android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback!);
method public String! getSessionId();
method public void getSessionStatus(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
method public void getStatus(String!, android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback!);
method public boolean hasSession();
method public boolean isMessagingSupported();
method public boolean isQueuingSupported();
method public boolean isRemotePlaybackSupported();
method public boolean isSessionManagementSupported();
method public void pause(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
method public void play(android.net.Uri!, String!, android.os.Bundle!, long, android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback!);
method public void release();
method public void remove(String!, android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback!);
method public void resume(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
method public void seek(String!, long, android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback!);
method public void sendMessage(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
method public void setOnMessageReceivedListener(androidx.mediarouter.media.RemotePlaybackClient.OnMessageReceivedListener!);
method public void setSessionId(String!);
method public void setStatusCallback(androidx.mediarouter.media.RemotePlaybackClient.StatusCallback!);
method public void startSession(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
method public void stop(android.os.Bundle!, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback!);
}
public abstract static class RemotePlaybackClient.ActionCallback {
ctor public RemotePlaybackClient.ActionCallback();
method public void onError(String!, int, android.os.Bundle!);
}
public abstract static class RemotePlaybackClient.ItemActionCallback extends androidx.mediarouter.media.RemotePlaybackClient.ActionCallback {
ctor public RemotePlaybackClient.ItemActionCallback();
method public void onResult(android.os.Bundle!, String!, androidx.mediarouter.media.MediaSessionStatus!, String!, androidx.mediarouter.media.MediaItemStatus!);
}
public static interface RemotePlaybackClient.OnMessageReceivedListener {
method public void onMessageReceived(String!, android.os.Bundle!);
}
public abstract static class RemotePlaybackClient.SessionActionCallback extends androidx.mediarouter.media.RemotePlaybackClient.ActionCallback {
ctor public RemotePlaybackClient.SessionActionCallback();
method public void onResult(android.os.Bundle!, String!, androidx.mediarouter.media.MediaSessionStatus!);
}
public abstract static class RemotePlaybackClient.StatusCallback {
ctor public RemotePlaybackClient.StatusCallback();
method public void onItemStatusChanged(android.os.Bundle!, String!, androidx.mediarouter.media.MediaSessionStatus!, String!, androidx.mediarouter.media.MediaItemStatus!);
method public void onSessionChanged(String!);
method public void onSessionStatusChanged(android.os.Bundle!, String!, androidx.mediarouter.media.MediaSessionStatus!);
}
}