all: various cleanup
This commit is contained in:
parent
889713d5e0
commit
bf50867b37
4 changed files with 20 additions and 17 deletions
|
@ -105,8 +105,11 @@ fun Category.toMediaItem(context: Context): MediaItem {
|
|||
return MediaItem(description.build(), MediaItem.FLAG_BROWSABLE)
|
||||
}
|
||||
|
||||
fun Song.toMediaDescription(context: Context, parent: MusicParent? = null,
|
||||
vararg sugar: Sugar): MediaDescriptionCompat {
|
||||
fun Song.toMediaDescription(
|
||||
context: Context,
|
||||
parent: MusicParent? = null,
|
||||
vararg sugar: Sugar
|
||||
): MediaDescriptionCompat {
|
||||
val mediaSessionUID =
|
||||
if (parent == null) {
|
||||
MediaSessionUID.SingleItem(uid)
|
||||
|
|
|
@ -21,8 +21,6 @@ package org.oxycblt.auxio.playback.system
|
|||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.os.Bundle
|
||||
import android.support.v4.media.MediaDescriptionCompat
|
||||
import android.support.v4.media.MediaMetadataCompat
|
||||
import android.support.v4.media.session.MediaSessionCompat
|
||||
import android.support.v4.media.session.PlaybackStateCompat
|
||||
|
@ -43,7 +41,6 @@ import org.oxycblt.auxio.music.Song
|
|||
import org.oxycblt.auxio.music.resolveNames
|
||||
import org.oxycblt.auxio.music.service.MediaSessionUID
|
||||
import org.oxycblt.auxio.music.service.toMediaDescription
|
||||
import org.oxycblt.auxio.music.service.toMediaItem
|
||||
import org.oxycblt.auxio.playback.ActionMode
|
||||
import org.oxycblt.auxio.playback.PlaybackSettings
|
||||
import org.oxycblt.auxio.playback.service.MediaSessionInterface
|
||||
|
@ -306,7 +303,9 @@ private constructor(
|
|||
private fun updateQueue(queue: List<Song>) {
|
||||
val queueItems =
|
||||
queue.mapIndexed { i, song ->
|
||||
val description = song.toMediaDescription(context, null, { putInt(MediaSessionInterface.KEY_QUEUE_POS, i) })
|
||||
val description =
|
||||
song.toMediaDescription(
|
||||
context, null, { putInt(MediaSessionInterface.KEY_QUEUE_POS, i) })
|
||||
// Store the item index so we can then use the analogous index in the
|
||||
// playback state.
|
||||
MediaSessionCompat.QueueItem(description, i.toLong())
|
||||
|
|
|
@ -102,13 +102,13 @@ constructor(
|
|||
super.onAddQueueItem(description)
|
||||
val deviceLibrary = musicRepository.deviceLibrary ?: return
|
||||
val uid = MediaSessionUID.fromString(description.mediaId ?: return) ?: return
|
||||
val song =
|
||||
val songUid =
|
||||
when (uid) {
|
||||
is MediaSessionUID.SingleItem -> deviceLibrary.findSong(uid.uid)
|
||||
is MediaSessionUID.ChildItem -> deviceLibrary.findSong(uid.childUid)
|
||||
else -> null
|
||||
is MediaSessionUID.SingleItem -> uid.uid
|
||||
is MediaSessionUID.ChildItem -> uid.childUid
|
||||
else -> return
|
||||
}
|
||||
?: return
|
||||
val song = deviceLibrary.songs.find { it.uid == songUid } ?: return
|
||||
playbackManager.addToQueue(song)
|
||||
}
|
||||
|
||||
|
@ -123,7 +123,8 @@ constructor(
|
|||
}
|
||||
// Non-queue item or queue item lost it's extras in transit, remove the first item
|
||||
val uid = MediaSessionUID.fromString(description.mediaId ?: return) ?: return
|
||||
val songUid = when (uid) {
|
||||
val songUid =
|
||||
when (uid) {
|
||||
is MediaSessionUID.SingleItem -> uid.uid
|
||||
is MediaSessionUID.ChildItem -> uid.childUid
|
||||
else -> return
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Auxio Project
|
||||
* PlaybackActionHandler.kt is part of Auxio.
|
||||
* PlaybackActions.kt is part of Auxio.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
Loading…
Reference in a new issue