mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Check if dynamic colors are allowed on certain a12 devices
using the official check Material library provides, hiding the dynamic theme on
This commit is contained in:
parent
71be4137ba
commit
b0ed5e14a7
2 changed files with 8 additions and 8 deletions
|
@ -2,10 +2,10 @@ package eu.kanade.tachiyomi.data.preference
|
|||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Environment
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.google.android.material.color.DynamicColors
|
||||
import com.tfcporciuncula.flow.FlowSharedPreferences
|
||||
import com.tfcporciuncula.flow.Preference
|
||||
import eu.kanade.tachiyomi.R
|
||||
|
@ -101,9 +101,9 @@ class PreferencesHelper(val context: Context) {
|
|||
|
||||
fun themeDarkAmoled() = flowPrefs.getBoolean(Keys.themeDarkAmoled, false)
|
||||
|
||||
private val isOnA12 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
|
||||
fun lightTheme() = flowPrefs.getEnum(Keys.lightTheme, if (isOnA12) Themes.MONET else Themes.DEFAULT)
|
||||
fun darkTheme() = flowPrefs.getEnum(Keys.darkTheme, if (isOnA12) Themes.MONET else Themes.DEFAULT)
|
||||
private val supportsDynamic = DynamicColors.isDynamicColorAvailable()
|
||||
fun lightTheme() = flowPrefs.getEnum(Keys.lightTheme, if (supportsDynamic) Themes.MONET else Themes.DEFAULT)
|
||||
fun darkTheme() = flowPrefs.getEnum(Keys.darkTheme, if (supportsDynamic) Themes.MONET else Themes.DEFAULT)
|
||||
|
||||
fun pageTransitions() = flowPrefs.getBoolean(Keys.enableTransitions, true)
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import android.content.res.Configuration
|
|||
import android.content.res.Configuration.UI_MODE_NIGHT_NO
|
||||
import android.content.res.Configuration.UI_MODE_NIGHT_YES
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
|
@ -17,6 +16,7 @@ import androidx.preference.Preference
|
|||
import androidx.preference.PreferenceViewHolder
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.color.DynamicColors
|
||||
import com.mikepenz.fastadapter.FastAdapter
|
||||
import com.mikepenz.fastadapter.ISelectionListener
|
||||
import com.mikepenz.fastadapter.adapters.ItemAdapter
|
||||
|
@ -61,15 +61,15 @@ class ThemePreference @JvmOverloads constructor(context: Context, attrs: Attribu
|
|||
selectExtensionLight = fastAdapterLight.getSelectExtension().setThemeListener(false)
|
||||
selectExtensionDark = fastAdapterDark.getSelectExtension().setThemeListener(true)
|
||||
val enumConstants = Themes.values()
|
||||
val isOnA12 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
|
||||
val supportsDynamic = DynamicColors.isDynamicColorAvailable()
|
||||
itemAdapterLight.set(
|
||||
enumConstants
|
||||
.filter { (!it.isDarkTheme || it.followsSystem) && (it.styleRes != R.style.Theme_Tachiyomi_Monet || isOnA12) }
|
||||
.filter { (!it.isDarkTheme || it.followsSystem) && (it.styleRes != R.style.Theme_Tachiyomi_Monet || supportsDynamic) }
|
||||
.map { ThemeItem(it, false) }
|
||||
)
|
||||
itemAdapterDark.set(
|
||||
enumConstants
|
||||
.filter { (it.isDarkTheme || it.followsSystem) && (it.styleRes != R.style.Theme_Tachiyomi_Monet || isOnA12) }
|
||||
.filter { (it.isDarkTheme || it.followsSystem) && (it.styleRes != R.style.Theme_Tachiyomi_Monet || supportsDynamic) }
|
||||
.map { ThemeItem(it, true) }
|
||||
)
|
||||
isSelectable = false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue