# MediaRouteChooserDialog

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

*** ** * ** ***


```
class MediaRouteChooserDialog : AppCompatDialog
```

<br />

|---|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||||
| ↳ | [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) ||||
|   | ↳ | [androidx.activity.ComponentDialog](https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog) |||
|   |   | ↳ | [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog) ||
|   |   |   | ↳ | [androidx.mediarouter.app.MediaRouteChooserDialog](https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog) |

*** ** * ** ***

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

This dialog allows the user to choose a route that matches a given selector.

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

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#MediaRouteChooserDialog(android.content.Context)(context: https://developer.android.com/reference/android/content/Context.html)` |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#MediaRouteChooserDialog(android.content.Context,int)(context: https://developer.android.com/reference/android/content/Context.html, theme: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#dismiss()()` |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteSelector` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#getRouteSelector()()` Gets the media route selector for filtering the routes that the user can select. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#onAttachedToWindow()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#onDetachedFromWindow()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo)(route: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo)` Returns true if the route should be included in the list. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#onFilterRoutes(java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo>)(routes: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo!>)` Called to filter the set of routes that should be included in the list. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#refreshRoutes()()` Refreshes the list of routes that are shown in the chooser dialog. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#setRouteSelector(androidx.mediarouter.media.MediaRouteSelector)(selector: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteSelector)` Sets the media route selector for filtering the routes that the user can select. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#setTitle(java.lang.CharSequence)(title: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html?)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#setTitle(int)(titleId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |

| ### Protected functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#onCreate(android.os.Bundle)(savedInstanceState: https://developer.android.com/reference/android/os/Bundle.html?)` |

### Inherited Constants

