💄 Player optimization
This commit is contained in:
@ -42,20 +42,34 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
||||
|
||||
_featuredPlaylist =
|
||||
(await _spotify.api.playlists.featured.getPage(20)).items!.toList();
|
||||
setState(() => _isLoading['featured'] = false);
|
||||
if (mounted) {
|
||||
setState(() => _isLoading['featured'] = false);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
final idxList = Set();
|
||||
_recentlyPlaylist = (await _history.fetch())
|
||||
.where((x) => x.playlist != null)
|
||||
.map((x) => x.playlist!)
|
||||
.toList();
|
||||
setState(() => _isLoading['recently'] = false);
|
||||
.toList()
|
||||
..retainWhere((x) => idxList.add(x.id!));
|
||||
if (mounted) {
|
||||
setState(() => _isLoading['recently'] = false);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
_newReleasesPlaylist =
|
||||
(await _spotify.api.browse.newReleases(country: market).getPage(20))
|
||||
.items
|
||||
?.map((album) => album.toAlbum())
|
||||
.toList();
|
||||
setState(() => _isLoading['newReleases'] = false);
|
||||
if (mounted) {
|
||||
setState(() => _isLoading['newReleases'] = false);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
final customEndpoint =
|
||||
CustomSpotifyEndpoints(_auth.auth.value?.accessToken.value ?? '');
|
||||
@ -65,7 +79,11 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
||||
locale: Intl.canonicalizedLocale(locale.toString()),
|
||||
);
|
||||
_forYouView = forYouView['content']?['items'];
|
||||
setState(() => _isLoading['forYou'] = false);
|
||||
if (mounted) {
|
||||
setState(() => _isLoading['forYou'] = false);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -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(
|
||||
|
@ -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();
|
||||
|
@ -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 =>
|
||||
|
Reference in New Issue
Block a user