diff --git a/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java index 9edfcdd2..75837db8 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java @@ -59,9 +59,11 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia switch (dialog.getTitle()) { case R.string.pref_title_primary_color: ThemeStore.editTheme(this).primaryColor(selectedColor).commit(); + PreferenceUtil.getInstance(this).setPrimaryColor(selectedColor); break; case R.string.pref_title_accent_color: ThemeStore.editTheme(this).accentColor(selectedColor).commit(); + PreferenceUtil.getInstance(this).setAccentColor(selectedColor); break; } @@ -175,6 +177,8 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia case PreferenceUtil.COLORED_SHORTCUTS: new DynamicShortcutManager(requireContext()).updateDynamicShortcuts(); break; + case PreferenceUtil.PRIMARY_COLOR: + case PreferenceUtil.ACCENT_COLOR: case PreferenceUtil.GENERAL_THEME: // apply theme before reloading shortcuts to apply the new icon colors requireActivity().setTheme(PreferenceUtil.getThemeResource(key)); diff --git a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java index c1ff0842..84005372 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java @@ -130,6 +130,14 @@ public final class PreferenceUtil { } } + public void setPrimaryColor(int color) { + mPreferences.edit().putInt(PRIMARY_COLOR, color).apply(); + } + + public void setAccentColor(int color) { + mPreferences.edit().putInt(ACCENT_COLOR, color).apply(); + } + public final int getPageSize() { return Integer.parseInt(mPreferences.getString(PAGE_SIZE, "100")); } diff --git a/app/src/main/java/com/dkanada/gramophone/views/settings/JellyPreferenceCategory.java b/app/src/main/java/com/dkanada/gramophone/views/settings/JellyPreferenceCategory.java new file mode 100644 index 00000000..2d01a4fd --- /dev/null +++ b/app/src/main/java/com/dkanada/gramophone/views/settings/JellyPreferenceCategory.java @@ -0,0 +1,34 @@ +package com.dkanada.gramophone.views.settings; + +import android.content.Context; +import android.content.SharedPreferences; +import android.util.AttributeSet; +import android.widget.TextView; + +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceManager; +import androidx.preference.PreferenceViewHolder; + +import com.dkanada.gramophone.R; +import com.dkanada.gramophone.util.PreferenceUtil; + +public class JellyPreferenceCategory extends PreferenceCategory { + public JellyPreferenceCategory(Context context, AttributeSet attrs) { + super(context, attrs); + + setLayoutResource(R.layout.preference_category); + } + + @Override + public void onBindViewHolder(PreferenceViewHolder holder) { + super.onBindViewHolder(holder); + + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext()); + TextView textView = (TextView) holder.findViewById(android.R.id.title); + + int defaultColor = getContext().getResources().getColor(R.color.color_accent); + int accentColor = preferences.getInt(PreferenceUtil.ACCENT_COLOR, defaultColor); + + textView.setTextColor(accentColor); + } +} diff --git a/app/src/main/res/layout/preference_category.xml b/app/src/main/res/layout/preference_category.xml new file mode 100644 index 00000000..0ab259f0 --- /dev/null +++ b/app/src/main/res/layout/preference_category.xml @@ -0,0 +1,11 @@ + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index d409b3bd..333fcf57 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,6 +1,9 @@ + #3F51B5 + #F50057 + #F50057 diff --git a/app/src/main/res/xml/pref_cache.xml b/app/src/main/res/xml/pref_cache.xml index c4094008..f426fde2 100644 --- a/app/src/main/res/xml/pref_cache.xml +++ b/app/src/main/res/xml/pref_cache.xml @@ -2,7 +2,7 @@ - + - + diff --git a/app/src/main/res/xml/pref_interface.xml b/app/src/main/res/xml/pref_interface.xml index 5c0858ab..76ae0dd2 100644 --- a/app/src/main/res/xml/pref_interface.xml +++ b/app/src/main/res/xml/pref_interface.xml @@ -1,7 +1,7 @@ - + - + diff --git a/app/src/main/res/xml/pref_library.xml b/app/src/main/res/xml/pref_library.xml index 3ac3136a..cdcb2c49 100644 --- a/app/src/main/res/xml/pref_library.xml +++ b/app/src/main/res/xml/pref_library.xml @@ -1,7 +1,7 @@ - + - + diff --git a/app/src/main/res/xml/pref_lock_screen.xml b/app/src/main/res/xml/pref_lock_screen.xml index 937d8822..8d5a41b8 100644 --- a/app/src/main/res/xml/pref_lock_screen.xml +++ b/app/src/main/res/xml/pref_lock_screen.xml @@ -1,7 +1,7 @@ - + - + diff --git a/app/src/main/res/xml/pref_notification.xml b/app/src/main/res/xml/pref_notification.xml index 4bdf8caf..173b8caf 100644 --- a/app/src/main/res/xml/pref_notification.xml +++ b/app/src/main/res/xml/pref_notification.xml @@ -1,7 +1,7 @@ - + - + diff --git a/app/src/main/res/xml/pref_now_playing.xml b/app/src/main/res/xml/pref_now_playing.xml index 62706e56..115539ff 100644 --- a/app/src/main/res/xml/pref_now_playing.xml +++ b/app/src/main/res/xml/pref_now_playing.xml @@ -2,13 +2,13 @@ - + - + diff --git a/app/src/main/res/xml/pref_playback.xml b/app/src/main/res/xml/pref_playback.xml index af1fb76b..7fe3b757 100644 --- a/app/src/main/res/xml/pref_playback.xml +++ b/app/src/main/res/xml/pref_playback.xml @@ -2,7 +2,7 @@ - + - +