From [android.content.DialogInterface](https://developer.android.com/reference/android/content/DialogInterface.html) `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON1 = -1`

**This property is deprecated.**
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON2 = -2`

**This property is deprecated.**
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON3 = -3`

**This property is deprecated.**
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEGATIVE = -2` `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEUTRAL = -3` `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_POSITIVE = -1`

### Inherited functions

From [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(view: https://developer.android.com/reference/android/view/View.html, params: https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#dispatchKeyEvent(android.view.KeyEvent)(event: https://developer.android.com/reference/android/view/KeyEvent.html!)` `T?` `<T : https://developer.android.com/reference/android/view/View.html?> https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#findViewById(int)(id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDelegate` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#getDelegate()()` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/ActionBar!` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#getSupportActionBar()()`

Support library version of `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#onStop()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#onSupportActionModeFinished(androidx.appcompat.view.ActionMode)(mode: https://developer.android.com/reference/kotlin/androidx/appcompat/view/ActionMode!)`

Called when a support action mode has finished.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#onSupportActionModeStarted(androidx.appcompat.view.ActionMode)(mode: https://developer.android.com/reference/kotlin/androidx/appcompat/view/ActionMode!)`

Called when a support action mode has been started.
`https://developer.android.com/reference/kotlin/androidx/appcompat/view/ActionMode?` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback)(callback: https://developer.android.com/reference/kotlin/androidx/appcompat/view/ActionMode.Callback!)`

Called when a support action mode is being started for this window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#setContentView(int)(layoutResID: @https://developer.android.com/reference/kotlin/androidx/annotation/LayoutRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View)(view: https://developer.android.com/reference/android/view/View.html)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View,android.view.ViewGroup.LayoutParams)(view: https://developer.android.com/reference/android/view/View.html, params: https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatDialog#supportRequestWindowFeature(int)(featureId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Enable extended support library window features.
From [androidx.activity.ComponentDialog](https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(view: https://developer.android.com/reference/android/view/View.html!, params: https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html!)` `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle!` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#getLifecycle()()`

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

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

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

The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/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.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#onBackPressed()()`

**This function is deprecated.**
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#onCreate(android.os.Bundle)(savedInstanceState: https://developer.android.com/reference/android/os/Bundle.html!)` `https://developer.android.com/reference/android/os/Bundle.html!` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#onSaveInstanceState()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#onStart()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#onStop()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/activity/ComponentDialog#setContentView(int)(layoutResID: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` From [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#addContentView(android.view.View, android.view.ViewGroup.LayoutParams)(view: https://developer.android.com/reference/android/view/View.html!, params: https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#cancel()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#closeOptionsMenu()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#create()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dismiss()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dispatchGenericMotionEvent(android.view.MotionEvent)(ev: https://developer.android.com/reference/android/view/MotionEvent.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyEvent(android.view.KeyEvent)(event: https://developer.android.com/reference/android/view/KeyEvent.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyShortcutEvent(android.view.KeyEvent)(event: https://developer.android.com/reference/android/view/KeyEvent.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)(event: https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTouchEvent(android.view.MotionEvent)(ev: https://developer.android.com/reference/android/view/MotionEvent.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTrackballEvent(android.view.MotionEvent)(ev: https://developer.android.com/reference/android/view/MotionEvent.html!)` `T!` `<T : https://developer.android.com/reference/android/view/View.html?> https://developer.android.com/reference/android/app/Dialog.html#findViewById(int)(id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` `https://developer.android.com/reference/android/app/ActionBar.html!` `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()()` `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()()` `https://developer.android.com/reference/android/app/Activity.html!` `https://developer.android.com/reference/android/app/Dialog.html#getOwnerActivity()()` `https://developer.android.com/reference/android/view/SearchEvent.html!` `https://developer.android.com/reference/android/app/Dialog.html#getSearchEvent()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `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()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#hide()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#invalidateOptionsMenu()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/android/app/Dialog.html#isShowing()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeFinished(android.view.ActionMode)(mode: https://developer.android.com/reference/android/view/ActionMode.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeStarted(android.view.ActionMode)(mode: https://developer.android.com/reference/android/view/ActionMode.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/app/Dialog.html#onBackPressed()()`

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

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

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

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

The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner`.
From [android.view.Window.Callback](https://developer.android.com/reference/android/view/Window.Callback.html) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/view/Window.Callback.html#onPointerCaptureChanged(boolean)(hasCapture: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/android/view/Window.Callback.html#onProvideKeyboardShortcuts(java.util.List&lt;android.view.KeyboardShortcutGroup&gt;, android.view.Menu, int)(
data: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/android/view/KeyboardShortcutGroup.html!>!,
menu: https://developer.android.com/reference/android/view/Menu.html!,
deviceId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html
)`

## Public constructors

### MediaRouteChooserDialog

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

```
MediaRouteChooserDialog(context: Context)
```

### MediaRouteChooserDialog

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

```
MediaRouteChooserDialog(context: Context, theme: Int)
```

## Public functions

### dismiss

```
fun dismiss(): Unit
```

### getRouteSelector

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

```
fun getRouteSelector(): MediaRouteSelector
```

Gets the media route selector for filtering the routes that the user can select.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteSelector` | The selector, never null. |

### onAttachedToWindow

```
fun onAttachedToWindow(): Unit
```

### onDetachedFromWindow

```
fun onDetachedFromWindow(): Unit
```

### onFilterRoute

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

```
fun onFilterRoute(route: MediaRouter.RouteInfo): Boolean
```

Returns true if the route should be included in the list.

The default implementation returns true for enabled non-default routes that match the selector. Subclasses can override this method to filter routes differently.

| Parameters |
|---|---|
| `route: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo` | The route to consider, never null. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the route should be included in the chooser dialog. |

### onFilterRoutes

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

```
fun onFilterRoutes(routes: (Mutable)List<MediaRouter.RouteInfo!>): Unit
```

Called to filter the set of routes that should be included in the list.

The default implementation iterates over all routes in the provided list and removes those for which `https://developer.android.com/reference/kotlin/androidx/mediarouter/app/MediaRouteChooserDialog#onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo)` returns false.

| Parameters |
|---|---|
| `routes: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo!>` | The list of routes to filter in-place, never null. |

### refreshRoutes

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

```
fun refreshRoutes(): Unit
```

Refreshes the list of routes that are shown in the chooser dialog.

### setRouteSelector

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

```
fun setRouteSelector(selector: MediaRouteSelector): Unit
```

Sets the media route selector for filtering the routes that the user can select.

| Parameters |
|---|---|
| `selector: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteSelector` | The selector, must not be null. |

### setTitle

```
fun setTitle(title: CharSequence?): Unit
```

### setTitle

```
fun setTitle(titleId: Int): Unit
```

## Protected functions

### onCreate

```
protected fun onCreate(savedInstanceState: Bundle?): Unit
```