diff --git a/app/src/main/java/io/legato/kazusa/service/AudioPlayService.kt b/app/src/main/java/io/legato/kazusa/service/AudioPlayService.kt index 4df7aec77..79762cfd8 100644 --- a/app/src/main/java/io/legato/kazusa/service/AudioPlayService.kt +++ b/app/src/main/java/io/legato/kazusa/service/AudioPlayService.kt @@ -551,32 +551,30 @@ class AudioPlayService : BaseService(), } private fun createNotification(): NotificationCompat.Builder { - var nTitle: String = when { + val nTitle: String = when { pause -> getString(R.string.audio_pause) - timeMinute in 1..60 -> getString( - R.string.playing_timer, - timeMinute - ) - + timeMinute in 1..60 -> getString(R.string.playing_timer, timeMinute) else -> getString(R.string.audio_play_t) - } - nTitle += ": ${AudioPlay.book?.name}" - var nSubtitle = AudioPlay.durChapter?.title - if (nSubtitle.isNullOrEmpty()) { - nSubtitle = getString(R.string.audio_play_s) - } - val builder = NotificationCompat - .Builder(this@AudioPlayService, AppConst.channelIdReadAloud) + } + ": ${AudioPlay.book?.name}" + + val nSubtitle = AudioPlay.durChapter?.title ?: getString(R.string.audio_play_s) + + val builder = NotificationCompat.Builder(this@AudioPlayService, AppConst.channelIdReadAloud) .setSmallIcon(R.drawable.ic_volume_up) .setSubText(getString(R.string.audio)) .setOngoing(true) .setOnlyAlertOnce(true) .setContentTitle(nTitle) .setContentText(nSubtitle) - .setContentIntent( - activityPendingIntent("activity") + .setContentIntent(activityPendingIntent("activity")) + .setLargeIcon(cover) + .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) + .setStyle( + androidx.media.app.NotificationCompat.MediaStyle() + .setShowActionsInCompactView(0, 1, 2) + .setMediaSession(mediaSessionCompat?.sessionToken) ) - builder.setLargeIcon(cover) + if (pause) { builder.addAction( R.drawable.ic_play, @@ -590,6 +588,7 @@ class AudioPlayService : BaseService(), servicePendingIntent(IntentAction.pause) ) } + builder.addAction( R.drawable.ic_stop_black_24dp, getString(R.string.stop), @@ -600,12 +599,7 @@ class AudioPlayService : BaseService(), getString(R.string.set_timer), servicePendingIntent(IntentAction.addTimer) ) - builder.setStyle( - androidx.media.app.NotificationCompat.MediaStyle() - .setShowActionsInCompactView(0, 1, 2) - .setMediaSession(mediaSessionCompat?.sessionToken) - ) - builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC) + return builder } diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 86986d4df..bc4c70166 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1241,8 +1241,8 @@ 允许应用使用Google Firebase进行崩溃和性能统计 定位至当前 填充刘海区域 - 系统媒体控件兼容性更改 - 当锁屏不显示系统媒体控件时可以尝试开启,比如 OneUI 7.0或 OriginOS 等 + 使用媒体通道 + 使用OEM厂商提供的媒体通道,可能解决一些通知无法显示的问题 朗读暂停/继续 播放模式 平板界面