Skip to content

Commit

Permalink
Testing IcyInfo in Notification and in Always-On Display (see issue a…
Browse files Browse the repository at this point in the history
  • Loading branch information
y20k committed Jan 21, 2023
1 parent c2cbb63 commit 2e722ac
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 14 deletions.
14 changes: 14 additions & 0 deletions demos/session/src/main/assets/catalog.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
{
"media": [
{
"id": "wnyc_test",
"title": "WNYC Live Radio",
"album": "Radio Stations",
"artist": "WNYC",
"genre": "Radio",
"source": "https://fm939.wnyc.org/wnycfm.aac",
"image": "https://media.wnyc.org/i/500/500/c/80/1/wnyc_2_1.png",
"trackNumber": 1,
"totalTrackCount": 1,
"duration": 160,
"site": "https://www.wnyc.org/"
},

{
"id": "video_01",
"title": "Future Scenario",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@ import android.net.Uri
import androidx.media3.common.MediaItem
import androidx.media3.common.MediaItem.SubtitleConfiguration
import androidx.media3.common.MediaMetadata
import androidx.media3.common.MediaMetadata.FOLDER_TYPE_ALBUMS
import androidx.media3.common.MediaMetadata.FOLDER_TYPE_ARTISTS
import androidx.media3.common.MediaMetadata.FOLDER_TYPE_GENRES
import androidx.media3.common.MediaMetadata.FOLDER_TYPE_MIXED
import androidx.media3.common.MediaMetadata.FOLDER_TYPE_NONE
import androidx.media3.common.MediaMetadata.*
import androidx.media3.common.util.Util
import com.google.common.collect.ImmutableList
import org.json.JSONObject
Expand Down Expand Up @@ -78,7 +74,7 @@ object MediaItemTree {
val metadata =
MediaMetadata.Builder()
.setAlbumTitle(album)
.setTitle(title)
//.setTitle(title) /* title is updated */
.setArtist(artist)
.setGenre(genre)
.setFolderType(folderType)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,13 @@ import android.app.TaskStackBuilder
import android.content.Intent
import android.os.Build
import android.os.Bundle
import androidx.media3.common.AudioAttributes
import androidx.media3.common.MediaItem
import android.util.Log
import androidx.media3.common.*
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.session.CommandButton
import androidx.media3.session.LibraryResult
import androidx.media3.session.MediaLibraryService
import androidx.media3.session.MediaSession
import androidx.media3.extractor.metadata.icy.IcyHeaders
import androidx.media3.extractor.metadata.icy.IcyInfo
import androidx.media3.session.*
import androidx.media3.session.MediaSession.ControllerInfo
import androidx.media3.session.SessionCommand
import androidx.media3.session.SessionResult
import com.google.common.collect.ImmutableList
import com.google.common.util.concurrent.Futures
import com.google.common.util.concurrent.ListenableFuture
Expand Down Expand Up @@ -217,6 +214,9 @@ class PlaybackService : MediaLibraryService() {
.build()
MediaItemTree.initialize(assets)

// Testing Issue #153
player.addListener(playerListener)

val sessionActivityPendingIntent =
TaskStackBuilder.create(this).run {
addNextIntent(Intent(this@PlaybackService, MainActivity::class.java))
Expand Down Expand Up @@ -253,4 +253,32 @@ class PlaybackService : MediaLibraryService() {
private fun ignoreFuture(customLayout: ListenableFuture<SessionResult>) {
/* Do nothing. */
}


// Testing Issue #153
private val playerListener: Player.Listener = object : Player.Listener {
override fun onMetadata(metadata: Metadata) {
for (i in 0 until metadata.length()) {
val entry = metadata[i]
if (entry is IcyInfo) {
Log.d("Issue #153", "IcyInfo title = ${entry.title}")
} else if (entry is IcyHeaders) {
Log.d("Issue #153", "IcyHeaders name = ${entry.name.toString()} genre = ${entry.genre}")
} else {
Log.d("Issue #153", "Other metadata type received. (type = ${entry.javaClass.simpleName})")
}
}
super.onMetadata(metadata)
}

override fun onMediaMetadataChanged(mediaMetadata: MediaMetadata) {
super.onMediaMetadataChanged(mediaMetadata)
Log.d("Issue #153", "MediaMetadata title = ${mediaMetadata.title}")
Log.d("Issue #153", "MediaMetadata station = ${mediaMetadata.station}")
Log.d("Issue #153", "MediaMetadata genre = ${mediaMetadata.genre}")
}
}



}

0 comments on commit 2e722ac

Please sign in to comment.