No issue: Fix leaks in BookmarkFragment
parent
5014cd78ec
commit
f801f32027
|
@ -52,7 +52,9 @@ class BookmarkFragment : LibraryPageFragment<BookmarkNode>(), UserInteractionHan
|
||||||
|
|
||||||
private lateinit var bookmarkStore: BookmarkFragmentStore
|
private lateinit var bookmarkStore: BookmarkFragmentStore
|
||||||
private lateinit var bookmarkView: BookmarkView
|
private lateinit var bookmarkView: BookmarkView
|
||||||
private lateinit var bookmarkInteractor: BookmarkFragmentInteractor
|
private var _bookmarkInteractor: BookmarkFragmentInteractor? = null
|
||||||
|
protected val bookmarkInteractor: BookmarkFragmentInteractor
|
||||||
|
get() = _bookmarkInteractor!!
|
||||||
|
|
||||||
private val sharedViewModel: BookmarksSharedViewModel by activityViewModels {
|
private val sharedViewModel: BookmarksSharedViewModel by activityViewModels {
|
||||||
ViewModelProvider.NewInstanceFactory() // this is a workaround for #4652
|
ViewModelProvider.NewInstanceFactory() // this is a workaround for #4652
|
||||||
|
@ -75,7 +77,7 @@ class BookmarkFragment : LibraryPageFragment<BookmarkNode>(), UserInteractionHan
|
||||||
BookmarkFragmentStore(BookmarkFragmentState(null))
|
BookmarkFragmentStore(BookmarkFragmentState(null))
|
||||||
}
|
}
|
||||||
|
|
||||||
bookmarkInteractor = BookmarkFragmentInteractor(
|
_bookmarkInteractor = BookmarkFragmentInteractor(
|
||||||
bookmarkStore = bookmarkStore,
|
bookmarkStore = bookmarkStore,
|
||||||
viewModel = sharedViewModel,
|
viewModel = sharedViewModel,
|
||||||
bookmarksController = DefaultBookmarkController(
|
bookmarksController = DefaultBookmarkController(
|
||||||
|
@ -94,7 +96,7 @@ class BookmarkFragment : LibraryPageFragment<BookmarkNode>(), UserInteractionHan
|
||||||
|
|
||||||
bookmarkView = BookmarkView(view.bookmarkLayout, bookmarkInteractor)
|
bookmarkView = BookmarkView(view.bookmarkLayout, bookmarkInteractor)
|
||||||
|
|
||||||
lifecycle.addObserver(
|
viewLifecycleOwner.lifecycle.addObserver(
|
||||||
BookmarkDeselectNavigationListener(
|
BookmarkDeselectNavigationListener(
|
||||||
findNavController(),
|
findNavController(),
|
||||||
sharedViewModel,
|
sharedViewModel,
|
||||||
|
@ -293,6 +295,11 @@ class BookmarkFragment : LibraryPageFragment<BookmarkNode>(), UserInteractionHan
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
super.onDestroyView()
|
||||||
|
_bookmarkInteractor = null
|
||||||
|
}
|
||||||
|
|
||||||
private fun invokePendingDeletion() {
|
private fun invokePendingDeletion() {
|
||||||
pendingBookmarkDeletionJob?.let {
|
pendingBookmarkDeletionJob?.let {
|
||||||
viewLifecycleOwner.lifecycleScope.launch {
|
viewLifecycleOwner.lifecycleScope.launch {
|
||||||
|
|
Loading…
Reference in New Issue