Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteChooserDialogManager.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteChooserDialogManager.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteChooserDialogManager.java |
| index 06f0dfb32da224cb63d00d3d3731c1d11a2059c4..0b5eb82d314c4c37182cf267f241678b3afd7aef 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteChooserDialogManager.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteChooserDialogManager.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.MediaRouteChooserDialogFragment; |
| import android.support.v7.media.MediaRouteSelector; |
| import org.chromium.chrome.browser.media.router.cast.MediaSink; |
| @@ -22,54 +21,51 @@ public class MediaRouteChooserDialogManager extends BaseMediaRouteDialogManager |
| private static final String DIALOG_FRAGMENT_TAG = |
| "android.support.v7.mediarouter:MediaRouteChooserDialogFragment"; |
| - private boolean mCancelled; |
| - |
| public MediaRouteChooserDialogManager(MediaSource source, Context applicationContext, |
| MediaRouteDialogDelegate delegate) { |
| super(source, applicationContext, delegate); |
| } |
| - @Override |
| - protected DialogFragment openDialogInternal(FragmentManager fm) { |
| - if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null; |
| - |
| - MediaRouteChooserDialogFragment fragment = new MediaRouteChooserDialogFragment() { |
| - final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver(); |
| + /** |
| + * Fragment implementation for MediaRouteChooserDialogManager. |
| + */ |
| + public static class Fragment extends BaseMediaRouteDialogManager.Fragment { |
| + private boolean mCancelled; |
|
Zhiqiang Zhang (Slow)
2016/08/12 16:18:53
Init explicitly with false? It's null if uninitial
mlamouri (slow - plz ping)
2016/08/12 16:21:29
It's a `boolean`, not a `Boolean` ;)
|
| - @Override |
| - public void onStart() { |
| - mVisibilitySaver.saveSystemVisibility(getActivity()); |
| - super.onStart(); |
| - } |
| + public Fragment() { |
| + super(); |
| + } |
| - @Override |
| - public void onStop() { |
| - super.onStop(); |
| - mVisibilitySaver.restoreSystemVisibility(getActivity()); |
| - } |
| + public Fragment(BaseMediaRouteDialogManager manager) { |
| + super(manager); |
| + } |
| - @Override |
| - public void onCancel(DialogInterface dialog) { |
| - mCancelled = true; |
| + @Override |
| + public void onCancel(DialogInterface dialog) { |
| + mCancelled = true; |
| - delegate().onDialogCancelled(); |
| + mManager.delegate().onDialogCancelled(); |
| - super.onCancel(dialog); |
| - } |
| + super.onCancel(dialog); |
| + } |
| - @Override |
| - public void onDismiss(DialogInterface dialog) { |
| - super.onDismiss(dialog); |
| + @Override |
| + public void onDismiss(DialogInterface dialog) { |
| + super.onDismiss(dialog); |
| - mDialogFragment = null; |
| + if (mCancelled || mManager == null) return; |
| - if (mCancelled) return; |
| + MediaSink newSink = |
| + MediaSink.fromRoute(mManager.androidMediaRouter().getSelectedRoute()); |
| + mManager.delegate().onSinkSelected(newSink); |
| + } |
| + } |
| - MediaSink newSink = MediaSink.fromRoute(androidMediaRouter().getSelectedRoute()); |
| - delegate().onSinkSelected(newSink); |
| - } |
| - }; |
| + @Override |
| + protected DialogFragment openDialogInternal(FragmentManager fm) { |
| + if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null; |
| + Fragment fragment = new Fragment(this); |
| MediaRouteSelector selector = mediaSource().buildRouteSelector(); |
| if (selector == null) return null; |