|
@@ -16,6 +16,7 @@ import 'package:photos/ui/viewer/gallery/gallery.dart';
|
|
|
import 'package:photos/utils/dialog_util.dart';
|
|
|
import 'package:photos/utils/file_util.dart';
|
|
|
import 'package:photos/utils/navigation_util.dart';
|
|
|
+import 'package:wakelock/wakelock.dart';
|
|
|
|
|
|
enum DetailPageMode {
|
|
|
minimalistic,
|
|
@@ -154,6 +155,7 @@ class _DetailPageState extends State<DetailPage> {
|
|
|
},
|
|
|
playbackCallback: (isPlaying) {
|
|
|
_shouldHideAppBar = isPlaying;
|
|
|
+ _keepScreenAliveOnPlaying(isPlaying);
|
|
|
Future.delayed(Duration.zero, () {
|
|
|
_toggleFullScreen();
|
|
|
});
|
|
@@ -251,6 +253,23 @@ class _DetailPageState extends State<DetailPage> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ void _keepScreenAliveOnPlaying(bool isPlaying) {
|
|
|
+ bool wakeLockEnabledHere = false;
|
|
|
+ if (isPlaying) {
|
|
|
+ Wakelock.enabled.then((value) {
|
|
|
+ if (value == false) {
|
|
|
+ Wakelock.enable();
|
|
|
+ wakeLockEnabledHere = true;
|
|
|
+ //wakeLockEnabledHere will not be set to true if wakeLock is already enabled from settings on iOS.
|
|
|
+ //We shouldn't disable when video is not playing if it was enabled manually by the user from ente settings by user.
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (wakeLockEnabledHere && !isPlaying) {
|
|
|
+ Wakelock.disable();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Future<void> _onFileDeleted(File file) async {
|
|
|
final totalFiles = _files.length;
|
|
|
if (totalFiles == 1) {
|