MediaRouterParams.Builder
public final class MediaRouterParams.Builder
Builder class for MediaRouterParams.
Summary
Public constructors |
|---|
Builder()Constructor for builder to create |
Builder(@NonNull MediaRouterParams params)Constructor for builder to create |
Public methods |
|
|---|---|
@NonNull MediaRouterParams |
build()Builds the |
@NonNull MediaRouterParams.Builder |
setDialogType(int dialogType)Sets the media route controller dialog type. |
@NonNull MediaRouterParams.Builder |
setMediaTransferReceiverEnabled(boolean enabled)Sets whether declared |
@NonNull MediaRouterParams.Builder |
setMediaTransferRestrictedToSelfProviders(boolean enabled)Sets whether the declared |
@NonNull MediaRouterParams.Builder |
setOutputSwitcherEnabled(boolean enabled)Sets whether output switcher dialogs are enabled. |
@NonNull MediaRouterParams.Builder |
setTransferToLocalEnabled(boolean enabled)Enables media can be transferred from remote (e.g. TV) to local (e.g. phone, Bluetooth). |
Public constructors
Builder
public Builder(@NonNull MediaRouterParams params)
Constructor for builder to create MediaRouterParams with existing MediaRouterParams instance.
| Parameters | |
|---|---|
@NonNull MediaRouterParams params |
the existing instance to copy data from. |
Public methods
build
public @NonNull MediaRouterParams build()
Builds the MediaRouterParams instance.
setDialogType
public @NonNull MediaRouterParams.Builder setDialogType(int dialogType)
Sets the media route controller dialog type. Default value is DIALOG_TYPE_DEFAULT.
Note that from Android R, output switcher will be used rather than the dialog type set by this method if both setOutputSwitcherEnabled output switcher} and media transfer feature are enabled.
| Parameters | |
|---|---|
int dialogType |
the dialog type |
setMediaTransferReceiverEnabled
public @NonNull MediaRouterParams.Builder setMediaTransferReceiverEnabled(boolean enabled)
Sets whether declared MediaTransferReceiver is enabled. The default value is true. This method will be no-op for Android versions earlier than Android R and it stays false on devices earlier than Android R.
It can be used to disable media transfer feature when MediaTransferReceiver is declared. If set to false, media transfer feature will be disabled even when MediaTransferReceiver is declared.
It is not recommended to change this value at runtime. It could result in getting invalid routes.
| See also | |
|---|---|
MediaTransferReceiver |
setMediaTransferRestrictedToSelfProviders
public @NonNull MediaRouterParams.Builder setMediaTransferRestrictedToSelfProviders(boolean enabled)
Sets whether the declared MediaTransferReceiver feature is restricted to MediaRouteProviderService provider services that handle the action
android.media.MediaRoute2ProviderService declared by this app.
If this app restricts the MediaTransferReceiver feature to its own MediaRouteProviderService provider service that handles the action
android.media.MediaRoute2ProviderService, then all other media route providers that declare both the android.media.MediaRouteProviderService action and the
android.media.MediaRoute2ProviderService action would be treated as MediaRouteProviderService provider services with only the action
android.media.MediaRouteProviderService.
For MediaRouteProviderService provider services that only handle the action android.media.MediaRouteProviderService, they are not affected by this flag.
setOutputSwitcherEnabled
public @NonNull MediaRouterParams.Builder setOutputSwitcherEnabled(boolean enabled)
Sets whether output switcher dialogs are enabled. This method will be no-op for Android versions earlier than Android R. Default value is false.
If set to true, and when media transfer is enabled, MediaRouteButton will show output switcher when clicked, no matter what type of dialog is set by setDialogType.
If set to false, MediaRouteButton will show the dialog type which is set by setDialogType.
setTransferToLocalEnabled
public @NonNull MediaRouterParams.Builder setTransferToLocalEnabled(boolean enabled)
Enables media can be transferred from remote (e.g. TV) to local (e.g. phone, Bluetooth). Apps that enabling this feature should handle the case in their callback properly. Default value is false.
When this is enabled, onRouteSelected will be called whenever the 'remote to local' transfer happens, regardless of the selector provided in addCallback.
Note: This method will be no-op for Android versions earlier than Android R. It has effect only when media transfer is enabled.