From 8e4c2ceaefbc2b96729faf36fb232658e00604c8 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 27 Sep 2019 11:59:08 +0200 Subject: [PATCH] Fixed default night mode on Android 10 --- .../settings/LinphonePreferences.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/linphone/settings/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java index 82b9ab721..9357ab60c 100644 --- a/app/src/main/java/org/linphone/settings/LinphonePreferences.java +++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java @@ -22,6 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; +import android.content.res.Configuration; import androidx.appcompat.app.AppCompatDelegate; import java.io.BufferedReader; import java.io.File; @@ -1175,12 +1176,19 @@ public class LinphonePreferences { public boolean isDarkModeEnabled() { if (getConfig() == null) return false; - return getConfig() - .getBool( - "app", - "dark_mode", - AppCompatDelegate.getDefaultNightMode() - == AppCompatDelegate.MODE_NIGHT_YES); + + boolean useNightModeDefault = + AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES; + if (mContext != null) { + int nightMode = + mContext.getResources().getConfiguration().uiMode + & Configuration.UI_MODE_NIGHT_MASK; + if (nightMode == Configuration.UI_MODE_NIGHT_YES) { + useNightModeDefault = true; + } + } + + return getConfig().getBool("app", "dark_mode", useNightModeDefault); } public void enableDarkMode(boolean enable) {