From c1aa62c693c312faa055b38f23f0e1b21b2c641e Mon Sep 17 00:00:00 2001 From: ocean <503259349@qq.com> Date: Fri, 5 Jul 2024 11:27:19 +0800 Subject: [PATCH] update --- .../offline/music/activity/MoBaseActivity.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/melody/offline/music/activity/MoBaseActivity.kt b/app/src/main/java/melody/offline/music/activity/MoBaseActivity.kt index 5c0ea8d..a890c90 100644 --- a/app/src/main/java/melody/offline/music/activity/MoBaseActivity.kt +++ b/app/src/main/java/melody/offline/music/activity/MoBaseActivity.kt @@ -75,6 +75,7 @@ import java.util.concurrent.TimeUnit abstract class MoBaseActivity : AppCompatActivity(), MusicPlayerView.PlaySkipForwardListener, CoroutineScope by MainScope(), LifecycleOwner { private var playerListener: Player.Listener? = null + private var currentLayoutId: LinearLayout? = null enum class Event { ActivityStart, ActivityStop, ActivityOnResume, AutomaticallySwitchSongs, @@ -136,7 +137,11 @@ abstract class MoBaseActivity : AppCompatActivity(), MusicPlayerView.PlaySkipFor } } - fun addMusicPlayerViewToLayout(layoutId: LinearLayout) { + fun addMusicPlayerViewToLayout(layoutId: LinearLayout?) { + if (layoutId == null) { + return + } + currentLayoutId = layoutId if (meController != null && meController.mediaItemCount > 0 && meController.duration > 0) { if (layoutId.childCount <= 0) {//没有添加view才进行添加 layoutId.addView(musicPlayerView) @@ -173,20 +178,22 @@ abstract class MoBaseActivity : AppCompatActivity(), MusicPlayerView.PlaySkipFor override fun onPositionDiscontinuity( oldPosition: Player.PositionInfo, newPosition: Player.PositionInfo, reason: Int ) { - LogTag.LogD(TAG,"reason->$reason") - if (reason == Player.DISCONTINUITY_REASON_AUTO_TRANSITION - || reason == Player.DISCONTINUITY_REASON_SEEK_ADJUSTMENT) { + LogTag.LogD(TAG, "reason->$reason") + if (reason == Player.DISCONTINUITY_REASON_AUTO_TRANSITION || reason == Player.DISCONTINUITY_REASON_SEEK_ADJUSTMENT) { if (meController != null) { musicPlayerView.updateInfoUi(meController.currentMediaItem) musicPlayerView.updateSetProgress(meController) musicPlayerView.updateProgressState(meController) } - LogTag.LogD(TAG,"reason update") + LogTag.LogD(TAG, "reason update") events.trySend(Event.AutomaticallySwitchSongs) } } override fun onPlaybackStateChanged(playbackState: Int) { + if (currentLayoutId != null) { + addMusicPlayerViewToLayout(currentLayoutId) + } val meController = MediaControllerManager.getController() if (meController != null) { musicPlayerView.updateProgressState(meController) @@ -526,7 +533,7 @@ abstract class MoBaseActivity : AppCompatActivity(), MusicPlayerView.PlaySkipFor } fun showRatingDialog() { - val intervalTime = 1000 * 60 * 5 + val intervalTime = 1000 * 60 * 60 * 24 * 3 val dialog = RatingDialog(this) val installTime = appStore.showRateDialogTime val currentTime = System.currentTimeMillis()