From b2a1cb1e2efb30474640f5c6f291b0798617fac2 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Tue, 5 Oct 2021 12:06:57 +0530 Subject: [PATCH] MD3 Accent color for Switch --- .../retromusic/util/RetroColorUtil.java | 14 ++++++++++++ .../monkey/retromusic}/views/ATESwitch.kt | 22 ++++++++++++++----- .../main/res/layout/list_item_view_switch.xml | 2 +- .../layout/list_item_view_switch_no_title.xml | 2 +- .../appthemehelper/util/VersionUtils.kt | 2 +- .../layout/ate_preference_switch_support.xml | 2 +- 6 files changed, 34 insertions(+), 10 deletions(-) rename {appthemehelper/src/main/java/code/name/monkey/appthemehelper/common => app/src/main/java/code/name/monkey/retromusic}/views/ATESwitch.kt (56%) mode change 100755 => 100644 diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RetroColorUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/RetroColorUtil.java index 33d5e567d..a07cc1fb7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/RetroColorUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/RetroColorUtil.java @@ -22,14 +22,20 @@ import android.graphics.Color; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; import androidx.palette.graphics.Palette; +import org.jetbrains.annotations.NotNull; + import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; +import code.name.monkey.appthemehelper.ThemeStore; import code.name.monkey.appthemehelper.util.ColorUtil; +import code.name.monkey.appthemehelper.util.VersionUtils; +import code.name.monkey.retromusic.R; public class RetroColorUtil { public static int desaturateColor(int color, float ratio) { @@ -216,6 +222,14 @@ public class RetroColorUtil { return color; } + public static int getMD3AccentColor(@NotNull Context context) { + if (VersionUtils.hasS()) { + return ContextCompat.getColor(context, R.color.m3_accent_color); + } else { + return ThemeStore.Companion.accentColor(context); + } + } + private static class SwatchComparator implements Comparator { private static SwatchComparator sInstance; diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/common/views/ATESwitch.kt b/app/src/main/java/code/name/monkey/retromusic/views/ATESwitch.kt old mode 100755 new mode 100644 similarity index 56% rename from appthemehelper/src/main/java/code/name/monkey/appthemehelper/common/views/ATESwitch.kt rename to app/src/main/java/code/name/monkey/retromusic/views/ATESwitch.kt index 6bdff1f72..f487b40b1 --- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/common/views/ATESwitch.kt +++ b/app/src/main/java/code/name/monkey/retromusic/views/ATESwitch.kt @@ -1,11 +1,13 @@ -package code.name.monkey.appthemehelper.common.views +package code.name.monkey.retromusic.views import android.content.Context import android.util.AttributeSet -import android.view.View import androidx.appcompat.widget.SwitchCompat +import androidx.core.view.isVisible import code.name.monkey.appthemehelper.ATH import code.name.monkey.appthemehelper.ThemeStore +import code.name.monkey.retromusic.util.PreferenceUtil +import code.name.monkey.retromusic.util.RetroColorUtil /** * @author Aidan Follestad (afollestad) @@ -20,15 +22,23 @@ class ATESwitch : SwitchCompat { init(context) } - constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { + constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super( + context, + attrs, + defStyleAttr + ) { init(context) } private fun init(context: Context) { - ATH.setTint(this, ThemeStore.accentColor(context)) + if (PreferenceUtil.materialYou) { + ATH.setTint(this, RetroColorUtil.getMD3AccentColor(context)) + } else { + ATH.setTint(this, ThemeStore.accentColor(context)) + } } override fun isShown(): Boolean { - return parent != null && visibility == View.VISIBLE + return parent != null && isVisible } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_view_switch.xml b/app/src/main/res/layout/list_item_view_switch.xml index a536b1fa6..70a8f4016 100644 --- a/app/src/main/res/layout/list_item_view_switch.xml +++ b/app/src/main/res/layout/list_item_view_switch.xml @@ -72,7 +72,7 @@ android:orientation="vertical" app:layout_constraintGuide_begin="@dimen/list_pref_guideline_begin" /> - - = Build.VERSION_CODES.Q } + @JvmStatic fun hasS(): Boolean { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S } diff --git a/appthemehelper/src/main/res/layout/ate_preference_switch_support.xml b/appthemehelper/src/main/res/layout/ate_preference_switch_support.xml index 50d68fcec..d471145f4 100755 --- a/appthemehelper/src/main/res/layout/ate_preference_switch_support.xml +++ b/appthemehelper/src/main/res/layout/ate_preference_switch_support.xml @@ -1,5 +1,5 @@ -