@@ -13,12 +13,17 @@ import android.view.ViewGroup
13
13
import androidx.appcompat.widget.PopupMenu
14
14
import androidx.fragment.app.Fragment
15
15
import androidx.fragment.app.setFragmentResult
16
+ import androidx.lifecycle.Lifecycle
16
17
import androidx.lifecycle.ViewModelProvider
18
+ import androidx.lifecycle.lifecycleScope
19
+ import androidx.lifecycle.repeatOnLifecycle
17
20
import androidx.recyclerview.widget.DiffUtil
18
21
import androidx.recyclerview.widget.LinearLayoutManager
19
22
import androidx.recyclerview.widget.ListAdapter
20
23
import androidx.recyclerview.widget.RecyclerView
21
24
import kotlin.math.roundToInt
25
+ import kotlinx.coroutines.flow.collectLatest
26
+ import kotlinx.coroutines.launch
22
27
import org.joda.time.DateTime
23
28
import org.joda.time.format.DateTimeFormat
24
29
import org.readium.r2.shared.publication.Publication
@@ -73,9 +78,13 @@ class BookmarksFragment : Fragment() {
73
78
{ it.resourceIndex },
74
79
{ it.locator.locations.progression }
75
80
)
76
- viewModel.getBookmarks().observe(viewLifecycleOwner) {
77
- val bookmarks = it.sortedWith(comparator)
78
- bookmarkAdapter.submitList(bookmarks)
81
+ lifecycleScope.launch {
82
+ viewLifecycleOwner.repeatOnLifecycle(Lifecycle .State .STARTED ) {
83
+ viewModel.getBookmarks().collectLatest {
84
+ val bookmarks = it.sortedWith(comparator)
85
+ bookmarkAdapter.submitList(bookmarks)
86
+ }
87
+ }
79
88
}
80
89
}
81
90
0 commit comments