private void showMediaRouteControlDialog(MediaStateListener player, Activity activity) { FragmentManager fm = ((FragmentActivity) activity).getSupportFragmentManager(); if (fm == null) { throw new IllegalStateException("The activity must be a subclass of FragmentActivity"); } MediaRouteDialogFactory factory = new MediaRouteControllerDialogFactory(player); if (fm.findFragmentByTag( "android.support.v7.mediarouter:MediaRouteControllerDialogFragment") != null) { Log.w(TAG, "showDialog(): Route controller dialog already showing!"); return; } MediaRouteControllerDialogFragment f = factory.onCreateControllerDialogFragment(); f.show(fm, "android.support.v7.mediarouter:MediaRouteControllerDialogFragment"); }
private void showMediaRouteControlDialog(MediaRouteController controller, Activity activity) { FragmentManager fm = ((FragmentActivity) activity).getSupportFragmentManager(); if (fm == null) { throw new IllegalStateException("The activity must be a subclass of FragmentActivity"); } MediaRouteDialogFactory factory = new ChromeMediaRouteDialogFactory(); if (fm.findFragmentByTag( "android.support.v7.mediarouter:MediaRouteControllerDialogFragment") != null) { Log.w(TAG, "showDialog(): Route controller dialog already showing!"); return; } MediaRouteControllerDialogFragment f = factory.onCreateControllerDialogFragment(); f.show(fm, "android.support.v7.mediarouter:MediaRouteControllerDialogFragment"); }
@Override public MediaRouteControllerDialogFragment onCreateControllerDialogFragment() { return new MediaRouteControllerDialogFragment() { final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver(); @Override public Dialog onCreateDialog(Bundle saved) { mVisibilitySaver.saveSystemVisibility(getActivity()); return new MediaRouteControllerDialog(getActivity()); } @Override public void onStop() { super.onStop(); mVisibilitySaver.restoreSystemVisibility(getActivity()); } }; }
@Override public boolean onCreateOptionsMenu(Menu menu) { // Be sure to call the super class. super.onCreateOptionsMenu(menu); // Inflate the menu and configure the media router action provider. getMenuInflater().inflate(R.menu.sample_media_router_menu, menu); MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item); MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider)MenuItemCompat.getActionProvider(mediaRouteMenuItem); mediaRouteActionProvider.setRouteSelector(mSelector); mediaRouteActionProvider.setDialogFactory(new MediaRouteDialogFactory() { @Override public MediaRouteControllerDialogFragment onCreateControllerDialogFragment() { return new MediaRouteControllerDialogFragment() { @Override public MediaRouteControllerDialog onCreateControllerDialog( Context context, Bundle savedInstanceState) { mControllerDialog = new SampleMediaRouteControllerDialog( context, mSessionManager, mPlayer); return mControllerDialog; } }; } }); // Return true to show the menu. return true; }
@Override public MediaRouteControllerDialogFragment onCreateControllerDialogFragment() { return new Fragment(mPlayer); }
@Override public MediaRouteControllerDialogFragment onCreateControllerDialogFragment() { return new CustomMediaRouteControllerDialogFragment(); }