mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
Built the notificaton without the PlayerNotificationManager
This commit is contained in:
parent
ad63d01bc2
commit
b52583855e
@ -1,24 +1,31 @@
|
|||||||
package com.github.libretube.util
|
package com.github.libretube.util
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.app.NotificationManager
|
import android.app.NotificationManager
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.app.PendingIntent.FLAG_UPDATE_CURRENT
|
import android.app.PendingIntent.FLAG_UPDATE_CURRENT
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
|
import android.graphics.BitmapFactory
|
||||||
|
import android.graphics.drawable.Icon
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.support.v4.media.session.MediaSessionCompat
|
import android.support.v4.media.session.MediaSessionCompat
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
|
import androidx.core.app.NotificationManagerCompat
|
||||||
import androidx.core.app.PendingIntentCompat
|
import androidx.core.app.PendingIntentCompat
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
|
import androidx.core.graphics.drawable.IconCompat
|
||||||
import androidx.core.graphics.drawable.toBitmap
|
import androidx.core.graphics.drawable.toBitmap
|
||||||
import androidx.core.os.bundleOf
|
import androidx.core.os.bundleOf
|
||||||
|
import androidx.media.app.NotificationCompat.MediaStyle
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
import androidx.media3.exoplayer.ExoPlayer
|
import androidx.media3.exoplayer.ExoPlayer
|
||||||
import androidx.media3.session.CommandButton
|
import androidx.media3.session.CommandButton
|
||||||
import androidx.media3.session.MediaSession
|
import androidx.media3.session.MediaSession
|
||||||
|
import androidx.media3.session.MediaStyleNotificationHelper
|
||||||
import androidx.media3.session.SessionCommand
|
import androidx.media3.session.SessionCommand
|
||||||
import androidx.media3.session.SessionResult
|
import androidx.media3.session.SessionResult
|
||||||
import androidx.media3.ui.PlayerNotificationManager
|
import androidx.media3.ui.PlayerNotificationManager
|
||||||
@ -292,7 +299,9 @@ class NowPlayingNotification(
|
|||||||
/**
|
/**
|
||||||
* Initializes the [playerNotification] attached to the [player] and shows it.
|
* Initializes the [playerNotification] attached to the [player] and shows it.
|
||||||
*/
|
*/
|
||||||
|
@SuppressLint("MissingPermission")
|
||||||
private fun createNotification() {
|
private fun createNotification() {
|
||||||
|
/**
|
||||||
playerNotification = PlayerNotificationManager
|
playerNotification = PlayerNotificationManager
|
||||||
.Builder(context, PLAYER_NOTIFICATION_ID, BACKGROUND_CHANNEL_ID)
|
.Builder(context, PLAYER_NOTIFICATION_ID, BACKGROUND_CHANNEL_ID)
|
||||||
// set the description of the notification
|
// set the description of the notification
|
||||||
@ -310,6 +319,22 @@ class NowPlayingNotification(
|
|||||||
setUseFastForwardAction(false)
|
setUseFastForwardAction(false)
|
||||||
setUseStopAction(true)
|
setUseStopAction(true)
|
||||||
}
|
}
|
||||||
|
**/
|
||||||
|
val notification = NotificationCompat.Builder(context, BACKGROUND_CHANNEL_ID)
|
||||||
|
.setSmallIcon(R.drawable.ic_launcher_lockscreen)
|
||||||
|
.setContentIntent(descriptionAdapter.createCurrentContentIntent(player))
|
||||||
|
.setStyle(MediaStyle().setMediaSession(mediaSession.sessionCompatToken))
|
||||||
|
.setContentTitle(player.mediaMetadata.title)
|
||||||
|
.setContentText(player.mediaMetadata.artist)
|
||||||
|
.setLargeIcon(BitmapFactory.decodeResource(context.resources, R.mipmap.ic_bird))
|
||||||
|
.apply {
|
||||||
|
customActionReceiver.createCustomActions(context, 0).forEach {
|
||||||
|
addAction(it.value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val nManager = NotificationManagerCompat.from(context)
|
||||||
|
nManager.notify(PLAYER_NOTIFICATION_ID, notification.build())
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user