diff --git a/lib/pages/cashfusion/fusion_progress_view.dart b/lib/pages/cashfusion/fusion_progress_view.dart index fd2921c7f..e4d787903 100644 --- a/lib/pages/cashfusion/fusion_progress_view.dart +++ b/lib/pages/cashfusion/fusion_progress_view.dart @@ -12,6 +12,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:wakelock/wakelock.dart'; import '../../pages_desktop_specific/cashfusion/sub_widgets/fusion_progress.dart'; import '../../providers/cash_fusion/fusion_progress_ui_state_provider.dart'; @@ -84,6 +85,8 @@ class _FusionProgressViewState extends ConsumerState { message: "Stopping fusion", ); + await Wakelock.disable(); + return true; } else { return false; @@ -96,6 +99,12 @@ class _FusionProgressViewState extends ConsumerState { super.initState(); } + @override + void dispose() { + Wakelock.disable(); + super.dispose(); + } + @override Widget build(BuildContext context) { final bool _succeeded = @@ -108,6 +117,8 @@ class _FusionProgressViewState extends ConsumerState { .watch(fusionProgressUIStateProvider(widget.walletId)) .fusionRoundsCompleted; + Wakelock.enable(); + return WillPopScope( onWillPop: () async { return await _requestAndProcessCancel(); diff --git a/lib/pages_desktop_specific/cashfusion/sub_widgets/fusion_dialog.dart b/lib/pages_desktop_specific/cashfusion/sub_widgets/fusion_dialog.dart index 51502bf81..09bce3a3b 100644 --- a/lib/pages_desktop_specific/cashfusion/sub_widgets/fusion_dialog.dart +++ b/lib/pages_desktop_specific/cashfusion/sub_widgets/fusion_dialog.dart @@ -1,7 +1,9 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:wakelock/wakelock.dart'; import '../../../providers/cash_fusion/fusion_progress_ui_state_provider.dart'; import '../../../providers/global/prefs_provider.dart'; @@ -137,6 +139,8 @@ class _FusionDialogViewState extends ConsumerState { message: "Stopping fusion", ); + await Wakelock.disable(); + return true; } else { return false; @@ -150,6 +154,12 @@ class _FusionDialogViewState extends ConsumerState { super.initState(); } + @override + dispose() { + Wakelock.disable(); + super.dispose(); + } + @override Widget build(BuildContext context) { final bool _succeeded = @@ -162,6 +172,10 @@ class _FusionDialogViewState extends ConsumerState { .watch(fusionProgressUIStateProvider(widget.walletId)) .fusionRoundsCompleted; + if (!Platform.isLinux) { + Wakelock.enable(); + } + return DesktopDialog( maxHeight: 600, child: SingleChildScrollView(