diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt b/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt index f9618474b..fa4dc38f9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt @@ -1,24 +1,21 @@ package code.name.monkey.retromusic.helper +import android.app.WallpaperColors import android.app.WallpaperManager import android.content.Context -import android.os.Build import android.os.Handler import android.os.Looper -import androidx.annotation.RequiresApi import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.util.PreferenceUtil class WallpaperAccentManager(val context: Context) { - @RequiresApi(Build.VERSION_CODES.O_MR1) - private val onColorsChangedListener = + private val onColorsChangedListener by lazy { WallpaperManager.OnColorsChangedListener { colors, which -> - if (which == WallpaperManager.FLAG_SYSTEM && colors != null) { - ThemeStore.editTheme(context).wallpaperColor(colors.primaryColor.toArgb()).commit() - } + updateColors(colors, which) } + } fun init() { if (VersionUtils.hasOreoMR1() && PreferenceUtil.wallpaperAccent) { @@ -37,4 +34,13 @@ class WallpaperAccentManager(val context: Context) { .removeOnColorsChangedListener(onColorsChangedListener) } } + + private fun updateColors(colors: WallpaperColors?, which: Int) { + if (VersionUtils.hasOreoMR1()) { + if (which == WallpaperManager.FLAG_SYSTEM && colors != null) { + ThemeStore.editTheme(context).wallpaperColor(colors.primaryColor.toArgb()) + .commit() + } + } + } } \ No newline at end of file