diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt
index 333b0339e..f7ac748ea 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt
@@ -46,8 +46,8 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
}
private fun updateTheme() {
- setTheme(ThemeManager.getThemeResValue(this))
- setDefaultNightMode(ThemeManager.getNightMode(this))
+ setTheme(ThemeManager.getThemeResValue())
+ setDefaultNightMode(ThemeManager.getNightMode())
if (PreferenceUtil.isCustomFont) {
setTheme(R.style.FontThemeOverlay)
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt
index 6522e3a0a..73983765b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt
@@ -53,7 +53,7 @@ class RestoreActivity : AppCompatActivity() {
}
private fun updateTheme() {
- AppCompatDelegate.setDefaultNightMode(ThemeManager.getNightMode(this))
+ AppCompatDelegate.setDefaultNightMode(ThemeManager.getNightMode())
// Apply dynamic colors to activity if enabled
if (PreferenceUtil.materialYou) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
index 68e0148af..d05efe9a8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
@@ -79,7 +79,7 @@ object PreferenceUtil {
fun getGeneralThemeValue(isSystemDark: Boolean): ThemeMode {
val themeMode: String =
sharedPreferences.getStringOrDefault(GENERAL_THEME, "auto")
- return if (isBlackMode && isSystemDark) {
+ return if (isBlackMode && isSystemDark && themeMode != "light") {
ThemeMode.BLACK
} else {
if (isBlackMode && themeMode == "dark") {
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt b/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt
index f03863f61..8bd8504b2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt
@@ -1,8 +1,8 @@
package code.name.monkey.retromusic.util.theme
-import android.content.Context
import androidx.annotation.StyleRes
import androidx.appcompat.app.AppCompatDelegate
+import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.generalThemeValue
import code.name.monkey.retromusic.util.PreferenceUtil
@@ -11,23 +11,19 @@ import code.name.monkey.retromusic.util.theme.ThemeMode.*
object ThemeManager {
@StyleRes
- fun getThemeResValue(
- context: Context
- ): Int =
+ fun getThemeResValue(): Int =
if (PreferenceUtil.materialYou) {
R.style.Theme_RetroMusic_MD3
} else {
- when (context.generalThemeValue) {
+ when (App.getContext().generalThemeValue) {
LIGHT -> R.style.Theme_RetroMusic_Light
DARK -> R.style.Theme_RetroMusic_Base
BLACK -> R.style.Theme_RetroMusic_Black
AUTO -> R.style.Theme_RetroMusic_FollowSystem
+ }
}
- }
- fun getNightMode(
- context: Context
- ): Int = when (context.generalThemeValue) {
+ fun getNightMode(): Int = when (App.getContext().generalThemeValue) {
LIGHT -> AppCompatDelegate.MODE_NIGHT_NO
DARK -> AppCompatDelegate.MODE_NIGHT_YES
BLACK -> {
diff --git a/app/src/main/res/values-v27/styles_parents.xml b/app/src/main/res/values-v27/styles_parents.xml
index c80f0d996..3020e5e3b 100644
--- a/app/src/main/res/values-v27/styles_parents.xml
+++ b/app/src/main/res/values-v27/styles_parents.xml
@@ -35,7 +35,7 @@
- @drawable/popup_background
-