From 67ef6670807d9db97fc82da879a2f762e21187fb Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Mon, 27 Jun 2022 14:50:33 -0600 Subject: [PATCH] home: do not collect immediately on recreate Do not use collectImmediately when recreating tabs in the home menu. This resulted in an issue where the ViewPager would not update to reflect the new tab layout. --- app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt | 2 +- .../java/org/oxycblt/auxio/playback/PlaybackViewModel.kt | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt index 2a0515b05..2c3631925 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt @@ -142,7 +142,7 @@ class HomeFragment : ViewBindingFragment(), Toolbar.OnMenuI // --- VIEWMODEL SETUP --- collect(homeModel.isFastScrolling, ::updateFastScrolling) - collectImmediately(homeModel.recreateTabs, ::handleRecreateTabs) + collect(homeModel.recreateTabs, ::handleRecreateTabs) collectImmediately(homeModel.currentTab, ::updateCurrentTab) collectImmediately(indexerModel.state, ::handleIndexerState) collect(navModel.exploreNavigationItem, ::handleNavigation) diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt index 1a05a938c..ad7c0da61 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt @@ -22,7 +22,6 @@ import android.content.Context import android.net.Uri import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch @@ -276,9 +275,7 @@ class PlaybackViewModel(application: Application) : // --- SAVE/RESTORE FUNCTIONS --- - /** - * Force save the current [PlaybackStateManager] state to the database. - */ + /** Force save the current [PlaybackStateManager] state to the database. */ fun savePlaybackState(context: Context, onDone: () -> Unit) { viewModelScope.launch { playbackManager.saveState(PlaybackStateDatabase.getInstance(context))