diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt index 7e3fb4084..cc7f8f29f 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt @@ -21,7 +21,6 @@ import org.oxycblt.auxio.music.MusicStore import org.oxycblt.auxio.music.Song import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.ui.accent -import org.oxycblt.auxio.ui.getInactiveAlpha import org.oxycblt.auxio.ui.getTransparentAccent import org.oxycblt.auxio.ui.toColor import kotlin.IllegalArgumentException @@ -48,9 +47,7 @@ class MainFragment : Fragment() { val colorActive = accent.first.toColor(requireContext()) val colorInactive = getTransparentAccent( - requireContext(), - accent.first, - getInactiveAlpha(accent.first) + requireContext(), accent.first, 150 ) // Set up the tints for the navigation icons + text diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt index 2c74bc049..88c541c44 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt @@ -50,6 +50,9 @@ class QueueFragment : Fragment() { findNavController().navigateUp() } + // Since QueueFragment doesn't fit system windows, inset padding needs to be + // artificially applied to the Toolbar so that it fits on the main window AND + // so that the elevation doesn't show on the top. setOnApplyWindowInsetsListener { _, insets -> val top = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { insets.getInsets(WindowInsets.Type.systemBars()).top diff --git a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt index dc8750294..b5973b950 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt @@ -285,31 +285,35 @@ class PlaybackStateManager private constructor() { forceQueueUpdate() } - fun removeQueueItem(index: Int) { + fun removeQueueItem(index: Int): Boolean { Log.d(this::class.simpleName, "Removing item ${mQueue[index].name}.") if (index > mQueue.size || index < 0) { Log.e(this::class.simpleName, "Index is out of bounds, did not remove queue item.") - return + return false } mQueue.removeAt(index) forceQueueUpdate() + + return true } - fun moveQueueItems(from: Int, to: Int) { + fun moveQueueItems(from: Int, to: Int): Boolean { try { val item = mQueue.removeAt(from) mQueue.add(to, item) } catch (exception: IndexOutOfBoundsException) { Log.e(this::class.simpleName, "Indices were out of bounds, did not move queue item") - return + return false } forceQueueUpdate() + + return true } fun addToUserQueue(song: Song) { diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingUtils.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingUtils.kt index 5b1e89909..9453b02e1 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/SettingUtils.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingUtils.kt @@ -6,7 +6,7 @@ import org.oxycblt.auxio.R /** * Convert a string representing a theme entry name to an actual theme int that can be used. - * This is only done because PreferenceFragment does not like int arrays. + * This is only done because PreferenceFragment does not like int arrays for some...reason. */ fun String.toThemeInt(): Int { return when (this) { diff --git a/app/src/main/java/org/oxycblt/auxio/ui/ThemeUtils.kt b/app/src/main/java/org/oxycblt/auxio/ui/ThemeUtils.kt index 03829da0c..4c9c2289a 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/ThemeUtils.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/ThemeUtils.kt @@ -38,7 +38,8 @@ val ACCENTS = arrayOf( Pair(R.color.deep_orange, R.style.Theme_DeepOrange), // 15 Pair(R.color.brown, R.style.Theme_Brown), // 16 Pair(R.color.grey, R.style.Theme_Gray), // 17 - Pair(R.color.blue_grey, R.style.Theme_BlueGrey) // 18 + Pair(R.color.blue_grey, R.style.Theme_BlueGrey), // 18 + Pair(R.color.control_color, R.style.Theme_Neutral) ) /** @@ -55,7 +56,7 @@ private val ACCENT_NAMES = arrayOf( R.string.color_label_yellow, R.string.color_label_amber, R.string.color_label_orange, R.string.color_label_deep_orange, R.string.color_label_brown, R.string.color_label_grey, - R.string.color_label_blue_grey + R.string.color_label_blue_grey, R.string.color_label_neutral ) /** @@ -78,14 +79,6 @@ fun getTransparentAccent(context: Context, @ColorRes color: Int, alpha: Int): In ) } -/** - * Get the inactive alpha of an accent. - */ -@ColorInt -fun getInactiveAlpha(@ColorRes color: Int): Int { - return if (color == R.color.yellow) 100 else 150 -} - /** * Resolve a color. * @param context [Context] required diff --git a/app/src/main/res/layout/item_artist_album.xml b/app/src/main/res/layout/item_artist_album.xml index 62ae3fec8..c93b11ac2 100644 --- a/app/src/main/res/layout/item_artist_album.xml +++ b/app/src/main/res/layout/item_artist_album.xml @@ -40,6 +40,7 @@ style="@style/ItemText.Secondary" app:albumYear="@{album}" app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintTop_toBottomOf="@+id/album_name" tools:text="2020" /> diff --git a/app/src/main/res/layout/item_genre.xml b/app/src/main/res/layout/item_genre.xml index d2171644d..c047860f0 100644 --- a/app/src/main/res/layout/item_genre.xml +++ b/app/src/main/res/layout/item_genre.xml @@ -40,6 +40,7 @@ style="@style/ItemText.Secondary" app:genreCounts="@{genre}" app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/genre_image" app:layout_constraintTop_toBottomOf="@+id/genre_name" tools:text="2 Artists, 4 Albums" /> diff --git a/app/src/main/res/layout/item_genre_artist.xml b/app/src/main/res/layout/item_genre_artist.xml index d6e0666c5..108ad7ce2 100644 --- a/app/src/main/res/layout/item_genre_artist.xml +++ b/app/src/main/res/layout/item_genre_artist.xml @@ -40,6 +40,7 @@ style='@style/ItemText.Secondary' app:artistCounts="@{artist}" app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/artist_image" app:layout_constraintTop_toBottomOf="@+id/artist_name" tools:text="2 Albums, 20 Songs" /> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index fceb8b28f..668bf341f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -23,7 +23,7 @@ #4caf50 #8bc34a #cddc39 - #ffeb3b + #F1CA00 #ffc107 #ff9800 #ff5722 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e201bfd9c..6f2312480 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -119,6 +119,7 @@ Brown Grey Blue Grey + Neutral %1$s / %2$s diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 3d2fb38ac..1afd231c2 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -97,4 +97,9 @@ @color/blue_grey @color/blue_grey + + \ No newline at end of file