fix #4090 just do fix flow in vivo
This commit is contained in:
@@ -14,6 +14,7 @@ import android.os.Bundle
|
||||
import android.os.PowerManager
|
||||
import android.support.v4.media.session.MediaSessionCompat
|
||||
import android.support.v4.media.session.PlaybackStateCompat
|
||||
import android.util.Log
|
||||
import androidx.annotation.CallSuper
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
@@ -482,6 +483,24 @@ abstract class BaseReadAloudService : BaseService(),
|
||||
}
|
||||
}
|
||||
|
||||
val isVivoDevice: Boolean by lazy {
|
||||
android.os.Build.MANUFACTURER.equals(
|
||||
"vivo",
|
||||
ignoreCase = true
|
||||
)
|
||||
}
|
||||
|
||||
private fun ChoiceMediaStyle(): androidx.media.app.NotificationCompat.MediaStyle {
|
||||
//Log.d(TAG, "isVivoDevice=$isVivoDevice")
|
||||
val type = androidx.media.app.NotificationCompat.MediaStyle()
|
||||
.setShowActionsInCompactView(0, 1, 2)
|
||||
if (isVivoDevice) {
|
||||
//fix #4090 android 14 can not show play control in lock screen
|
||||
type.setMediaSession(mediaSessionCompat.sessionToken)
|
||||
}
|
||||
return type
|
||||
}
|
||||
|
||||
private fun createNotification(): NotificationCompat.Builder {
|
||||
var nTitle: String = when {
|
||||
pause -> getString(R.string.read_aloud_pause)
|
||||
@@ -537,12 +556,7 @@ abstract class BaseReadAloudService : BaseService(),
|
||||
getString(R.string.set_timer),
|
||||
aloudServicePendingIntent(IntentAction.addTimer)
|
||||
)
|
||||
builder.setStyle(
|
||||
androidx.media.app.NotificationCompat.MediaStyle()
|
||||
.setShowActionsInCompactView(0, 1, 2)
|
||||
//fix #4090 android 14 can not show play control in lock screen
|
||||
.setMediaSession(mediaSessionCompat.sessionToken)
|
||||
)
|
||||
builder.setStyle(ChoiceMediaStyle())
|
||||
return builder
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user