From ed9563d380a235ed120ecbb11042eeb6b47e9c6f Mon Sep 17 00:00:00 2001 From: Zekovski <> Date: Tue, 15 Aug 2023 13:00:26 +0200 Subject: [PATCH] Replaced SDK version check with isDynamicColorAvailable before showing DynamicColors options. --- .../settings/FragmentThemingSettings.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentThemingSettings.java b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentThemingSettings.java index d6403e64..a38c15ac 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentThemingSettings.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentThemingSettings.java @@ -31,6 +31,7 @@ import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import androidx.preference.SwitchPreferenceCompat; +import com.google.android.material.color.DynamicColors; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.jaredrummler.android.colorpicker.ColorPreferenceCompat; @@ -118,20 +119,7 @@ public class FragmentThemingSettings extends PreferenceFragmentCompat implements SwitchPreferenceCompat SET_CUSTOM_ACCENT = findPreference(getString(R.string.SET_CUSTOM_ACCENT)); ColorPreferenceCompat SET_CUSTOM_ACCENT_DARK_VALUE = findPreference(getString(R.string.SET_CUSTOM_ACCENT_DARK_VALUE)); ColorPreferenceCompat SET_CUSTOM_ACCENT_LIGHT_VALUE = findPreference(getString(R.string.SET_CUSTOM_ACCENT_LIGHT_VALUE)); - if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.S) { - if (SET_DYNAMIC_COLOR != null) { - getPreferenceScreen().removePreference(SET_DYNAMIC_COLOR); - } - if (SET_CUSTOM_ACCENT != null) { - getPreferenceScreen().removePreference(SET_CUSTOM_ACCENT); - } - if (SET_CUSTOM_ACCENT_DARK_VALUE != null) { - getPreferenceScreen().removePreference(SET_CUSTOM_ACCENT_DARK_VALUE); - } - if (SET_CUSTOM_ACCENT_LIGHT_VALUE != null) { - getPreferenceScreen().removePreference(SET_CUSTOM_ACCENT_LIGHT_VALUE); - } - } else { + if (DynamicColors.isDynamicColorAvailable()) { if (SET_CUSTOM_ACCENT != null) { boolean customAccentEnabled = sharedpreferences.getBoolean(getString(R.string.SET_CUSTOM_ACCENT) + currentUserID + currentInstance, false); SET_CUSTOM_ACCENT.setChecked(customAccentEnabled); @@ -144,6 +132,19 @@ public class FragmentThemingSettings extends PreferenceFragmentCompat implements int lightValue = sharedpreferences.getInt(getString(R.string.SET_CUSTOM_ACCENT_LIGHT_VALUE) + currentUserID + currentInstance, -1); SET_CUSTOM_ACCENT_LIGHT_VALUE.setColor(lightValue); } + } else { + if (SET_DYNAMIC_COLOR != null) { + getPreferenceScreen().removePreference(SET_DYNAMIC_COLOR); + } + if (SET_CUSTOM_ACCENT != null) { + getPreferenceScreen().removePreference(SET_CUSTOM_ACCENT); + } + if (SET_CUSTOM_ACCENT_DARK_VALUE != null) { + getPreferenceScreen().removePreference(SET_CUSTOM_ACCENT_DARK_VALUE); + } + if (SET_CUSTOM_ACCENT_LIGHT_VALUE != null) { + getPreferenceScreen().removePreference(SET_CUSTOM_ACCENT_LIGHT_VALUE); + } } Preference SET_CUSTOMIZE_LIGHT_COLORS_ACTION = findPreference(getString(R.string.SET_CUSTOMIZE_LIGHT_COLORS_ACTION));