Browse Source

Only reinitialize if ChewieController changed

Ben Hagen 6 years ago
parent
commit
fc1bc166a0
2 changed files with 10 additions and 4 deletions
  1. 5 2
      lib/src/cupertino_controls.dart
  2. 5 2
      lib/src/material_controls.dart

+ 5 - 2
lib/src/cupertino_controls.dart

@@ -72,11 +72,14 @@ class _CupertinoControlsState extends State<CupertinoControls> {
 
   @override
   void didChangeDependencies() {
+    final _oldController = chewieController;
     chewieController = ChewieController.of(context);
     controller = chewieController.videoPlayerController;
 
-    _dispose();
-    _initialize();
+    if (_oldController != chewieController) {
+      _dispose();
+      _initialize();
+    }
 
     super.didChangeDependencies();
   }

+ 5 - 2
lib/src/material_controls.dart

@@ -65,11 +65,14 @@ class _MaterialControlsState extends State<MaterialControls> {
 
   @override
   void didChangeDependencies() {
+    final _oldController = chewieController;
     chewieController = ChewieController.of(context);
     controller = chewieController.videoPlayerController;
 
-    _dispose();
-    _initialize();
+    if (_oldController != chewieController) {
+      _dispose();
+      _initialize();
+    }
 
     super.didChangeDependencies();
   }