Index: chrome/android/java/src/org/chromium/chrome/browser/media/remote/MediaRouteControllerDialogFactory.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/MediaRouteControllerDialogFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/MediaRouteControllerDialogFactory.java |
index 7caf35da2f9e165842d591829372801b852d339f..0f48bfa587f76358e1e38abaadc2fcff44bc6960 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/MediaRouteControllerDialogFactory.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/MediaRouteControllerDialogFactory.java |
@@ -46,22 +46,31 @@ public class MediaRouteControllerDialogFactory extends MediaRouteDialogFactory { |
} |
} |
- @Override |
- public MediaRouteControllerDialogFragment onCreateControllerDialogFragment() { |
- return new MediaRouteControllerDialogFragment() { |
- final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver(); |
+ /** |
+ * A dialog fragment for controlling a media route that saves system visibility for |
+ * handling fullscreen state of Chrome correctly. Needs to be a named public static class, |
+ * see https://crbug.com/618993. |
+ */ |
+ public static final class Fragment extends MediaRouteControllerDialogFragment { |
+ final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver(); |
- @Override |
- public Dialog onCreateDialog(Bundle saved) { |
- mVisibilitySaver.saveSystemVisibility(getActivity()); |
- return new MediaRouteControllerDialog(getActivity()); |
- } |
+ public Fragment() {} |
- @Override |
- public void onStop() { |
- super.onStop(); |
- mVisibilitySaver.restoreSystemVisibility(getActivity()); |
- } |
- }; |
+ @Override |
+ public Dialog onCreateDialog(Bundle saved) { |
+ mVisibilitySaver.saveSystemVisibility(getActivity()); |
+ return new MediaRouteControllerDialog(getActivity()); |
+ } |
+ |
+ @Override |
+ public void onStop() { |
+ super.onStop(); |
+ mVisibilitySaver.restoreSystemVisibility(getActivity()); |
+ } |
+ } |
+ |
+ @Override |
+ public MediaRouteControllerDialogFragment onCreateControllerDialogFragment() { |
+ return new MediaRouteControllerDialogFragment(); |
} |
} |