aboutsummaryrefslogtreecommitdiffstats
path: root/lib/presentation/screens/settings
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2024-01-23 15:51:45 -0500
committerScott Murray <scott.murray@konsulko.com>2024-01-23 16:40:09 -0500
commitcc99d4d772be6635639a0d398076a8890f4e6a42 (patch)
treedb3b41545c94337b43421bab00b829181fdbf57d /lib/presentation/screens/settings
parentee592b5048543951f712c0abb997a6e97c036544 (diff)
Connect audio settings button
Rework to connect the audio settings button on the media pages to the appropriate settings page, and have the back button go back to the expected previous page. To enable this, the global AppState provider was reworked to track the previous page and add explicit update and back member functions. Bug-AGL: SPEC-5030 Change-Id: I5858d1b1bf511a184b6538b2ce8c183b00c24fc6 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'lib/presentation/screens/settings')
-rw-r--r--lib/presentation/screens/settings/settings_screens/audio_settings/audio_settings_screen.dart7
-rw-r--r--lib/presentation/screens/settings/widgets/settings_content.dart30
2 files changed, 12 insertions, 25 deletions
diff --git a/lib/presentation/screens/settings/settings_screens/audio_settings/audio_settings_screen.dart b/lib/presentation/screens/settings/settings_screens/audio_settings/audio_settings_screen.dart
index 3c3508e..2b14b7f 100644
--- a/lib/presentation/screens/settings/settings_screens/audio_settings/audio_settings_screen.dart
+++ b/lib/presentation/screens/settings/settings_screens/audio_settings/audio_settings_screen.dart
@@ -2,7 +2,6 @@ import 'package:flutter_ics_homescreen/export.dart';
import 'widget/audio_content.dart';
-
class AudioSettingsPage extends ConsumerWidget {
const AudioSettingsPage({super.key});
@@ -17,14 +16,12 @@ class AudioSettingsPage extends ConsumerWidget {
title: 'Audio Settings',
hasBackButton: true,
onPressed: () {
- context.flow<AppState>().update((state) => AppState.settings);
+ ref.read(appProvider.notifier).back();
},
),
- const Expanded(
- child: AudioContent()),
+ const Expanded(child: AudioContent()),
],
),
);
}
}
-
diff --git a/lib/presentation/screens/settings/widgets/settings_content.dart b/lib/presentation/screens/settings/widgets/settings_content.dart
index f73bf6d..6d0df50 100644
--- a/lib/presentation/screens/settings/widgets/settings_content.dart
+++ b/lib/presentation/screens/settings/widgets/settings_content.dart
@@ -2,13 +2,13 @@ import 'package:flutter_ics_homescreen/export.dart';
import '../../../custom_icons/custom_icons.dart';
-class Settings extends StatelessWidget {
+class Settings extends ConsumerWidget {
const Settings({
super.key,
});
@override
- Widget build(BuildContext context) {
+ Widget build(BuildContext context, WidgetRef ref) {
return Column(
mainAxisAlignment: MainAxisAlignment.start,
//crossAxisAlignment: CrossAxisAlignment.center,
@@ -25,66 +25,56 @@ class Settings extends StatelessWidget {
title: 'Date & Time',
hasSwich: false,
voidCallback: () async {
- context
- .flow<AppState>()
- .update((next) => AppState.dateTime);
+ ref.read(appProvider.notifier).update(AppState.dateTime);
}),
SettingsTile(
icon: Icons.bluetooth,
title: 'Bluetooth',
hasSwich: true,
voidCallback: () {
- context
- .flow<AppState>()
- .update((next) => AppState.bluetooth);
+ ref.read(appProvider.notifier).update(AppState.bluetooth);
}),
SettingsTile(
icon: Icons.wifi,
title: 'Wifi',
hasSwich: true,
voidCallback: () {
- context.flow<AppState>().update((next) => AppState.wifi);
+ ref.read(appProvider.notifier).update(AppState.wifi);
}),
SettingsTile(
icon: CustomIcons.wiredicon,
title: 'Wired',
hasSwich: false,
voidCallback: () {
- context.flow<AppState>().update((next) => AppState.wired);
+ ref.read(appProvider.notifier).update(AppState.wired);
}),
SettingsTile(
icon: Icons.tune,
title: 'Audio Settings',
hasSwich: false,
voidCallback: () {
- context
- .flow<AppState>()
- .update((next) => AppState.audioSettings);
+ ref.read(appProvider.notifier).update(AppState.audioSettings);
}),
SettingsTile(
icon: Icons.person_2_outlined,
title: 'Profiles',
hasSwich: false,
voidCallback: () {
- context
- .flow<AppState>()
- .update((next) => AppState.profiles);
+ ref.read(appProvider.notifier).update(AppState.profiles);
}),
SettingsTile(
icon: Icons.straighten,
title: 'Units',
hasSwich: false,
voidCallback: () {
- context.flow<AppState>().update((next) => AppState.units);
+ ref.read(appProvider.notifier).update(AppState.units);
}),
SettingsTile(
icon: Icons.help_sharp,
title: 'Version Info',
hasSwich: false,
voidCallback: () {
- context
- .flow<AppState>()
- .update((next) => AppState.versionInfo);
+ ref.read(appProvider.notifier).update(AppState.versionInfo);
}),
],
),