From bb564f1511dc658d73bc69c95015774ea6e3963c Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Sat, 2 Nov 2019 10:50:20 +0100 Subject: [PATCH] Settings: Use SwitchListTile instead of our custom widget I didn't know this widget existed. --- lib/screens/settings_screen.dart | 24 ++++++++++++------------ lib/screens/settings_widgets.dart | 24 ------------------------ 2 files changed, 12 insertions(+), 36 deletions(-) diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 190cf7f6..7f1f3412 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -115,10 +115,10 @@ class SettingsListState extends State { return ListView(children: [ SettingsHeader('Display Settings'), - BoolPreference( - title: "Dark Theme", - defaultValue: brightness == Brightness.dark, - onChange: (bool newVal) { + SwitchListTile( + title: const Text("Dark Theme"), + value: brightness == Brightness.dark, + onChanged: (bool newVal) { var b = newVal ? Brightness.dark : Brightness.light; var dynamicTheme = DynamicTheme.of(context); dynamicTheme.setBrightness(b); @@ -159,19 +159,19 @@ class SettingsListState extends State { ), const SizedBox(height: 16.0), SettingsHeader("Analytics"), - BoolPreference( - title: "Collect Anonymous Usage Statistics", - defaultValue: Settings.instance.collectUsageStatistics, - onChange: (bool val) { + SwitchListTile( + title: const Text("Collect Anonymous Usage Statistics"), + value: Settings.instance.collectUsageStatistics, + onChanged: (bool val) { Settings.instance.collectUsageStatistics = val; Settings.instance.save(); setState(() {}); }, ), - BoolPreference( - title: "Collect Anonymous Crash Reports", - defaultValue: Settings.instance.collectUsageStatistics, - onChange: (bool val) { + SwitchListTile( + title: const Text("Collect Anonymous Crash Reports"), + value: Settings.instance.collectCrashReports, + onChanged: (bool val) { Settings.instance.collectCrashReports = val; Settings.instance.save(); setState(() {}); diff --git a/lib/screens/settings_widgets.dart b/lib/screens/settings_widgets.dart index 8686f687..b3d7ec9e 100644 --- a/lib/screens/settings_widgets.dart +++ b/lib/screens/settings_widgets.dart @@ -63,27 +63,3 @@ class ListPreference extends StatelessWidget { ); } } - -class BoolPreference extends StatelessWidget { - final String title; - final bool defaultValue; - final Function(bool) onChange; - - BoolPreference({ - @required this.title, - @required this.defaultValue, - @required this.onChange, - }); - - @override - Widget build(BuildContext context) { - return ListTile( - title: Text(title), - trailing: Switch( - value: defaultValue, - onChanged: onChange, - ), - onTap: () => onChange(!defaultValue), - ); - } -}