Partially rollback system theme (#1552)

This commit is contained in:
Gregory Velichko
2024-04-21 16:31:55 +03:00
parent 2c1687c33d
commit 40d303fb57
4 changed files with 34 additions and 26 deletions

View File

@@ -88,30 +88,12 @@ class _SettingsPageState extends State<SettingsPage> {
initUpdateIntervalInterpolator();
processIntervalSliderValue(settingsProvider.updateIntervalSliderVal);
var themeDropdown = FutureBuilder(
var followSystemThemeExplanation = FutureBuilder(
builder: (ctx, val) {
return DropdownButtonFormField(
decoration: InputDecoration(labelText: tr('theme')),
value: settingsProvider.theme,
items: [
DropdownMenuItem(
value: ThemeSettings.light,
child: Text(tr('light')),
),
DropdownMenuItem(
value: ThemeSettings.dark,
child: Text(tr('dark')),
),
if ((val.data?.version.sdkInt ?? 0) >= 29) DropdownMenuItem(
value: ThemeSettings.system,
child: Text(tr('followSystem')),
)
],
onChanged: (value) {
if (value != null) {
settingsProvider.theme = value;
}
});
return ((val.data?.version.sdkInt ?? 30) < 29) ?
Text(tr('followSystemThemeExplanation'),
style: Theme.of(context).textTheme.labelSmall)
: const SizedBox.shrink();
},
future: DeviceInfoPlugin().androidInfo
);
@@ -583,7 +565,31 @@ class _SettingsPageState extends State<SettingsPage> {
fontWeight: FontWeight.bold,
color: Theme.of(context).colorScheme.primary),
),
themeDropdown,
DropdownButtonFormField(
decoration: InputDecoration(labelText: tr('theme')),
value: settingsProvider.theme,
items: [
DropdownMenuItem(
value: ThemeSettings.system,
child: Text(tr('followSystem')),
),
DropdownMenuItem(
value: ThemeSettings.light,
child: Text(tr('light')),
),
DropdownMenuItem(
value: ThemeSettings.dark,
child: Text(tr('dark')),
)
],
onChanged: (value) {
if (value != null) {
settingsProvider.theme = value;
}
}),
height8,
if (settingsProvider.theme == ThemeSettings.system)
followSystemThemeExplanation,
height16,
if (settingsProvider.theme != ThemeSettings.light)
Row(

View File

@@ -19,7 +19,7 @@ String obtainiumId = 'dev.imranr.obtainium';
String obtainiumUrl = 'https://github.com/ImranR98/Obtainium';
Color obtainiumThemeColor = const Color(0xFF6438B5);
enum ThemeSettings { light, dark, system }
enum ThemeSettings { system, light, dark }
enum SortColumnSettings { added, nameAuthor, authorName, releaseDate }
@@ -59,7 +59,7 @@ class SettingsProvider with ChangeNotifier {
ThemeSettings get theme {
return ThemeSettings
.values[prefs?.getInt('theme') ?? ThemeSettings.light.index];
.values[prefs?.getInt('theme') ?? ThemeSettings.system.index];
}
set theme(ThemeSettings t) {