From ceaffaf501b2d4f899fb7e89bae7c0df08df6447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Calazans=20Ju=CC=81nior?= Date: Sun, 4 Nov 2018 21:57:38 -0200 Subject: [PATCH] showing notification with metadata --- .../sample/helpers/NotificationHelper.kt | 10 +++++++--- .../com/mediasession/sample/ui/PlayerActivity.kt | 14 +++++++------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/vlntdds/com/mediasession/sample/helpers/NotificationHelper.kt b/app/src/main/java/vlntdds/com/mediasession/sample/helpers/NotificationHelper.kt index ac18b1c..2fd2f41 100644 --- a/app/src/main/java/vlntdds/com/mediasession/sample/helpers/NotificationHelper.kt +++ b/app/src/main/java/vlntdds/com/mediasession/sample/helpers/NotificationHelper.kt @@ -35,7 +35,11 @@ class NotificationHelper { } @JvmStatic - fun showPlaybackNotification(playbackState: PlaybackStateCompat, context: Context, mediaSessionCompat: MediaSessionCompat) { + fun showPlaybackNotification(playbackState: PlaybackStateCompat, + context: Context, + mediaSessionCompat: MediaSessionCompat, + artist: String?, + trackName: String?) { val icon: Int val playPause: String @@ -72,8 +76,8 @@ class NotificationHelper { .setShowActionsInCompactView(0, 1) val notification = NotificationCompat.Builder(context, Constants.NOTIFICATION_CHANNEL_ID) - .setContentTitle(context.getString(R.string.notification_title)) - .setContentText(context.getString(R.string.notification_text)) + .setContentTitle(artist?: context.getString(R.string.notification_title)) + .setContentText(trackName?: context.getString(R.string.notification_text)) .setContentIntent(contentPendingIntent) .setSmallIcon(R.drawable.ic_notification) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) diff --git a/app/src/main/java/vlntdds/com/mediasession/sample/ui/PlayerActivity.kt b/app/src/main/java/vlntdds/com/mediasession/sample/ui/PlayerActivity.kt index 23ab825..3dda066 100644 --- a/app/src/main/java/vlntdds/com/mediasession/sample/ui/PlayerActivity.kt +++ b/app/src/main/java/vlntdds/com/mediasession/sample/ui/PlayerActivity.kt @@ -8,12 +8,10 @@ import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.support.v4.media.session.MediaSessionCompat import android.support.v4.media.session.PlaybackStateCompat -import android.util.Log +import android.widget.Toast import androidx.media.session.MediaButtonReceiver import com.google.android.exoplayer2.* -import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory import com.google.android.exoplayer2.metadata.id3.TextInformationFrame -import com.google.android.exoplayer2.source.ExtractorMediaSource import com.google.android.exoplayer2.source.TrackGroupArray import com.google.android.exoplayer2.source.hls.HlsMediaSource import com.google.android.exoplayer2.trackselection.DefaultTrackSelector @@ -70,9 +68,11 @@ class PlayerActivity : AppCompatActivity(), ExoPlayer.EventListener { mExoPlayer!!.playWhenReady = true mExoPlayer!!.setMetadataOutput { - Log.d(this.javaClass.name, (it.get(0) as TextInformationFrame).value) - Log.d(this.javaClass.name, (it.get(2) as TextInformationFrame).value) - it.describeContents() + NotificationHelper.showPlaybackNotification(mPlaybackState!!.build(), + this, + mMediaSession, + (it.get(0) as TextInformationFrame).value, + (it.get(2) as TextInformationFrame).value) } } } @@ -109,7 +109,7 @@ class PlayerActivity : AppCompatActivity(), ExoPlayer.EventListener { ) } PlayerActivity.mMediaSession.setPlaybackState(mPlaybackState!!.build()) - NotificationHelper.showPlaybackNotification(mPlaybackState!!.build(), this, mMediaSession) + NotificationHelper.showPlaybackNotification(mPlaybackState!!.build(), this, mMediaSession, null, null) } override fun onPlaybackParametersChanged(playbackParameters: PlaybackParameters?) {