| Index: chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteControllerDialogManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteControllerDialogManager.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteControllerDialogManager.java
|
| index 6697e7606912fd6ff43f45d2c164538256557312..5a9b510bd1f709cc9752c902379c8318b332dda5 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteControllerDialogManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteControllerDialogManager.java
|
| @@ -8,7 +8,6 @@ import android.content.Context;
|
| import android.content.DialogInterface;
|
| import android.support.v4.app.DialogFragment;
|
| import android.support.v4.app.FragmentManager;
|
| -import android.support.v7.app.MediaRouteControllerDialogFragment;
|
| import android.support.v7.media.MediaRouteSelector;
|
| import android.support.v7.media.MediaRouter;
|
|
|
| @@ -38,34 +37,37 @@ public class MediaRouteControllerDialogManager extends BaseMediaRouteDialogManag
|
| mMediaRouteId = mediaRouteId;
|
| }
|
|
|
| - @Override
|
| - protected DialogFragment openDialogInternal(FragmentManager fm) {
|
| - if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null;
|
| + /**
|
| + * Fragment implementation for MediaRouteControllerDialogManager.
|
| + */
|
| + public static class Fragment extends BaseMediaRouteDialogManager.Fragment {
|
| + MediaRouter.Callback mCallback = null;
|
|
|
| - MediaRouteControllerDialogFragment fragment = new MediaRouteControllerDialogFragment() {
|
| - final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver();
|
| + public Fragment() {
|
| + super();
|
| + }
|
|
|
| - @Override
|
| - public void onStart() {
|
| - mVisibilitySaver.saveSystemVisibility(getActivity());
|
| - super.onStart();
|
| - }
|
| + public Fragment(BaseMediaRouteDialogManager manager, MediaRouter.Callback callback) {
|
| + super(manager);
|
| + mCallback = callback;
|
| + }
|
|
|
| - @Override
|
| - public void onStop() {
|
| - super.onStop();
|
| - mVisibilitySaver.restoreSystemVisibility(getActivity());
|
| + @Override
|
| + public void onDismiss(DialogInterface dialog) {
|
| + if (mManager != null) {
|
| + mManager.delegate().onDialogCancelled();
|
| + mManager.androidMediaRouter().removeCallback(mCallback);
|
| }
|
|
|
| - @Override
|
| - public void onDismiss(DialogInterface dialog) {
|
| - delegate().onDialogCancelled();
|
| - androidMediaRouter().removeCallback(mCallback);
|
| - mDialogFragment = null;
|
| - super.onDismiss(dialog);
|
| - }
|
| - };
|
| + super.onDismiss(dialog);
|
| + }
|
| + };
|
| +
|
| + @Override
|
| + protected DialogFragment openDialogInternal(FragmentManager fm) {
|
| + if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null;
|
|
|
| + Fragment fragment = new Fragment(this, mCallback);
|
| MediaRouteSelector selector = mediaSource().buildRouteSelector();
|
| if (selector == null) return null;
|
|
|
|
|