| 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 c65ab4ea3de1c3d6420075605fbdf1d5b0d99c50..91b11d27c54dc272bdf58e1920402ade86052a22 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
|
| @@ -4,15 +4,11 @@
|
|
|
| package org.chromium.chrome.browser.media.router;
|
|
|
| -import android.app.Dialog;
|
| import android.content.Context;
|
| import android.content.DialogInterface;
|
| -import android.content.DialogInterface.OnCancelListener;
|
| -import android.content.DialogInterface.OnDismissListener;
|
| import android.support.v4.app.DialogFragment;
|
| import android.support.v4.app.FragmentManager;
|
| import android.support.v7.app.MediaRouteControllerDialogFragment;
|
| -import android.support.v7.app.MediaRouteDialogFactory;
|
| import android.support.v7.media.MediaRouter;
|
|
|
| import org.chromium.chrome.browser.media.router.cast.MediaSource;
|
| @@ -20,13 +16,13 @@ import org.chromium.chrome.browser.media.router.cast.MediaSource;
|
| /**
|
| * Manages the dialog responsible for controlling an existing media route.
|
| */
|
| -public class MediaRouteControllerDialogManager extends BaseMediaRouteDialogManager implements
|
| - OnCancelListener, OnDismissListener {
|
| +public class MediaRouteControllerDialogManager extends BaseMediaRouteDialogManager {
|
|
|
| private static final String DIALOG_FRAGMENT_TAG =
|
| "android.support.v7.mediarouter:MediaRouteControllerDialogFragment";
|
|
|
| private final String mMediaRouteId;
|
| +
|
| private final MediaRouter.Callback mCallback = new MediaRouter.Callback() {
|
| @Override
|
| public void onRouteUnselected(MediaRouter router, MediaRouter.RouteInfo route) {
|
| @@ -42,32 +38,38 @@ public class MediaRouteControllerDialogManager extends BaseMediaRouteDialogManag
|
| }
|
|
|
| @Override
|
| - protected DialogFragment openDialogInternal(FragmentManager fm,
|
| - MediaRouteDialogFactory factory) {
|
| + protected DialogFragment openDialogInternal(FragmentManager fm) {
|
| if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null;
|
|
|
| - MediaRouteControllerDialogFragment fragment = factory.onCreateControllerDialogFragment();
|
| + MediaRouteControllerDialogFragment fragment = new MediaRouteControllerDialogFragment() {
|
| + final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver();
|
| +
|
| + @Override
|
| + public void onStart() {
|
| + mVisibilitySaver.saveSystemVisibility(getActivity());
|
| + super.onStart();
|
| + }
|
| +
|
| + @Override
|
| + public void onStop() {
|
| + super.onStop();
|
| + mVisibilitySaver.restoreSystemVisibility(getActivity());
|
| + }
|
| +
|
| + @Override
|
| + public void onDismiss(DialogInterface dialog) {
|
| + delegate().onDialogCancelled();
|
| + androidMediaRouter().removeCallback(mCallback);
|
| + mDialogFragment = null;
|
| + super.onDismiss(dialog);
|
| + }
|
| + };
|
| +
|
| fragment.show(fm, DIALOG_FRAGMENT_TAG);
|
| fm.executePendingTransactions();
|
|
|
| - Dialog dialog = fragment.getDialog();
|
| - if (dialog == null) return null;
|
| -
|
| - dialog.setOnCancelListener(this);
|
| - dialog.setOnDismissListener(this);
|
| androidMediaRouter().addCallback(mediaSource().buildRouteSelector(), mCallback);
|
|
|
| return fragment;
|
| }
|
| -
|
| - @Override
|
| - public void onCancel(DialogInterface dialog) {
|
| - delegate().onDialogCancelled();
|
| - }
|
| -
|
| - @Override
|
| - public void onDismiss(DialogInterface dialog) {
|
| - androidMediaRouter().removeCallback(mCallback);
|
| - closeDialog();
|
| - }
|
| }
|
|
|