💄 Player optimization

This commit is contained in:
2024-09-02 20:42:33 +08:00
parent a5f39321eb
commit ddeda2ce23
6 changed files with 86 additions and 8 deletions

View File

@ -2,12 +2,35 @@ import 'dart:math';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:rhythm_box/providers/user_preferences.dart';
import 'package:rhythm_box/widgets/lyrics/synced_lyrics.dart';
import 'package:rhythm_box/widgets/player/bottom_player.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
class LyricsScreen extends StatelessWidget {
class LyricsScreen extends StatefulWidget {
const LyricsScreen({super.key});
@override
State<LyricsScreen> createState() => _LyricsScreenState();
}
class _LyricsScreenState extends State<LyricsScreen> {
late final UserPreferencesProvider _preferences = Get.find();
@override
void activate() {
super.activate();
if (_preferences.state.value.playerWakelock) {
WakelockPlus.enable();
}
}
@override
void deactivate() {
super.deactivate();
WakelockPlus.disable();
}
@override
Widget build(BuildContext context) {
return Material(

View File

@ -2,11 +2,13 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:go_router/go_router.dart';
import 'package:rhythm_box/platform.dart';
import 'package:rhythm_box/providers/user_preferences.dart';
import 'package:rhythm_box/screens/player/queue.dart';
import 'package:rhythm_box/screens/player/siblings.dart';
import 'package:rhythm_box/widgets/lyrics/synced_lyrics.dart';
import 'package:rhythm_box/widgets/player/bottom_player.dart';
import 'package:rhythm_box/widgets/player/devices.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
import 'package:window_manager/window_manager.dart';
class MiniPlayerScreen extends StatefulWidget {
@ -19,6 +21,8 @@ class MiniPlayerScreen extends StatefulWidget {
}
class _MiniPlayerScreenState extends State<MiniPlayerScreen> {
late final UserPreferencesProvider _preferences = Get.find();
bool _wasMaximized = false;
bool _areaActive = false;
@ -51,6 +55,20 @@ class _MiniPlayerScreenState extends State<MiniPlayerScreen> {
}
}
@override
void activate() {
super.activate();
if (_preferences.state.value.playerWakelock) {
WakelockPlus.enable();
}
}
@override
void deactivate() {
super.deactivate();
WakelockPlus.disable();
}
@override
void initState() {
super.initState();

View File

@ -34,7 +34,6 @@ class _PlayerScreenState extends State<PlayerScreen> {
late final AudioPlayerProvider _playback = Get.find();
late final QueryingTrackInfoProvider _query = Get.find();
late final AuthenticationProvider _auth = Get.find();
late final UserPreferencesProvider _preferences = Get.find();
String? get _albumArt =>