diff --git a/CHANGELOG.md b/CHANGELOG.md
index c63b34c89..68edcef2b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,8 @@
## dev
#### What's New
-- Made the SeekBar much smoother and better to use
+- Added smooth seeking
+- Queue now has a fast scroller
#### What's Fixed
- Fixed issue where fast scroller popup would not appear
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
index 534b403ab..797ad7f74 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
@@ -92,12 +92,6 @@ class PlaybackPanelFragment :
playbackModel.song.value?.let { navModel.exploreNavigateTo(it.album) }
}
- binding.playbackSongMenu.setOnClickListener { view ->
- playbackModel.song.value?.let { song ->
- musicMenu(view, R.menu.menu_playback_song_actions, song)
- }
- }
-
binding.playbackSeekBar.callback = this
binding.playbackRepeat.setOnClickListener { playbackModel.incrementRepeatMode() }
@@ -139,6 +133,21 @@ class PlaybackPanelFragment :
true
}
+ R.id.action_go_artist -> {
+ playbackModel.song.value?.let { navModel.exploreNavigateTo(it.album.artist) }
+ true
+ }
+ R.id.action_go_album -> {
+ playbackModel.song.value?.let { navModel.exploreNavigateTo(it.album) }
+ true
+ }
+ R.id.action_song_detail -> {
+ playbackModel.song.value?.let {
+ navModel.mainNavigateTo(MainNavigationAction.SongDetails(it))
+ }
+
+ true
+ }
else -> false
}
}
diff --git a/app/src/main/java/org/oxycblt/auxio/util/PrimitiveUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/PrimitiveUtil.kt
index 23c11a4ee..0c798d5bb 100644
--- a/app/src/main/java/org/oxycblt/auxio/util/PrimitiveUtil.kt
+++ b/app/src/main/java/org/oxycblt/auxio/util/PrimitiveUtil.kt
@@ -47,14 +47,19 @@ fun Int.nonZeroOrNull() = if (this > 0) this else null
fun Int.inRangeOrNull(range: IntRange) = if (range.contains(this)) this else null
+/** Converts a long in milliseconds to a long in deci-seconds */
fun Long.msToDs() = floorDiv(100)
+/** Converts a long in milliseconds to a long in seconds */
fun Long.msToSecs() = floorDiv(1000)
+/** Converts a long in deciseconds to a long in milliseconds. */
fun Long.dsToMs() = times(100)
+/** Converts a long in deciseconds to a long in seconds. */
fun Long.dsToSecs() = floorDiv(10)
+/** Converts a long in seconds to a long in milliseconds. */
fun Long.secsToMs() = times(1000)
/**
diff --git a/app/src/main/res/layout-h480dp/fragment_playback_panel.xml b/app/src/main/res/layout-h480dp/fragment_playback_panel.xml
index f095e598c..5805960e1 100644
--- a/app/src/main/res/layout-h480dp/fragment_playback_panel.xml
+++ b/app/src/main/res/layout-h480dp/fragment_playback_panel.xml
@@ -31,10 +31,10 @@
style="@style/Widget.Auxio.TextView.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginStart="@dimen/spacing_medium"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="Song Name" />
@@ -44,10 +44,10 @@
style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginStart="@dimen/spacing_medium"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_album"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="Artist Name" />
@@ -56,23 +56,13 @@
style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginStart="@dimen/spacing_medium"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="Album Name" />
-
@@ -44,10 +44,10 @@
style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginStart="@dimen/spacing_medium"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_album"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="Artist Name" />
@@ -56,23 +56,13 @@
style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginStart="@dimen/spacing_medium"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="Album Name" />
-
-
@@ -45,9 +35,9 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
+ android:layout_marginEnd="@dimen/spacing_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/playback_cover"
app:layout_constraintTop_toTopOf="@+id/playback_cover"
@@ -67,10 +57,9 @@
style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
android:layout_marginStart="@dimen/spacing_medium"
app:layout_constraintBottom_toTopOf="@+id/playback_album"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/playback_cover"
app:layout_constraintTop_toBottomOf="@+id/playback_song_container"
@@ -81,10 +70,9 @@
style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/spacing_mid_medium"
android:layout_marginStart="@dimen/spacing_medium"
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
- app:layout_constraintEnd_toStartOf="@+id/playback_song_menu"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/playback_cover"
app:layout_constraintTop_toBottomOf="@+id/playback_artist"
diff --git a/app/src/main/res/menu/menu_playback.xml b/app/src/main/res/menu/menu_playback.xml
index fcf73ad03..ec8d17c38 100644
--- a/app/src/main/res/menu/menu_playback.xml
+++ b/app/src/main/res/menu/menu_playback.xml
@@ -5,5 +5,17 @@
android:id="@+id/action_open_equalizer"
android:title="@string/lbl_equalizer"
android:icon="@drawable/ic_equalizer"
- app:showAsAction="always" />
+ app:showAsAction="ifRoom" />
+
+
+
\ No newline at end of file