Improve player service dismiss logic
This commit is contained in:
parent
4014675766
commit
996dbb4de1
2 changed files with 7 additions and 4 deletions
|
@ -450,14 +450,16 @@ class PlayerService : InvincibleService(), Player.Listener, PlaybackStatsListene
|
|||
if (notification == null) {
|
||||
isNotificationStarted = false
|
||||
makeInvincible(false)
|
||||
stopForeground(true)
|
||||
stopForeground(false)
|
||||
sendCloseEqualizerIntent()
|
||||
notificationManager?.cancel(NotificationId)
|
||||
return
|
||||
}
|
||||
|
||||
if (player.shouldBePlaying && !isNotificationStarted) {
|
||||
isNotificationStarted = true
|
||||
startForegroundService(this@PlayerService, intent<PlayerService>())
|
||||
startForeground(NotificationId, notification())
|
||||
startForeground(NotificationId, notification)
|
||||
makeInvincible(false)
|
||||
sendOpenEqualizerIntent()
|
||||
} else {
|
||||
|
|
|
@ -52,12 +52,13 @@ fun Player.forcePlayAtIndex(mediaItems: List<MediaItem>, mediaItemIndex: Int) {
|
|||
fun Player.forcePlayFromBeginning(mediaItems: List<MediaItem>) =
|
||||
forcePlayAtIndex(mediaItems, 0)
|
||||
|
||||
fun Player.forceSeekToPrevious() =
|
||||
fun Player.forceSeekToPrevious() {
|
||||
if (hasPreviousMediaItem() || currentPosition > maxSeekToPreviousPosition) {
|
||||
seekToPrevious()
|
||||
}else {
|
||||
} else if (mediaItemCount > 0) {
|
||||
seekTo(mediaItemCount - 1, C.TIME_UNSET)
|
||||
}
|
||||
}
|
||||
|
||||
fun Player.forceSeekToNext() =
|
||||
if (hasNextMediaItem()) seekToNext() else seekTo(0, C.TIME_UNSET)
|
||||
|
|
Loading…
Reference in a new issue