diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2e7a1b2b..2580c5ac 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,6 +10,11 @@ + + + + + + + + + + + + diff --git a/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkFragment.kt b/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkFragment.kt index 6da9d958..2b43704d 100644 --- a/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkFragment.kt +++ b/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkFragment.kt @@ -11,7 +11,9 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.core.os.bundleOf import androidx.core.view.MenuProvider +import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle import androidx.paging.LoadState import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager @@ -89,19 +91,26 @@ class BookmarkFragment : BaseBookmarkFragment() { var savedState = savedInstanceState viewLifecycleOwner.lifecycleScope.launch { - viewModel.pagerFlow.collectLatest { data -> - adapter.submitData(data) + repeatOnLifecycle(Lifecycle.State.RESUMED) { + viewModel.pagerFlow.collectLatest { data -> + adapter.submitData(data) - if (savedState != null) { - adapter.tracker.onRestoreInstanceState(savedState) - savedState = null + if (savedState != null) { + adapter.tracker.onRestoreInstanceState(savedState) + savedState = null + } } } - adapter.loadStateFlow.collect { state -> - val isListEmpty = state.refresh is LoadState.NotLoading && adapter.itemCount == 0 - binding.isEmpty = isListEmpty - binding.isLoading = state.source.refresh is LoadState.Loading - state.handleErrors(viewModel::handleLoadError) + } + viewLifecycleOwner.lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.RESUMED) { + adapter.loadStateFlow.collect { state -> + val isListEmpty = + state.refresh is LoadState.NotLoading && adapter.itemCount == 0 + binding.isEmpty = isListEmpty + binding.isLoading = state.source.refresh is LoadState.Loading + state.handleErrors(viewModel::handleLoadError) + } } } diff --git a/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkListFragment.kt b/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkListFragment.kt index 36fb7d6c..4edb3e77 100644 --- a/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkListFragment.kt +++ b/app/src/main/java/com/arcao/geocaching4locus/import_bookmarks/fragment/BookmarkListFragment.kt @@ -8,7 +8,9 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.core.os.bundleOf import androidx.databinding.DataBindingUtil +import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle import androidx.paging.LoadState import androidx.recyclerview.widget.LinearLayoutManager import com.arcao.geocaching4locus.R @@ -63,14 +65,21 @@ class BookmarkListFragment : BaseBookmarkFragment() { } viewLifecycleOwner.lifecycleScope.launch { - viewModel.pagerFlow.collectLatest { data -> - adapter.submitData(data) + repeatOnLifecycle(Lifecycle.State.RESUMED) { + viewModel.pagerFlow.collectLatest { data -> + adapter.submitData(data) + } } - adapter.loadStateFlow.collect { state -> - val isListEmpty = state.refresh is LoadState.NotLoading && adapter.itemCount == 0 - binding.isEmpty = isListEmpty - binding.isLoading = state.source.refresh is LoadState.Loading - state.handleErrors(viewModel::handleLoadError) + } + viewLifecycleOwner.lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.RESUMED) { + adapter.loadStateFlow.collect { state -> + val isListEmpty = + state.refresh is LoadState.NotLoading && adapter.itemCount == 0 + binding.isEmpty = isListEmpty + binding.isLoading = state.source.refresh is LoadState.Loading + state.handleErrors(viewModel::handleLoadError) + } } } diff --git a/versions.gradle b/versions.gradle index 5d94a289..d111c15e 100644 --- a/versions.gradle +++ b/versions.gradle @@ -1,5 +1,5 @@ ext { - version_name = '3.0.8' + version_name = '3.0.9' min_sdk_version = 21 compile_sdk_version = 32 @@ -27,7 +27,7 @@ ext { paging_version = '3.1.1' preference_version = '1.2.0' recycler_view_version = '1.2.1' - desugar_jdk_libs_version = '1.1.0' + desugar_jdk_libs_version = '1.1.8' // google crashlytics_version = '2.10.1'