mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-11-03 23:03:29 +01:00 
			
		
		
		
	Partially rollback system theme (#1552)
This commit is contained in:
		@@ -113,6 +113,7 @@
 | 
			
		||||
    "dark": "Dark",
 | 
			
		||||
    "light": "Light",
 | 
			
		||||
    "followSystem": "Follow System",
 | 
			
		||||
    "followSystemThemeExplanation": "Following system theme is possible only by using third-party applications",
 | 
			
		||||
    "useBlackTheme": "Use pure black dark theme",
 | 
			
		||||
    "appSortBy": "App Sort By",
 | 
			
		||||
    "authorName": "Author/Name",
 | 
			
		||||
 
 | 
			
		||||
@@ -113,6 +113,7 @@
 | 
			
		||||
    "dark": "Тёмная",
 | 
			
		||||
    "light": "Светлая",
 | 
			
		||||
    "followSystem": "Системная",
 | 
			
		||||
    "followSystemThemeExplanation": "Следование системной теме возможно только при использовании сторонних приложений",
 | 
			
		||||
    "useBlackTheme": "Использовать чёрную тему",
 | 
			
		||||
    "appSortBy": "Сортировка приложений",
 | 
			
		||||
    "authorName": "Автор/Название",
 | 
			
		||||
 
 | 
			
		||||
@@ -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(
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user