mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Optimize the Layout ViewBinding (#5830)
This commit is contained in:
parent
3e915f9848
commit
f751ab4a75
2 changed files with 17 additions and 29 deletions
|
|
@ -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<Media>(), 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<Media>(), 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<Media>(), MediaDetailP
|
|||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
pagedListAdapter.unregisterAdapterDataObserver(simpleDataObserver)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,12 +29,19 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
|
|||
private val mergeAdapter by lazy { MergeAdapter(pagedListAdapter, loadingAdapter) }
|
||||
private var searchResults: LiveData<PagedList<T>>? = 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<T> : 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<T> : 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<T> : 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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue