Added desatuated color
This commit is contained in:
parent
b73fb9dbc3
commit
df8a9c447e
7 changed files with 40 additions and 6 deletions
|
@ -244,6 +244,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
|
||||||
key == PreferenceUtil.ALBUM_COVER_STYLE ||
|
key == PreferenceUtil.ALBUM_COVER_STYLE ||
|
||||||
key == PreferenceUtil.HOME_ARTIST_GRID_STYLE ||
|
key == PreferenceUtil.HOME_ARTIST_GRID_STYLE ||
|
||||||
key == PreferenceUtil.ALBUM_COVER_TRANSFORM ||
|
key == PreferenceUtil.ALBUM_COVER_TRANSFORM ||
|
||||||
|
key == PreferenceUtil.DESATURATED_COLOR ||
|
||||||
key == PreferenceUtil.TAB_TEXT_MODE ||
|
key == PreferenceUtil.TAB_TEXT_MODE ||
|
||||||
key == PreferenceUtil.LIBRARY_CATEGORIES)
|
key == PreferenceUtil.LIBRARY_CATEGORIES)
|
||||||
postRecreate()
|
postRecreate()
|
||||||
|
|
|
@ -12,6 +12,7 @@ import android.view.ViewGroup
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.annotation.LayoutRes
|
import androidx.annotation.LayoutRes
|
||||||
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
import androidx.recyclerview.widget.DefaultItemAnimator
|
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -22,7 +23,6 @@ import code.name.monkey.retromusic.BuildConfig
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
|
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
|
||||||
import code.name.monkey.retromusic.extensions.applyToolbar
|
import code.name.monkey.retromusic.extensions.applyToolbar
|
||||||
import code.name.monkey.retromusic.views.IconImageView
|
|
||||||
import com.anjlab.android.iab.v3.BillingProcessor
|
import com.anjlab.android.iab.v3.BillingProcessor
|
||||||
import com.anjlab.android.iab.v3.SkuDetails
|
import com.anjlab.android.iab.v3.SkuDetails
|
||||||
import com.anjlab.android.iab.v3.TransactionDetails
|
import com.anjlab.android.iab.v3.TransactionDetails
|
||||||
|
@ -161,7 +161,10 @@ private class SkuDetailsLoadAsyncTask internal constructor(supportDevelopmentAct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SkuDetailsAdapter(private var donationsDialog: SupportDevelopmentActivity, objects: List<SkuDetails>) : RecyclerView.Adapter<SkuDetailsAdapter.ViewHolder>() {
|
class SkuDetailsAdapter(
|
||||||
|
private var donationsDialog: SupportDevelopmentActivity,
|
||||||
|
objects: List<SkuDetails>
|
||||||
|
) : RecyclerView.Adapter<SkuDetailsAdapter.ViewHolder>() {
|
||||||
private var skuDetailsList: List<SkuDetails> = ArrayList()
|
private var skuDetailsList: List<SkuDetails> = ArrayList()
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@ -218,7 +221,7 @@ class SkuDetailsAdapter(private var donationsDialog: SupportDevelopmentActivity,
|
||||||
var title: TextView = view.findViewById(R.id.itemTitle)
|
var title: TextView = view.findViewById(R.id.itemTitle)
|
||||||
var text: TextView = view.findViewById(R.id.itemText)
|
var text: TextView = view.findViewById(R.id.itemText)
|
||||||
var price: TextView = view.findViewById(R.id.itemPrice)
|
var price: TextView = view.findViewById(R.id.itemPrice)
|
||||||
var image: IconImageView = view.findViewById(R.id.itemImage)
|
var image: AppCompatImageView = view.findViewById(R.id.itemImage)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
@ -86,6 +86,16 @@ class ThemeSettingsFragment : AbsSettingsFragment() {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val desaturatedColor: ATESwitchPreference? = findPreference(PreferenceUtil.DESATURATED_COLOR)
|
||||||
|
desaturatedColor?.setOnPreferenceChangeListener { _, value ->
|
||||||
|
val desaturated = value as Boolean
|
||||||
|
ThemeStore.prefs(requireContext()).edit().putBoolean("desaturated_color", desaturated).apply()
|
||||||
|
PreferenceUtil.getInstance(requireContext()).setDesaturatedColor(desaturated)
|
||||||
|
requireActivity().recreate()
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
val colorAppShortcuts: TwoStatePreference = findPreference("should_color_app_shortcuts")!!
|
val colorAppShortcuts: TwoStatePreference = findPreference("should_color_app_shortcuts")!!
|
||||||
if (!VersionUtils.hasNougatMR()) {
|
if (!VersionUtils.hasNougatMR()) {
|
||||||
colorAppShortcuts.isVisible = false
|
colorAppShortcuts.isVisible = false
|
||||||
|
|
|
@ -59,6 +59,7 @@ import code.name.monkey.retromusic.transform.VerticalStackTransformer;
|
||||||
|
|
||||||
public final class PreferenceUtil {
|
public final class PreferenceUtil {
|
||||||
public static final String LIBRARY_CATEGORIES = "library_categories";
|
public static final String LIBRARY_CATEGORIES = "library_categories";
|
||||||
|
public static final String DESATURATED_COLOR = "desaturated_color";
|
||||||
public static final String BLACK_THEME = "black_theme";
|
public static final String BLACK_THEME = "black_theme";
|
||||||
public static final String DIALOG_CORNER = "dialog_corner";
|
public static final String DIALOG_CORNER = "dialog_corner";
|
||||||
public static final String KEEP_SCREEN_ON = "keep_screen_on";
|
public static final String KEEP_SCREEN_ON = "keep_screen_on";
|
||||||
|
@ -181,6 +182,16 @@ public final class PreferenceUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean desaturatedColor() {
|
||||||
|
return mPreferences.getBoolean(DESATURATED_COLOR, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDesaturatedColor(boolean value) {
|
||||||
|
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||||
|
editor.putBoolean(DESATURATED_COLOR, value);
|
||||||
|
editor.apply();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getSleepTimerFinishMusic() {
|
public boolean getSleepTimerFinishMusic() {
|
||||||
return mPreferences.getBoolean(SLEEP_TIMER_FINISH_SONG, false);
|
return mPreferences.getBoolean(SLEEP_TIMER_FINISH_SONG, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import androidx.appcompat.widget.AppCompatImageView
|
||||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
import code.name.monkey.retromusic.util.RetroColorUtil
|
import code.name.monkey.retromusic.util.RetroColorUtil
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +50,7 @@ class ColorIconsImageView : AppCompatImageView {
|
||||||
|
|
||||||
private fun setIconBackgroundColor(color: Int) {
|
private fun setIconBackgroundColor(color: Int) {
|
||||||
setBackgroundResource(R.drawable.color_circle_gradient)
|
setBackgroundResource(R.drawable.color_circle_gradient)
|
||||||
if (ATHUtil.isWindowBackgroundDark(context)) {
|
if (ATHUtil.isWindowBackgroundDark(context) && PreferenceUtil.getInstance(context).desaturatedColor()) {
|
||||||
val desaturatedColor = RetroColorUtil.desaturateColor(color, 0.4f)
|
val desaturatedColor = RetroColorUtil.desaturateColor(color, 0.4f)
|
||||||
backgroundTintList = ColorStateList.valueOf(desaturatedColor)
|
backgroundTintList = ColorStateList.valueOf(desaturatedColor)
|
||||||
imageTintList = ColorStateList.valueOf(ATHUtil.resolveColor(context, R.attr.colorPrimary))
|
imageTintList = ColorStateList.valueOf(ATHUtil.resolveColor(context, R.attr.colorPrimary))
|
||||||
|
@ -61,5 +62,4 @@ class ColorIconsImageView : AppCompatImageView {
|
||||||
invalidate()
|
invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
android:key="category_color"
|
android:key="category_color"
|
||||||
android:layout="@layout/preference_category_title"
|
android:layout="@layout/preference_category_title"
|
||||||
android:title="@string/colors">
|
android:title="@string/colors">
|
||||||
|
|
||||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEColorPreference
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEColorPreference
|
||||||
android:key="accent_color"
|
android:key="accent_color"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
|
@ -31,6 +32,13 @@
|
||||||
app:enableCopying="true"
|
app:enableCopying="true"
|
||||||
app:icon="@drawable/ic_colorize_white_24dp" />
|
app:icon="@drawable/ic_colorize_white_24dp" />
|
||||||
|
|
||||||
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="desaturated_color"
|
||||||
|
android:summary="As per Material Design guide lines in dark mode colors should be desaturated"
|
||||||
|
android:title="Desaturated color"
|
||||||
|
app:enableCopying="true" />
|
||||||
|
|
||||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="adaptive_color_app"
|
android:key="adaptive_color_app"
|
||||||
|
|
|
@ -206,8 +206,9 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
|
||||||
@CheckResult
|
@CheckResult
|
||||||
@ColorInt
|
@ColorInt
|
||||||
fun accentColor(context: Context): Int {
|
fun accentColor(context: Context): Int {
|
||||||
|
val desaturatedColor = prefs(context).getBoolean("desaturated_color", false)
|
||||||
val color = prefs(context).getInt(ThemeStorePrefKeys.KEY_ACCENT_COLOR, ATHUtil.resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238")))
|
val color = prefs(context).getInt(ThemeStorePrefKeys.KEY_ACCENT_COLOR, ATHUtil.resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238")))
|
||||||
return if (ATHUtil.isWindowBackgroundDark(context)) ColorUtil.desaturateColor(color, 0.4f) else color
|
return if (ATHUtil.isWindowBackgroundDark(context) && desaturatedColor) ColorUtil.desaturateColor(color, 0.4f) else color
|
||||||
}
|
}
|
||||||
|
|
||||||
@CheckResult
|
@CheckResult
|
||||||
|
|
Loading…
Reference in a new issue