From 19f2b5473be5df10b9b0bdfa39dde1a925349be5 Mon Sep 17 00:00:00 2001 From: PartyDonut Date: Fri, 8 Aug 2025 20:00:20 +0200 Subject: [PATCH] fix: Strange state notifier bug when setting volume --- lib/screens/settings/player_settings_page.dart | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/screens/settings/player_settings_page.dart b/lib/screens/settings/player_settings_page.dart index 7e45b81..c33ddf5 100644 --- a/lib/screens/settings/player_settings_page.dart +++ b/lib/screens/settings/player_settings_page.dart @@ -106,7 +106,7 @@ class _PlayerSettingsPageState extends ConsumerState { value: entry, child: Text(entry.label(context)), onTap: () => ref.read(videoPlayerSettingsProvider.notifier).state = - ref.read(videoPlayerSettingsProvider).copyWith(maxHomeBitrate: entry), + videoSettings.copyWith(maxHomeBitrate: entry), ), ) .toList(), @@ -128,7 +128,7 @@ class _PlayerSettingsPageState extends ConsumerState { value: entry, child: Text(entry.label(context)), onTap: () => ref.read(videoPlayerSettingsProvider.notifier).state = - ref.read(videoPlayerSettingsProvider).copyWith(maxInternetBitrate: entry), + videoSettings.copyWith(maxInternetBitrate: entry), ), ) .toList(), @@ -160,7 +160,7 @@ class _PlayerSettingsPageState extends ConsumerState { final newEntries = videoSettings.segmentSkipSettings.map( (key, currentValue) => MapEntry(key, key == entry.key ? value : currentValue)); ref.read(videoPlayerSettingsProvider.notifier).state = - ref.read(videoPlayerSettingsProvider).copyWith(segmentSkipSettings: newEntries); + videoSettings.copyWith(segmentSkipSettings: newEntries); }, ), ) @@ -267,8 +267,8 @@ class _PlayerSettingsPageState extends ConsumerState { label: Text(context.localized.playerSettingsBackendTitle), subLabel: Text(context.localized.playerSettingsBackendDesc), trailing: Builder(builder: (context) { - final wantedPlayer = ref.watch(videoPlayerSettingsProvider.select((value) => value.wantedPlayer)); - final currentPlayer = ref.watch(videoPlayerSettingsProvider.select((value) => value.playerOptions)); + final wantedPlayer = videoSettings.wantedPlayer; + final currentPlayer = videoSettings.playerOptions; return EnumBox( current: currentPlayer == null ? "${context.localized.defaultLabel} (${PlayerOptions.platformDefaults.label(context)})" @@ -279,14 +279,14 @@ class _PlayerSettingsPageState extends ConsumerState { child: Text("${context.localized.defaultLabel} (${PlayerOptions.platformDefaults.label(context)})"), onTap: () => ref.read(videoPlayerSettingsProvider.notifier).state = - ref.read(videoPlayerSettingsProvider).copyWith(playerOptions: null), + videoSettings.copyWith(playerOptions: null), ), ...PlayerOptions.available.map( (entry) => PopupMenuItem( value: entry, child: Text(entry.label(context)), onTap: () => ref.read(videoPlayerSettingsProvider.notifier).state = - ref.read(videoPlayerSettingsProvider).copyWith(playerOptions: entry), + videoSettings.copyWith(playerOptions: entry), ), ) ], @@ -294,7 +294,7 @@ class _PlayerSettingsPageState extends ConsumerState { }), ), AnimatedFadeSize( - child: switch (ref.read(videoPlayerSettingsProvider.select((value) => value.wantedPlayer))) { + child: switch (videoSettings.wantedPlayer) { PlayerOptions.libMPV => Column( children: [ SettingsListTile( @@ -378,7 +378,7 @@ class _PlayerSettingsPageState extends ConsumerState { value: entry, child: Text(entry.label(context)), onTap: () => ref.read(videoPlayerSettingsProvider.notifier).state = - ref.read(videoPlayerSettingsProvider).copyWith(nextVideoType: entry), + videoSettings.copyWith(nextVideoType: entry), ), ) .toList(),