From 7301a02f1e5f4267dc6ecfdb3dedd33d515b9be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20=C4=90=E1=BB=A9c=20Tu=E1=BA=A5n=20Minh?= Date: Mon, 11 Sep 2023 19:15:50 +0700 Subject: [PATCH] Fix seek (last track recovered) again --- app/src/main/java/com/maxrave/simpmusic/ui/MainActivity.kt | 1 - .../java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/maxrave/simpmusic/ui/MainActivity.kt b/app/src/main/java/com/maxrave/simpmusic/ui/MainActivity.kt index 95dc6aa6..49c34aa8 100644 --- a/app/src/main/java/com/maxrave/simpmusic/ui/MainActivity.kt +++ b/app/src/main/java/com/maxrave/simpmusic/ui/MainActivity.kt @@ -500,7 +500,6 @@ class MainActivity : AppCompatActivity() { if (queueData.isNotEmpty()) { if (isMusicServiceRunning) { binding.miniplayer.visibility = View.VISIBLE - viewModel.restoreLastPLayedTrackDone() } Queue.clear() Queue.addAll(queueData) diff --git a/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt b/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt index ff3a6b57..7cdc52a5 100644 --- a/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt +++ b/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt @@ -26,6 +26,7 @@ import com.maxrave.simpmusic.common.DownloadState import com.maxrave.simpmusic.common.QUALITY import com.maxrave.simpmusic.common.SELECTED_LANGUAGE import com.maxrave.simpmusic.data.dataStore.DataStoreManager +import com.maxrave.simpmusic.data.dataStore.DataStoreManager.Settings.RESTORE_LAST_PLAYED_TRACK_AND_QUEUE_DONE import com.maxrave.simpmusic.data.dataStore.DataStoreManager.Settings.TRUE import com.maxrave.simpmusic.data.db.entities.FormatEntity import com.maxrave.simpmusic.data.db.entities.LocalPlaylistEntity @@ -865,7 +866,8 @@ class SharedViewModel @Inject constructor(private var dataStoreManager: DataStor loadMediaItemFromTrack(song.toTrack()) firstTrackAdded.collectLatest { added -> if (added) { - if (_nowPlaying.value?.mediaId == mediaId) { + if (_nowPlaying.value?.mediaId == mediaId && getString(RESTORE_LAST_PLAYED_TRACK_AND_QUEUE_DONE) == DataStoreManager.FALSE) { + restoreLastPLayedTrackDone() from.postValue(from_backup) changeFirstTrackAddedToFalse() simpleMediaServiceHandler.seekTo(recentPosition)