@@ -114,7 +114,8 @@ constructor(private val settings: BasicSettingsHelper,
114
114
}
115
115
}
116
116
117
- fun trackSelected (menuItem : MenuItem , entry : Track ) {
117
+ // todo album detection -> queue album tracks
118
+ fun trackSelected (menuItem : MenuItem , entry : Track , album : Boolean = false) {
118
119
val type = when (menuItem.itemId) {
119
120
R .id.popup_track_queue_next -> Queue .NEXT
120
121
R .id.popup_track_queue_last -> Queue .LAST
@@ -123,16 +124,22 @@ constructor(private val settings: BasicSettingsHelper,
123
124
else -> Queue .NOW
124
125
}
125
126
126
- queueTrack(entry, type)
127
+ queueTrack(entry, type, album )
127
128
}
128
129
129
- private fun queueTrack (entry : Track , @QueueType type : String ) {
130
+ private fun queueTrack (entry : Track , @QueueType type : String , album : Boolean = false ) {
130
131
131
132
val trackSource: Single <List <String >>
132
133
val path: String?
133
134
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
+
135
141
path = entry.src
142
+
136
143
} else {
137
144
trackSource = Single .fromCallable {
138
145
val list = listOf (entry.src!! )
@@ -160,8 +167,8 @@ constructor(private val settings: BasicSettingsHelper,
160
167
openProfile(genre, context)
161
168
}
162
169
163
- fun trackSelected (track : Track ) {
164
- queueTrack(track, settings.defaultAction)
170
+ fun trackSelected (track : Track , album : Boolean = false ) {
171
+ queueTrack(track, settings.defaultAction, album )
165
172
}
166
173
167
174
private fun openProfile (artist : Artist , context : Context ) {
0 commit comments