From cec4f4da664047083a1b8bdaf8126897de4439f3 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 11 Feb 2023 14:03:18 +0530 Subject: [PATCH 1/2] Release view bindings in SearchFragment. --- .../com/github/libretube/ui/fragments/SearchFragment.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt index 113571b97..ee3fd47f0 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt @@ -20,7 +20,9 @@ import com.github.libretube.ui.base.BaseFragment import com.github.libretube.ui.models.SearchViewModel class SearchFragment : BaseFragment() { - private lateinit var binding: FragmentSearchBinding + private var _binding: FragmentSearchBinding? = null + private val binding get() = _binding!! + private val viewModel: SearchViewModel by activityViewModels() private var query: String? = null @@ -35,7 +37,7 @@ class SearchFragment : BaseFragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding = FragmentSearchBinding.inflate(layoutInflater, container, false) + _binding = FragmentSearchBinding.inflate(layoutInflater, container, false) return binding.root } From a0408840c42c5efb6f724117a0daad9c50468d19 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 11 Feb 2023 14:53:05 +0530 Subject: [PATCH 2/2] Release view bindings in SearchResultFragment. --- .../ui/fragments/SearchResultFragment.kt | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt index 64840a23c..77341c1cd 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt @@ -25,7 +25,8 @@ import kotlinx.coroutines.withContext import retrofit2.HttpException class SearchResultFragment : BaseFragment() { - private lateinit var binding: FragmentSearchResultBinding + private var _binding: FragmentSearchResultBinding? = null + private val binding get() = _binding!! private var nextPage: String? = null private var query: String = "" @@ -43,7 +44,7 @@ class SearchResultFragment : BaseFragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding = FragmentSearchResultBinding.inflate(layoutInflater, container, false) + _binding = FragmentSearchResultBinding.inflate(layoutInflater, container, false) return binding.root } @@ -75,12 +76,18 @@ class SearchResultFragment : BaseFragment() { fetchSearch() - binding.searchRecycler.viewTreeObserver - .addOnScrollChangedListener { - if (!binding.searchRecycler.canScrollVertically(1)) { - if (nextPage != null) fetchNextSearchItems() - } + binding.searchRecycler.viewTreeObserver.addOnScrollChangedListener { + if (_binding?.searchRecycler?.canScrollVertically(1) == false && + nextPage != null + ) { + fetchNextSearchItems() } + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null } private fun fetchSearch() {