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.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
import com.google.android.material.color.DynamicColors
|
||||||
import com.tfcporciuncula.flow.FlowSharedPreferences
|
import com.tfcporciuncula.flow.FlowSharedPreferences
|
||||||
import com.tfcporciuncula.flow.Preference
|
import com.tfcporciuncula.flow.Preference
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
@ -101,9 +101,9 @@ class PreferencesHelper(val context: Context) {
|
||||||
|
|
||||||
fun themeDarkAmoled() = flowPrefs.getBoolean(Keys.themeDarkAmoled, false)
|
fun themeDarkAmoled() = flowPrefs.getBoolean(Keys.themeDarkAmoled, false)
|
||||||
|
|
||||||
private val isOnA12 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
|
private val supportsDynamic = DynamicColors.isDynamicColorAvailable()
|
||||||
fun lightTheme() = flowPrefs.getEnum(Keys.lightTheme, if (isOnA12) Themes.MONET else Themes.DEFAULT)
|
fun lightTheme() = flowPrefs.getEnum(Keys.lightTheme, if (supportsDynamic) Themes.MONET else Themes.DEFAULT)
|
||||||
fun darkTheme() = flowPrefs.getEnum(Keys.darkTheme, if (isOnA12) 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)
|
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_NO
|
||||||
import android.content.res.Configuration.UI_MODE_NIGHT_YES
|
import android.content.res.Configuration.UI_MODE_NIGHT_YES
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Build
|
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
|
@ -17,6 +16,7 @@ import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceViewHolder
|
import androidx.preference.PreferenceViewHolder
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.android.material.color.DynamicColors
|
||||||
import com.mikepenz.fastadapter.FastAdapter
|
import com.mikepenz.fastadapter.FastAdapter
|
||||||
import com.mikepenz.fastadapter.ISelectionListener
|
import com.mikepenz.fastadapter.ISelectionListener
|
||||||
import com.mikepenz.fastadapter.adapters.ItemAdapter
|
import com.mikepenz.fastadapter.adapters.ItemAdapter
|
||||||
|
@ -61,15 +61,15 @@ class ThemePreference @JvmOverloads constructor(context: Context, attrs: Attribu
|
||||||
selectExtensionLight = fastAdapterLight.getSelectExtension().setThemeListener(false)
|
selectExtensionLight = fastAdapterLight.getSelectExtension().setThemeListener(false)
|
||||||
selectExtensionDark = fastAdapterDark.getSelectExtension().setThemeListener(true)
|
selectExtensionDark = fastAdapterDark.getSelectExtension().setThemeListener(true)
|
||||||
val enumConstants = Themes.values()
|
val enumConstants = Themes.values()
|
||||||
val isOnA12 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
|
val supportsDynamic = DynamicColors.isDynamicColorAvailable()
|
||||||
itemAdapterLight.set(
|
itemAdapterLight.set(
|
||||||
enumConstants
|
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) }
|
.map { ThemeItem(it, false) }
|
||||||
)
|
)
|
||||||
itemAdapterDark.set(
|
itemAdapterDark.set(
|
||||||
enumConstants
|
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) }
|
.map { ThemeItem(it, true) }
|
||||||
)
|
)
|
||||||
isSelectable = false
|
isSelectable = false
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue