diff --git a/app/src/main/java/fr/free/nrw/commons/explore/media/PageableMediaFragment.kt b/app/src/main/java/fr/free/nrw/commons/explore/media/PageableMediaFragment.kt index 19e0a91cd..3ff43aeac 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/media/PageableMediaFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/media/PageableMediaFragment.kt @@ -2,24 +2,15 @@ package fr.free.nrw.commons.explore.media import android.content.Context import android.os.Bundle -import android.view.LayoutInflater import android.view.View -import android.view.ViewGroup import fr.free.nrw.commons.Media import fr.free.nrw.commons.R import fr.free.nrw.commons.category.CategoryImagesCallback -import fr.free.nrw.commons.databinding.FragmentSearchPaginatedBinding import fr.free.nrw.commons.explore.paging.BasePagingFragment import fr.free.nrw.commons.media.MediaDetailPagerFragment.MediaDetailProvider abstract class PageableMediaFragment : BasePagingFragment(), MediaDetailProvider { - /** - * ViewBinding - */ - private var _binding: FragmentSearchPaginatedBinding? = null - private val binding get() = _binding!! - override val pagedListAdapter by lazy { PagedMediaAdapter(categoryImagesCallback::onMediaClicked) } @@ -39,15 +30,6 @@ abstract class PageableMediaFragment : BasePagingFragment(), MediaDetailP } } - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - _binding = FragmentSearchPaginatedBinding.inflate(inflater, container, false) - return binding.root - } - private val simpleDataObserver = SimpleDataObserver { categoryImagesCallback.viewPagerNotifyDataSetChanged() } @@ -57,7 +39,6 @@ abstract class PageableMediaFragment : BasePagingFragment(), MediaDetailP } override fun onDestroyView() { - _binding = null super.onDestroyView() pagedListAdapter.unregisterAdapterDataObserver(simpleDataObserver) } 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 e61f0dc30..d4e8f0e8f 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 @@ -29,12 +29,19 @@ abstract class BasePagingFragment : CommonsDaggerSupportFragment(), private val mergeAdapter by lazy { MergeAdapter(pagedListAdapter, loadingAdapter) } private var searchResults: LiveData>? = null - private var binding : FragmentSearchPaginatedBinding? = null + protected lateinit var binding : FragmentSearchPaginatedBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentSearchPaginatedBinding.inflate(inflater, container, false) + return binding.root + } 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) @@ -51,7 +58,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) } } @@ -75,15 +82,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) { @@ -91,14 +98,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 } }