Skip to content

Commit 491877c

Browse files
committed
(#112) Play (Queue All) for albums
1 parent b24df98 commit 491877c

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

app/src/main/kotlin/com/kelsos/mbrc/helper/PopupActionHandler.kt

+13-6
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ constructor(private val settings: BasicSettingsHelper,
114114
}
115115
}
116116

117-
fun trackSelected(menuItem: MenuItem, entry: Track) {
117+
//todo album detection -> queue album tracks
118+
fun trackSelected(menuItem: MenuItem, entry: Track, album: Boolean = false) {
118119
val type = when (menuItem.itemId) {
119120
R.id.popup_track_queue_next -> Queue.NEXT
120121
R.id.popup_track_queue_last -> Queue.LAST
@@ -123,16 +124,22 @@ constructor(private val settings: BasicSettingsHelper,
123124
else -> Queue.NOW
124125
}
125126

126-
queueTrack(entry, type)
127+
queueTrack(entry, type, album)
127128
}
128129

129-
private fun queueTrack(entry: Track, @QueueType type: String) {
130+
private fun queueTrack(entry: Track, @QueueType type: String, album: Boolean = false) {
130131

131132
val trackSource: Single<List<String>>
132133
val path:String?
133134
if (type == Queue.ADD_ALL) {
134-
trackSource = trackRepository.getAllTrackPaths()
135+
if (album) {
136+
trackSource = trackRepository.getAlbumTrackPaths(entry.album!!, entry.albumArtist!!)
137+
} else {
138+
trackSource = trackRepository.getAllTrackPaths()
139+
}
140+
135141
path = entry.src
142+
136143
} else {
137144
trackSource = Single.fromCallable {
138145
val list = listOf(entry.src!!)
@@ -160,8 +167,8 @@ constructor(private val settings: BasicSettingsHelper,
160167
openProfile(genre, context)
161168
}
162169

163-
fun trackSelected(track: Track) {
164-
queueTrack(track, settings.defaultAction)
170+
fun trackSelected(track: Track, album: Boolean = false) {
171+
queueTrack(track, settings.defaultAction, album)
165172
}
166173

167174
private fun openProfile(artist: Artist, context: Context) {

app/src/main/kotlin/com/kelsos/mbrc/ui/navigation/library/album_tracks/AlbumTracksActivity.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ class AlbumTracksActivity : FontActivity(),
9191
}
9292

9393
override fun onMenuItemSelected(menuItem: MenuItem, entry: Track) {
94-
actionHandler.trackSelected(menuItem, entry)
94+
actionHandler.trackSelected(menuItem, entry, true)
9595
}
9696

9797
override fun onItemClicked(track: Track) {
98-
actionHandler.trackSelected(track)
98+
actionHandler.trackSelected(track, true)
9999
}
100100

101101
override fun update(cursor: FlowCursorList<Track>) {

app/src/main/res/menu/popup_track.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<item
44
android:id="@+id/popup_track_play"
55
android:title="@string/menu_play"/>
6+
<item
7+
android:id="@+id/popup_track_play_queue_all"
8+
android:title="@string/menu_play_queue_all" />
69
<item
710
android:id="@+id/popup_track_queue_next"
811
android:title="@string/menu_queue_next"/>
912
<item
1013
android:id="@+id/popup_track_queue_last"
1114
android:title="@string/menu_queue_last"/>
12-
<item
13-
android:id="@+id/popup_track_play_queue_all"
14-
android:title="@string/menu_play_queue_all" />
1515
</menu>

0 commit comments

Comments
 (0)