From 4c5d690a9e7bc8fd3dfa6692718b524cd7888337 Mon Sep 17 00:00:00 2001 From: Shashank Kumar <126143257+shashankiitbhu@users.noreply.github.com> Date: Thu, 15 Feb 2024 19:24:10 +0530 Subject: [PATCH] Fix Crash When Explore Tab is Clicked (#5550) --- .../explore/paging/BasePagingFragment.kt | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/explore/paging/BasePagingFragment.kt b/app/src/main/java/fr/free/nrw/commons/explore/paging/BasePagingFragment.kt index 06fb2f9d7..e61f0dc30 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/paging/BasePagingFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/paging/BasePagingFragment.kt @@ -5,8 +5,7 @@ import android.content.res.Configuration import android.os.Bundle import android.view.LayoutInflater import android.view.View -import android.view.View.GONE -import android.view.View.VISIBLE +import android.view.View.* import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.lifecycle.LiveData @@ -19,6 +18,7 @@ import fr.free.nrw.commons.databinding.FragmentSearchPaginatedBinding import fr.free.nrw.commons.di.CommonsDaggerSupportFragment import fr.free.nrw.commons.utils.ViewUtil + abstract class BasePagingFragment : CommonsDaggerSupportFragment(), PagingContract.View { @@ -29,20 +29,13 @@ abstract class BasePagingFragment : CommonsDaggerSupportFragment(), private val mergeAdapter by lazy { MergeAdapter(pagedListAdapter, loadingAdapter) } private var searchResults: LiveData>? = null - private var _binding: FragmentSearchPaginatedBinding? = null - private val binding get() = _binding!! - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - _binding = FragmentSearchPaginatedBinding.inflate(inflater, container, false) - return binding.root - } + private var binding : FragmentSearchPaginatedBinding? = null override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + val binding = FragmentSearchPaginatedBinding.bind(view) + this.binding = binding + binding.paginatedSearchResultsList.apply { layoutManager = GridLayoutManager(context, if (isPortrait) 1 else 2) adapter = mergeAdapter @@ -58,7 +51,7 @@ abstract class BasePagingFragment : CommonsDaggerSupportFragment(), */ override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) - binding.paginatedSearchResultsList.apply { + binding!!.paginatedSearchResultsList.apply { layoutManager = GridLayoutManager(context, if (isPortrait) 1 else 2) } } @@ -82,15 +75,15 @@ abstract class BasePagingFragment : CommonsDaggerSupportFragment(), } override fun hideInitialLoadProgress() { - binding.paginatedSearchInitialLoadProgress.visibility = GONE + binding!!.paginatedSearchInitialLoadProgress.visibility = GONE } override fun showInitialLoadInProgress() { - binding.paginatedSearchInitialLoadProgress.visibility = VISIBLE + binding!!.paginatedSearchInitialLoadProgress.visibility = VISIBLE } override fun showSnackbar() { - ViewUtil.showShortSnackbar(binding.paginatedSearchResultsList, errorTextId) + ViewUtil.showShortSnackbar(binding!!.paginatedSearchResultsList, errorTextId) } fun onQueryUpdated(query: String) { @@ -98,14 +91,14 @@ abstract class BasePagingFragment : CommonsDaggerSupportFragment(), } override fun showEmptyText(query: String) { - binding.contentNotFound.text = getEmptyText(query) - binding.contentNotFound.visibility = VISIBLE + binding!!.contentNotFound.text = getEmptyText(query) + binding!!.contentNotFound.visibility = VISIBLE } abstract fun getEmptyText(query: String): String override fun hideEmptyText() { - binding.contentNotFound.visibility = GONE + binding!!.contentNotFound.visibility = GONE } }