diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt
index 277bd765d..1828f7838 100644
--- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt
@@ -75,7 +75,7 @@ class SettingsListFragment : PreferenceFragmentCompat() {
}
}
- SettingsManager.Keys.KEY_ACCENT -> {
+ SettingsManager.Keys.KEY_ACCENT_OLD -> {
onPreferenceClickListener = Preference.OnPreferenceClickListener {
showAccentDialog()
true
diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt
index bd322e70a..1974e9248 100644
--- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt
+++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt
@@ -2,7 +2,9 @@ package org.oxycblt.auxio.settings
import android.content.Context
import android.content.SharedPreferences
+import androidx.core.content.edit
import androidx.preference.PreferenceManager
+import org.oxycblt.auxio.logD
import org.oxycblt.auxio.playback.state.PlaybackMode
import org.oxycblt.auxio.recycler.DisplayMode
import org.oxycblt.auxio.recycler.SortMode
@@ -30,7 +32,21 @@ class SettingsManager private constructor(context: Context) :
/** The current accent. */
var accent: Accent
get() {
- // Accent is stored as an index [to be efficient], so retrieve it when done.
+ if (sharedPrefs.contains(Keys.KEY_ACCENT_OLD)) {
+ logD("Migrating from old accent to new accent.")
+
+ val newAccent = handleAccentCompat(
+ sharedPrefs.getInt(Keys.KEY_ACCENT_OLD, 5)
+ )
+
+ // When converted, write them to the new accent pref and delete the old one.
+ sharedPrefs.edit {
+ putInt(Keys.KEY_ACCENT, newAccent)
+ remove(Keys.KEY_ACCENT_OLD)
+ apply()
+ }
+ }
+
return ACCENTS[sharedPrefs.getInt(Keys.KEY_ACCENT, 5)]
}
set(value) {
@@ -171,10 +187,37 @@ class SettingsManager private constructor(context: Context) :
}
}
- /** SharedPreferences keys. */
+ /**
+ * Convert the old accent format of <1.3.1 to the accent format of 1.3.2-Onwards,
+ * where many accents were changed or removed.
+ */
+ private fun handleAccentCompat(oldAccent: Int): Int {
+ var newAccent = oldAccent
+
+ // Correct any accents over yellow to their correct positions
+ if (oldAccent > 12) {
+ newAccent--
+ }
+
+ // Correct neutral accents to the closest accent [Grey]
+ if (newAccent == 18) {
+ newAccent = 16
+ }
+
+ // If there are still any issues with indices, just correct them so a crash doesnt occur.
+ if (newAccent > ACCENTS.lastIndex) {
+ newAccent = ACCENTS.lastIndex
+ }
+
+ return newAccent
+ }
+
+ /**
+ * SharedPreferences keys.
+ */
object Keys {
const val KEY_THEME = "KEY_THEME"
- const val KEY_ACCENT = "KEY_ACCENT"
+ const val KEY_ACCENT = "KEY_ACCENT2"
const val KEY_EDGE_TO_EDGE = "KEY_EDGE"
const val KEY_LIBRARY_DISPLAY_MODE = "KEY_LIBRARY_DISPLAY_MODE"
const val KEY_SHOW_COVERS = "KEY_SHOW_COVERS"
@@ -191,9 +234,13 @@ class SettingsManager private constructor(context: Context) :
const val KEY_LIBRARY_SORT_MODE = "KEY_LIBRARY_SORT_MODE"
const val KEY_SEARCH_FILTER_MODE = "KEY_SEARCH"
const val KEY_DEBUG_SAVE = "KEY_SAVE_STATE"
+
+ const val KEY_ACCENT_OLD = "KEY_ACCENT"
}
- /** Values for some settings entries that cant be enums/ints.*/
+ /**
+ * Values for some settings entries that arent important enough to recieve an enum.
+ */
object EntryValues {
const val THEME_AUTO = "AUTO"
const val THEME_LIGHT = "LIGHT"
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/Accent.kt b/app/src/main/java/org/oxycblt/auxio/ui/Accent.kt
index 3f4d7bc0f..5295a14c7 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/Accent.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/Accent.kt
@@ -30,13 +30,11 @@ val ACCENTS = arrayOf(
Accent(R.color.light_green, R.style.Theme_LightGreen, R.string.color_label_light_green),
Accent(R.color.lime, R.style.Theme_Lime, R.string.color_label_lime),
Accent(R.color.yellow, R.style.Theme_Yellow, R.string.color_label_yellow),
- Accent(R.color.amber, R.style.Theme_Amber, R.string.color_label_amber),
Accent(R.color.orange, R.style.Theme_Orange, R.string.color_label_orange),
Accent(R.color.deep_orange, R.style.Theme_DeepOrange, R.string.color_label_deep_orange),
Accent(R.color.brown, R.style.Theme_Brown, R.string.color_label_brown),
Accent(R.color.grey, R.style.Theme_Gray, R.string.color_label_grey),
Accent(R.color.blue_grey, R.style.Theme_BlueGrey, R.string.color_label_blue_grey),
- Accent(R.color.control_color, R.style.Theme_Neutral, R.string.color_label_neutral)
)
/**
diff --git a/app/src/main/res/layout/fragment_detail.xml b/app/src/main/res/layout/fragment_detail.xml
index e8d6cfdae..3845f7901 100644
--- a/app/src/main/res/layout/fragment_detail.xml
+++ b/app/src/main/res/layout/fragment_detail.xml
@@ -2,7 +2,7 @@
+ tools:context=".detail.DetailFragment">
+
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index f93ec577d..a67aac4c1 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -138,13 +138,11 @@
Hellgrün
Lindgrün
Gelb
- Bernsteingelb
Orange
Tieforange
Braun
Grau
Blaugrau
- Neutral
Nächsten von: %s
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 49c18fdee..c21151902 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -89,12 +89,10 @@
Verde Claro
Verde Amarillo
Amarillo
- Ambar
Naranja
Marrón
Gris
Azul Gris
- Neutro
Canciones encontradas: %d
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index a869e0586..33dd21681 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -88,12 +88,10 @@
Vert Clair
Vert Citron
Jaune
- Ambre
Orange
Brun
Gris
Bleu Gris
- Neutre
Titres chargés: %d
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 9fd90a53b..261166527 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -91,7 +91,6 @@
Barna
Szürke
Kékszürke
- Semleges
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 105703be8..edf36319d 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -89,12 +89,10 @@
Verde Chiaro
Verde Giallo
Giallo
- Ambra
Arancio
Bruno
Grigio
Azzurro Grigio
- Neutrale
Brani caricate: %d
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 739419fdb..c5943d9f8 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -23,8 +23,7 @@
#a5d6a7
#c5e1a5
#e6ee9c
- #fff59d
- #ffe082
+ #ffe082
#ffcc80
#ffab91
#bcaaa4
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index e137c0771..844c3180a 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -95,7 +95,6 @@
Bruin
Grijis
Blauwgrijis
- Neutraal
Nummers geladen: %d
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index c79f0b309..4ca7fa0c2 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -85,12 +85,10 @@
Jasnozielony
Żółtyzielony
Żółty
- Bursztynowy
Pomarańczowy
Brązowy
Szary
Błękitszary
- Neutralny
Utwory uruchamia się: %d
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 29416d1a4..4a7ff6bb1 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -22,12 +22,11 @@
#009688
#4caf50
#8bc34a
- #cddc39
- #f1ca00
- #ffc107
- #ff9800
+ #B7C534
+ #E4AC00
+ #E68A01
#ff5722
#795548
- #9e9e9e
+ #808080
#607d8b
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index eb7aae8dd..33bb1fc17 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -141,13 +141,11 @@
Light Green
Lime
Yellow
- Amber
Orange
Deep Orange
Brown
Grey
Blue Grey
- Neutral
Next From: %s
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 1afd231c2..b9b8e7426 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -68,11 +68,6 @@
- @color/yellow
-
-