I'm inheriting the "Theme.AppCompat.DayNight" theme to support dark mode automatically on Android Q and manually on previous versions. On Settings I let the user choose either On, Off or Automatic and then I use this code:
AppCompatDelegate.setDefaultNightMode(settings.darkMode())
Where settings.darkMode is:
val darkValue =
sharedPreferences.getString("PREF_DARK_THEME", null)
return when (darkValue) {
"ON" -> MODE_NIGHT_YES
"OFF" -> MODE_NIGHT_NO
else -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
MODE_NIGHT_FOLLOW_SYSTEM
} else {
MODE_NIGHT_AUTO_BATTERY
}
}
However I'd like to add support for Samsung One UI's "Night mode". Is it possible to read that system setting? I'd like to do something like this:
...
else -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
MODE_NIGHT_FOLLOW_SYSTEM
} else if("samsung"==Build.MANUFACTURER && isSamsungNightModeEnabled()) {
MODE_NIGHT_YES
} else ...[add other brands]...
} else {
MODE_NIGHT_AUTO_BATTERY
}