From d37a72b2a06fb52e5c7e6c6c9b2c8cbe7ca3d576 Mon Sep 17 00:00:00 2001 From: Morgan Lim Date: Thu, 9 Jul 2020 17:01:34 -0400 Subject: [PATCH] Remove default "light" value for theme in settings_appearance.xml. Change getTheme logic to give a default of day/night on Android 10+. --- .../java/net/nullsum/audinaut/util/ThemeUtil.java | 13 ++++++++++++- app/src/main/res/xml/settings_appearance.xml | 1 - 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/nullsum/audinaut/util/ThemeUtil.java b/app/src/main/java/net/nullsum/audinaut/util/ThemeUtil.java index 27efe6d..81fe62a 100644 --- a/app/src/main/java/net/nullsum/audinaut/util/ThemeUtil.java +++ b/app/src/main/java/net/nullsum/audinaut/util/ThemeUtil.java @@ -18,8 +18,11 @@ package net.nullsum.audinaut.util; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; +import android.os.Build; import android.util.Log; +import androidx.appcompat.app.AppCompatDelegate; + import net.nullsum.audinaut.R; import net.nullsum.audinaut.activity.SettingsActivity; import net.nullsum.audinaut.activity.SubsonicFragmentActivity; @@ -33,7 +36,15 @@ public final class ThemeUtil { public static String getTheme(Context context) { SharedPreferences prefs = Util.getPreferences(context); - String theme = prefs.getString(Constants.PREFERENCES_KEY_THEME, null); + String theme; + + if (Build.VERSION.SDK_INT<29) { + // If Android Pie or older, default to null (handled below as light) + theme = prefs.getString(Constants.PREFERENCES_KEY_THEME, null); + } else { + // Else, for Android 10+, default to follow system dark mode setting + theme = prefs.getString(Constants.PREFERENCES_KEY_THEME, THEME_DAY_NIGHT); + } if (THEME_DAY_NIGHT.equals(theme)) { int currentNightMode = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; diff --git a/app/src/main/res/xml/settings_appearance.xml b/app/src/main/res/xml/settings_appearance.xml index 548cf25..597fc5d 100644 --- a/app/src/main/res/xml/settings_appearance.xml +++ b/app/src/main/res/xml/settings_appearance.xml @@ -3,7 +3,6 @@ android:title="@string/settings.appearance_title">