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'