|
|
@@ -2,6 +2,7 @@ import 'dart:async';
|
|
|
|
|
|
import 'package:chewie/src/chewie_player.dart';
|
|
|
import 'package:chewie/src/chewie_progress_colors.dart';
|
|
|
+import 'package:chewie/src/i2_control_event.dart';
|
|
|
import 'package:chewie/src/material_progress_bar.dart';
|
|
|
import 'package:chewie/src/utils.dart';
|
|
|
import 'package:flutter/material.dart';
|
|
|
@@ -17,7 +18,7 @@ class I2MaterialControls extends StatefulWidget {
|
|
|
|
|
|
@override
|
|
|
State<StatefulWidget> createState() {
|
|
|
- return _MaterialControlsState();
|
|
|
+ return MaterialControlsState();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -26,7 +27,7 @@ enum VerticalMode {
|
|
|
Bright
|
|
|
}
|
|
|
|
|
|
-class _MaterialControlsState extends State<I2MaterialControls> {
|
|
|
+class MaterialControlsState extends State<I2MaterialControls> {
|
|
|
VideoPlayerValue _latestValue;
|
|
|
double _latestVolume;
|
|
|
bool _hideStuff = true;
|
|
|
@@ -54,6 +55,7 @@ class _MaterialControlsState extends State<I2MaterialControls> {
|
|
|
double currentBright;
|
|
|
double currentVolume;
|
|
|
String valueText;
|
|
|
+ StreamSubscription _eventBusStreamSubscription;
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
@@ -255,16 +257,22 @@ class _MaterialControlsState extends State<I2MaterialControls> {
|
|
|
|
|
|
void _initState() async {
|
|
|
FlutterVolume.disableUI();
|
|
|
+ _eventBusStreamSubscription = i2ControlEventBus.on<I2ControllerEvent>().listen((event){
|
|
|
+ if (event == I2ControllerEvent.ShowControl) {
|
|
|
+ _showControlWithoutTimer();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
void dispose() {
|
|
|
+ _eventBusStreamSubscription.cancel();
|
|
|
+ Screen.resetAndroidBrightness();
|
|
|
_dispose();
|
|
|
super.dispose();
|
|
|
}
|
|
|
|
|
|
void _dispose() async {
|
|
|
- Screen.resetAndroidBrightness();
|
|
|
controller.removeListener(_updateState);
|
|
|
_hideTimer?.cancel();
|
|
|
_initTimer?.cancel();
|
|
|
@@ -598,6 +606,16 @@ class _MaterialControlsState extends State<I2MaterialControls> {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ void _showControlWithoutTimer() {
|
|
|
+ _hideTimer?.cancel();
|
|
|
+ // 显示status bar
|
|
|
+ _showStatusBar();
|
|
|
+ setState(() {
|
|
|
+ _hideStuff = false;
|
|
|
+ _displayTapped = true;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
Future<Null> _initialize() async {
|
|
|
controller.addListener(_updateState);
|
|
|
|