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 @@
-
+
-
+