# MediaRouteControllerDialog

Artifact: [androidx.mediarouter:mediarouter](https://developer.android.com/jetpack/androidx/releases/mediarouter) [View Source](https://cs.android.com/search?q=file:androidx/mediarouter/app/MediaRouteControllerDialog.java+class:androidx.mediarouter.app.MediaRouteControllerDialog) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

*** ** * ** ***


```
public class MediaRouteControllerDialog extends AlertDialog
```

<br />

|---|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||||
| ↳ | [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) |||||
|   | ↳ | [androidx.activity.ComponentDialog](https://developer.android.com/reference/androidx/activity/ComponentDialog) ||||
|   |   | ↳ | [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog) |||
|   |   |   | ↳ | [androidx.appcompat.app.AlertDialog](https://developer.android.com/reference/androidx/appcompat/app/AlertDialog) ||
|   |   |   |   | ↳ | [androidx.mediarouter.app.MediaRouteControllerDialog](https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog) |

*** ** * ** ***

This class implements the route controller dialog for `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter`.

This dialog allows the user to control or disconnect from the currently selected route.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteButton` |   |
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteActionProvider` |   |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#MediaRouteControllerDialog(android.content.Context)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context)` |
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#MediaRouteControllerDialog(android.content.Context,int)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context, int theme)` |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#getMediaControlView()()` Gets the media control view that was created by `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onCreateMediaControlView(android.os.Bundle)`. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat.Token` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#getMediaSession()()` Gets the session to use for metadata and transport controls. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter.RouteInfo` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#getRoute()()` Gets the route that this dialog is controlling. |
| `boolean` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#isVolumeControlEnabled()()` Returns whether to enable the volume slider and volume control using the volume keys when the route supports it. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onAttachedToWindow()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onCreateMediaControlView(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` Provides the subclass an opportunity to create a view that will replace the default media controls for the currently playing content. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onDetachedFromWindow()()` |
| `boolean` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onKeyDown(int,android.view.KeyEvent)(int keyCode, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/KeyEvent.html event)` |
| `boolean` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onKeyUp(int,android.view.KeyEvent)(int keyCode, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/KeyEvent.html event)` |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#setVolumeControlEnabled(boolean)(boolean enable)` Sets whether to enable the volume slider and volume control using the volume keys when the route supports it. |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onCreate(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` |

### Inherited Constants

From [android.content.DialogInterface](https://developer.android.com/reference/android/content/DialogInterface.html) `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON1 = -1`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON2 = -2`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON3 = -3`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEGATIVE = -2` `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEUTRAL = -3` `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_POSITIVE = -1`

### Inherited methods

From [androidx.appcompat.app.AlertDialog](https://developer.android.com/reference/androidx/appcompat/app/AlertDialog) `https://developer.android.com/reference/android/widget/Button.html` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#getButton(int)(int whichButton)`

Gets one of the buttons used in the dialog.
`https://developer.android.com/reference/android/widget/ListView.html` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#getListView()()`

Gets the list view used in the dialog.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setButton(int,java.lang.CharSequence,android.content.DialogInterface.OnClickListener)(
int whichButton,
https://developer.android.com/reference/java/lang/CharSequence.html text,
https://developer.android.com/reference/android/content/DialogInterface.OnClickListener.html listener
)`

Sets a listener to be invoked when the positive button of the dialog is pressed.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setButton(int,java.lang.CharSequence,android.os.Message)(int whichButton, https://developer.android.com/reference/java/lang/CharSequence.html text, https://developer.android.com/reference/android/os/Message.html msg)`

Sets a message to be sent when a button is pressed.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setButton(int,java.lang.CharSequence,android.graphics.drawable.Drawable,android.content.DialogInterface.OnClickListener)(
int whichButton,
https://developer.android.com/reference/java/lang/CharSequence.html text,
https://developer.android.com/reference/android/graphics/drawable/Drawable.html icon,
https://developer.android.com/reference/android/content/DialogInterface.OnClickListener.html listener
)`

Sets an icon to be displayed along with the button text and a listener to be invoked when the positive button of the dialog is pressed.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setCustomTitle(android.view.View)(https://developer.android.com/reference/android/view/View.html customTitleView)`

This method has no effect if called after `https://developer.android.com/reference/android/app/Dialog.html#show()`.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setIcon(android.graphics.drawable.Drawable)(https://developer.android.com/reference/android/graphics/drawable/Drawable.html icon)`

Set the `https://developer.android.com/reference/android/graphics/drawable/Drawable.html` to be used in the title.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setIcon(int)(int resId)`

Set resId to 0 if you don't want an icon.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setIconAttribute(int)(int attrId)`

Sets an icon as supplied by a theme attribute. e.g. android.R.attr.alertDialogIcon
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setMessage(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence.html message)`

Sets the message to display.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setTitle(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence.html title)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setView(android.view.View)(https://developer.android.com/reference/android/view/View.html view)`

Set the view to display in the dialog.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AlertDialog#setView(android.view.View,int,int,int,int)(
https://developer.android.com/reference/android/view/View.html view,
int viewSpacingLeft,
int viewSpacingTop,
int viewSpacingRight,
int viewSpacingBottom
)`

Set the view to display in the dialog, specifying the spacing to appear around that view.
From [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog) `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#dismiss()()` `boolean` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#dispatchKeyEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#findViewById(int)(@https://developer.android.com/reference/androidx/annotation/IdRes int id)` `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/appcompat/app/AppCompatDelegate` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#getDelegate()()` `https://developer.android.com/reference/androidx/appcompat/app/ActionBar` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#getSupportActionBar()()`

Support library version of `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()`.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onStop()()` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onSupportActionModeFinished(androidx.appcompat.view.ActionMode)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode)`

Called when a support action mode has finished.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onSupportActionModeStarted(androidx.appcompat.view.ActionMode)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode)`

Called when a support action mode has been started.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/appcompat/view/ActionMode` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode.Callback callback)`

Called when a support action mode is being started for this window.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(int)(@https://developer.android.com/reference/androidx/annotation/LayoutRes int layoutResID)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View,android.view.ViewGroup.LayoutParams)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setTitle(int)(int titleId)` `boolean` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#supportRequestWindowFeature(int)(int featureId)`

Enable extended support library window features.
From [androidx.activity.ComponentDialog](https://developer.android.com/reference/androidx/activity/ComponentDialog) `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
`https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getNavigationEventDispatcher()()`

Lazily provides a `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` for back navigation handling, including support for predictive back gestures introduced in Android 13 (API 33+).
`final https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getOnBackPressedDispatcher()()`

Retrieve the `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` that will be triggered when `https://developer.android.com/reference/androidx/activity/ComponentDialog#onBackPressed()` is called.
`https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#initializeViewTreeOwners()()`

Sets the view tree owners before setting the content view so that the inflation process and attach listeners will see them already present.
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onBackPressed()()`

**This method is deprecated.**
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onSaveInstanceState()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onStart()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onStop()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#setContentView(int)(int layoutResID)` From [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) `void` `https://developer.android.com/reference/android/app/Dialog.html#addContentView(android.view.View, android.view.ViewGroup.LayoutParams)(https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `void` `https://developer.android.com/reference/android/app/Dialog.html#closeOptionsMenu()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#create()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchGenericMotionEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyShortcutEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)(https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTouchEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTrackballEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/android/app/Dialog.html#findViewById(int)(int id)` `https://developer.android.com/reference/android/app/ActionBar.html` `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()()` `final https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/android/app/Dialog.html#getContext()()` `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/android/app/Dialog.html#getCurrentFocus()()` `https://developer.android.com/reference/android/view/LayoutInflater.html` `https://developer.android.com/reference/android/app/Dialog.html#getLayoutInflater()()` `https://developer.android.com/reference/android/window/OnBackInvokedDispatcher.html` `https://developer.android.com/reference/android/app/Dialog.html#getOnBackInvokedDispatcher()()` `final https://developer.android.com/reference/android/app/Activity.html` `https://developer.android.com/reference/android/app/Dialog.html#getOwnerActivity()()` `final https://developer.android.com/reference/android/view/SearchEvent.html` `https://developer.android.com/reference/android/app/Dialog.html#getSearchEvent()()` `final int` `https://developer.android.com/reference/android/app/Dialog.html#getVolumeControlStream()()` `https://developer.android.com/reference/android/view/Window.html` `https://developer.android.com/reference/android/app/Dialog.html#getWindow()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#hide()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#invalidateOptionsMenu()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#isShowing()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeFinished(android.view.ActionMode)(https://developer.android.com/reference/android/view/ActionMode.html mode)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeStarted(android.view.ActionMode)(https://developer.android.com/reference/android/view/ActionMode.html mode)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onBackPressed()()`

**This method is deprecated.**
`void` `https://developer.android.com/reference/android/app/Dialog.html#onContentChanged()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onContextItemSelected(android.view.MenuItem)(https://developer.android.com/reference/android/view/MenuItem.html item)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onContextMenuClosed(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo)(
https://developer.android.com/reference/android/view/ContextMenu.html menu,
https://developer.android.com/reference/android/view/View.html v,
https://developer.android.com/reference/android/view/ContextMenu.ContextMenuInfo.html menuInfo
)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onCreateOptionsMenu(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onCreatePanelMenu(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/android/app/Dialog.html#onCreatePanelView(int)(int featureId)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onGenericMotionEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyDown(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyLongPress(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyMultiple(int, int, android.view.KeyEvent)(int keyCode, int repeatCount, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyShortcut(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyUp(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onMenuItemSelected(int, android.view.MenuItem)(int featureId, https://developer.android.com/reference/android/view/MenuItem.html item)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onMenuOpened(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onOptionsItemSelected(android.view.MenuItem)(https://developer.android.com/reference/android/view/MenuItem.html item)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onOptionsMenuClosed(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onPanelClosed(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onPrepareOptionsMenu(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onPreparePanel(int, android.view.View, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onRestoreInstanceState(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/android/app/Dialog.html#onSaveInstanceState()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onSearchRequested()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onStart()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onStop()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onTouchEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onTrackballEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onWindowAttributesChanged(android.view.WindowManager.LayoutParams)(https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html params)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onWindowFocusChanged(boolean)(boolean hasFocus)` `https://developer.android.com/reference/android/view/ActionMode.html` `https://developer.android.com/reference/android/app/Dialog.html#onWindowStartingActionMode(android.view.ActionMode.Callback)(https://developer.android.com/reference/android/view/ActionMode.Callback.html callback)` `void` `https://developer.android.com/reference/android/app/Dialog.html#openContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/android/app/Dialog.html#openOptionsMenu()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#registerForContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `final boolean` `https://developer.android.com/reference/android/app/Dialog.html#requestWindowFeature(int)(int featureId)` `final T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/android/app/Dialog.html#requireViewById(int)(int id)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCancelMessage(android.os.Message)(https://developer.android.com/reference/android/os/Message.html msg)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCancelable(boolean)(boolean flag)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCanceledOnTouchOutside(boolean)(boolean cancel)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setContentView(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setDismissMessage(android.os.Message)(https://developer.android.com/reference/android/os/Message.html msg)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawable(int, android.graphics.drawable.Drawable)(int featureId, https://developer.android.com/reference/android/graphics/drawable/Drawable.html drawable)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableAlpha(int, int)(int featureId, int alpha)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableResource(int, int)(int featureId, int resId)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableUri(int, android.net.Uri)(int featureId, https://developer.android.com/reference/android/net/Uri.html uri)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnCancelListener(android.content.DialogInterface.OnCancelListener)(https://developer.android.com/reference/android/content/DialogInterface.OnCancelListener.html listener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnDismissListener(android.content.DialogInterface.OnDismissListener)(https://developer.android.com/reference/android/content/DialogInterface.OnDismissListener.html listener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnKeyListener(android.content.DialogInterface.OnKeyListener)(https://developer.android.com/reference/android/content/DialogInterface.OnKeyListener.html onKeyListener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnShowListener(android.content.DialogInterface.OnShowListener)(https://developer.android.com/reference/android/content/DialogInterface.OnShowListener.html listener)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setOwnerActivity(android.app.Activity)(https://developer.android.com/reference/android/app/Activity.html activity)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setTitle(int)(int titleId)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setVolumeControlStream(int)(int streamType)` `void` `https://developer.android.com/reference/android/app/Dialog.html#show()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#takeKeyEvents(boolean)(boolean get)` `void` `https://developer.android.com/reference/android/app/Dialog.html#unregisterForContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` From [android.content.DialogInterface](https://developer.android.com/reference/android/content/DialogInterface.html) `abstract void` `https://developer.android.com/reference/android/content/DialogInterface.html#cancel()()` `abstract void` `https://developer.android.com/reference/android/content/DialogInterface.html#dismiss()()` From [androidx.lifecycle.LifecycleOwner](https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner) `abstract https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
From [androidx.navigationevent.NavigationEventDispatcherOwner](https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcherOwner) `abstract https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcherOwner#getNavigationEventDispatcher()()`

The `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` that should handle the navigation events.
From [androidx.activity.OnBackPressedDispatcherOwner](https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcherOwner) `abstract https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcherOwner#getOnBackPressedDispatcher()()`

The `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` that should handle the system back button.
From [androidx.savedstate.SavedStateRegistryOwner](https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner) `abstract https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
From [android.view.Window.Callback](https://developer.android.com/reference/android/view/Window.Callback.html) `void` `https://developer.android.com/reference/android/view/Window.Callback.html#onPointerCaptureChanged(boolean)(boolean hasCapture)` `void` `https://developer.android.com/reference/android/view/Window.Callback.html#onProvideKeyboardShortcuts(java.util.List&lt;android.view.KeyboardShortcutGroup&gt;, android.view.Menu, int)(
https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/view/KeyboardShortcutGroup.html> data,
https://developer.android.com/reference/android/view/Menu.html menu,
int deviceId
)`

## Public constructors

### MediaRouteControllerDialog

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public MediaRouteControllerDialog(@NonNull Context context)
```

### MediaRouteControllerDialog

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public MediaRouteControllerDialog(@NonNull Context context, int theme)
```

## Public methods

### getMediaControlView

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @Nullable View getMediaControlView()
```

Gets the media control view that was created by `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteControllerDialog#onCreateMediaControlView(android.os.Bundle)`.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | The media control view, or null if none. |

### getMediaSession

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @Nullable MediaSessionCompat.Token getMediaSession()
```

Gets the session to use for metadata and transport controls.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat.Token` | The token for the session to use or null if none. |

### getRoute

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @NonNull MediaRouter.RouteInfo getRoute()
```

Gets the route that this dialog is controlling.

### isVolumeControlEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public boolean isVolumeControlEnabled()
```

Returns whether to enable the volume slider and volume control using the volume keys when the route supports it.

### onAttachedToWindow

```
public void onAttachedToWindow()
```

### onCreateMediaControlView

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @Nullable View onCreateMediaControlView(@Nullable Bundle savedInstanceState)
```

Provides the subclass an opportunity to create a view that will replace the default media controls for the currently playing content.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState` | The dialog's saved instance state. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/view/View.html` | The media control view, or null if none. |

### onDetachedFromWindow

```
public void onDetachedFromWindow()
```

### onKeyDown

```
public boolean onKeyDown(int keyCode, @NonNull KeyEvent event)
```

### onKeyUp

```
public boolean onKeyUp(int keyCode, @NonNull KeyEvent event)
```

### setVolumeControlEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public void setVolumeControlEnabled(boolean enable)
```

Sets whether to enable the volume slider and volume control using the volume keys when the route supports it.

The default value is true.

## Protected methods

### onCreate

```
protected void onCreate(@Nullable Bundle savedInstanceState)
```