From 00667151dce85943a7af2c292797a56992bddda7 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Thu, 15 Oct 2020 15:31:06 -0600 Subject: [PATCH] Add shuffle buttons to Detail Fragments Add shuffle buttons to AlbumDetailFragment & ArtistDetailFragment. --- .../auxio/playback/PlaybackViewModel.kt | 14 ++++++++++- .../main/res/drawable/ui_circular_button.xml | 2 +- .../main/res/layout/fragment_album_detail.xml | 23 +++++++++++++++++-- .../res/layout/fragment_artist_detail.xml | 21 +++++++++++++++-- 4 files changed, 54 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt index ae9ce5ca2..cd920675e 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt @@ -79,7 +79,7 @@ class PlaybackViewModel : ViewModel() { PlaybackMode.IN_ALBUM -> song.album } - if (isShuffling.value!!) { + if (mIsShuffling.value!!) { genShuffle(true) } else { resetShuffle() @@ -100,6 +100,12 @@ class PlaybackViewModel : ViewModel() { mCurrentParent.value = album mIsShuffling.value = isShuffled mCurrentMode.value = PlaybackMode.IN_ALBUM + + if (mIsShuffling.value!!) { + genShuffle(false) + } else { + resetShuffle() + } } fun play(artist: Artist, isShuffled: Boolean) { @@ -114,6 +120,12 @@ class PlaybackViewModel : ViewModel() { mCurrentParent.value = artist mIsShuffling.value = isShuffled mCurrentMode.value = PlaybackMode.IN_ARTIST + + if (mIsShuffling.value!!) { + genShuffle(false) + } else { + resetShuffle() + } } // Update the current duration using a SeekBar progress diff --git a/app/src/main/res/drawable/ui_circular_button.xml b/app/src/main/res/drawable/ui_circular_button.xml index 57bf6eb9b..05b1590f7 100644 --- a/app/src/main/res/drawable/ui_circular_button.xml +++ b/app/src/main/res/drawable/ui_circular_button.xml @@ -6,4 +6,4 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_album_detail.xml b/app/src/main/res/layout/fragment_album_detail.xml index ea87a23b4..59b23534d 100644 --- a/app/src/main/res/layout/fragment_album_detail.xml +++ b/app/src/main/res/layout/fragment_album_detail.xml @@ -65,6 +65,7 @@ android:layout_marginEnd="@dimen/margin_medium" android:maxLines="1" android:text="@{album.name}" + android:ellipsize="end" app:autoSizeMaxTextSize="@dimen/text_size_header_max" app:autoSizeMinTextSize="@dimen/text_size_min" app:autoSizeStepGranularity="@dimen/text_size_increment" @@ -108,12 +109,30 @@ android:layout_width="0dp" android:layout_height="0dp" android:layout_marginTop="@dimen/margin_tiny" - android:layout_marginEnd="@dimen/margin_medium" + android:layout_marginEnd="@dimen/margin_tiny" android:background="@drawable/ui_circular_button" android:backgroundTint="?android:attr/colorPrimary" android:contentDescription="@string/description_play" - android:src="@drawable/ic_play" android:onClick="@{() -> playbackModel.play(album, false)}" + android:src="@drawable/ic_play" + app:layout_constraintBottom_toBottomOf="@+id/album_details" + app:layout_constraintDimensionRatio="1:1" + app:layout_constraintEnd_toStartOf="@+id/album_shuffle" + app:layout_constraintTop_toTopOf="@+id/album_artist" /> + + + + @@ -166,5 +184,4 @@ - \ No newline at end of file