4
4
///
5
5
import 'package:flutter/material.dart' ;
6
6
import 'package:video_player/video_player.dart' ;
7
+ import 'package:wechat_assets_picker/src/delegates/asset_picker_viewer_builder_delegate.dart' ;
7
8
import 'package:wechat_assets_picker/wechat_assets_picker.dart' ;
8
9
9
10
import 'package:wechat_assets_picker/src/constants/constants.dart' ;
10
11
11
- class VideoPageBuilder < A , P > extends StatefulWidget {
12
+ class VideoPageBuilder extends StatefulWidget {
12
13
const VideoPageBuilder ({Key key, this .asset, this .state}) : super (key: key);
13
14
14
15
/// Asset currently displayed.
@@ -17,7 +18,7 @@ class VideoPageBuilder<A, P> extends StatefulWidget {
17
18
18
19
/// [State] for asset picker viewer.
19
20
/// 资源查看器的状态[State]
20
- final AssetPickerViewerState <A , P > state;
21
+ final AssetPickerViewerState <AssetEntity , AssetPathEntity > state;
21
22
22
23
@override
23
24
_VideoPageBuilderState createState () => _VideoPageBuilderState ();
@@ -40,6 +41,9 @@ class _VideoPageBuilderState extends State<VideoPageBuilder> {
40
41
/// 初始化视频控制器时是否发生错误
41
42
bool hasErrorWhenInitializing = false ;
42
43
44
+ DefaultAssetPickerViewerBuilderDelegate get builder =>
45
+ widget.state.builder as DefaultAssetPickerViewerBuilderDelegate ;
46
+
43
47
@override
44
48
void initState () {
45
49
super .initState ();
@@ -99,8 +103,8 @@ class _VideoPageBuilderState extends State<VideoPageBuilder> {
99
103
if (isPlaying) {
100
104
_controller.pause ();
101
105
} else {
102
- if (widget.state. builder.isDisplayingDetail) {
103
- widget.state. builder.switchDisplayingDetail (value: false );
106
+ if (builder.isDisplayingDetail) {
107
+ builder.switchDisplayingDetail (value: false );
104
108
}
105
109
if (_controller.value.duration == _controller.value.position) {
106
110
_controller
@@ -132,7 +136,7 @@ class _VideoPageBuilderState extends State<VideoPageBuilder> {
132
136
behavior: HitTestBehavior .opaque,
133
137
onTap: isPlaying
134
138
? playButtonCallback
135
- : widget.state .switchDisplayingDetail,
139
+ : builder .switchDisplayingDetail,
136
140
child: Center (
137
141
child: AnimatedOpacity (
138
142
duration: kThemeAnimationDuration,
@@ -160,8 +164,6 @@ class _VideoPageBuilderState extends State<VideoPageBuilder> {
160
164
),
161
165
],
162
166
)
163
- : Center (
164
- child: Text (Constants .textDelegate.loadFailed),
165
- );
167
+ : Center (child: Text (Constants .textDelegate.loadFailed));
166
168
}
167
169
}
0 commit comments