瀏覽代碼

Only reinitialize if ChewieController changed

Ben Hagen 6 年之前
父節點
當前提交
fc1bc166a0
共有 2 個文件被更改,包括 10 次插入4 次删除
  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();
   }