mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 11:08:03 +08:00
pause on minimize
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -59,6 +59,8 @@ class MainController extends GetxController
|
||||
|
||||
late bool directExitOnBack = Pref.directExitOnBack;
|
||||
late bool minimizeOnExit = Pref.minimizeOnExit;
|
||||
late bool pauseOnMinimize = Pref.pauseOnMinimize;
|
||||
late bool isPlaying = false;
|
||||
|
||||
static const _period = 5 * 60 * 1000;
|
||||
late int _lastSelectTime = 0;
|
||||
|
||||
@@ -9,6 +9,8 @@ import 'package:PiliPlus/models/common/nav_bar_config.dart';
|
||||
import 'package:PiliPlus/pages/home/view.dart';
|
||||
import 'package:PiliPlus/pages/main/controller.dart';
|
||||
import 'package:PiliPlus/pages/mine/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/models/play_status.dart';
|
||||
import 'package:PiliPlus/utils/app_scheme.dart';
|
||||
import 'package:PiliPlus/utils/context_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
@@ -131,6 +133,7 @@ class _MainAppState extends State<MainApp>
|
||||
void onWindowClose() {
|
||||
if (_mainController.minimizeOnExit) {
|
||||
windowManager.hide();
|
||||
_onHideWindow();
|
||||
} else {
|
||||
_onClose();
|
||||
}
|
||||
@@ -144,11 +147,40 @@ class _MainAppState extends State<MainApp>
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onWindowMinimize() {
|
||||
_onHideWindow();
|
||||
}
|
||||
|
||||
@override
|
||||
void onWindowRestore() {
|
||||
_onShowWindow();
|
||||
}
|
||||
|
||||
void _onHideWindow() {
|
||||
if (_mainController.pauseOnMinimize) {
|
||||
_mainController.isPlaying =
|
||||
PlPlayerController.instance?.playerStatus.status.value ==
|
||||
PlayerStatus.playing;
|
||||
PlPlayerController.pauseIfExists();
|
||||
}
|
||||
}
|
||||
|
||||
void _onShowWindow() {
|
||||
if (_mainController.pauseOnMinimize) {
|
||||
if (_mainController.isPlaying) {
|
||||
PlPlayerController.playIfExists();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> onTrayIconMouseDown() async {
|
||||
if (await windowManager.isVisible()) {
|
||||
_onHideWindow();
|
||||
windowManager.hide();
|
||||
} else {
|
||||
_onShowWindow();
|
||||
windowManager.show();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user