diff --git a/mobile/lib/services/wake_lock_service.dart b/mobile/lib/services/wake_lock_service.dart index 08fa4b2058..2ad8a166ba 100644 --- a/mobile/lib/services/wake_lock_service.dart +++ b/mobile/lib/services/wake_lock_service.dart @@ -5,6 +5,7 @@ enum WakeLockFor { videoPlayback, fasterBackupsOniOSByKeepingScreenAwake, machineLearningSettingsScreen, + handlingMediaKitEdgeCase, } /// Use this class to enable/disable wakelock. This class makes sure that @@ -34,7 +35,8 @@ class EnteWakeLockService { required bool enable, required WakeLockFor wakeLockFor, }) { - if (wakeLockFor == WakeLockFor.fasterBackupsOniOSByKeepingScreenAwake) { + if (wakeLockFor == WakeLockFor.fasterBackupsOniOSByKeepingScreenAwake || + wakeLockFor == WakeLockFor.handlingMediaKitEdgeCase) { WakelockPlus.toggle(enable: enable); _prefs.setBool(kKeepAppAwakeAcrossSessions, enable); } else { diff --git a/mobile/lib/ui/viewer/file/video_widget_media_kit_new.dart b/mobile/lib/ui/viewer/file/video_widget_media_kit_new.dart index b0919260a4..0f5f9397a3 100644 --- a/mobile/lib/ui/viewer/file/video_widget_media_kit_new.dart +++ b/mobile/lib/ui/viewer/file/video_widget_media_kit_new.dart @@ -16,6 +16,7 @@ import "package:photos/models/file/extensions/file_props.dart"; import "package:photos/models/file/file.dart"; import "package:photos/service_locator.dart"; import "package:photos/services/files_service.dart"; +import "package:photos/services/wake_lock_service.dart"; import "package:photos/theme/colors.dart"; import "package:photos/ui/actions/file/file_actions.dart"; import "package:photos/ui/common/loading_widget.dart"; @@ -161,6 +162,12 @@ class _VideoWidgetMediaKitNewState extends State WidgetsBinding.instance.removeObserver(this); player.dispose(); _captionUpdatedSubscription.cancel(); + if (EnteWakeLockService.instance.shouldKeepAppAwakeAcrossSessions()) { + EnteWakeLockService.instance.updateWakeLock( + enable: true, + wakeLockFor: WakeLockFor.handlingMediaKitEdgeCase, + ); + } super.dispose(); }