mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
4664: Moved FolderFragment to ViewBinding (#5089)
This commit is contained in:
parent
26d2669a74
commit
4c24b65d2d
1 changed files with 27 additions and 15 deletions
|
|
@ -5,22 +5,19 @@ import android.view.LayoutInflater
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ProgressBar
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.customselector.helper.ImageHelper
|
||||
import fr.free.nrw.commons.customselector.model.Result
|
||||
import fr.free.nrw.commons.customselector.listeners.FolderClickListener
|
||||
import fr.free.nrw.commons.customselector.model.CallbackStatus
|
||||
import fr.free.nrw.commons.customselector.model.Folder
|
||||
import fr.free.nrw.commons.customselector.ui.adapter.FolderAdapter
|
||||
import fr.free.nrw.commons.databinding.FragmentCustomSelectorBinding
|
||||
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
|
||||
import fr.free.nrw.commons.media.MediaClient
|
||||
import fr.free.nrw.commons.upload.FileProcessor
|
||||
import kotlinx.android.synthetic.main.fragment_custom_selector.*
|
||||
import kotlinx.android.synthetic.main.fragment_custom_selector.view.*
|
||||
import javax.inject.Inject
|
||||
|
||||
/**
|
||||
|
|
@ -28,6 +25,12 @@ import javax.inject.Inject
|
|||
*/
|
||||
class FolderFragment : CommonsDaggerSupportFragment() {
|
||||
|
||||
/**
|
||||
* ViewBinding
|
||||
*/
|
||||
private var _binding: FragmentCustomSelectorBinding? = null
|
||||
private val binding get() = _binding
|
||||
|
||||
/**
|
||||
* View Model for images.
|
||||
*/
|
||||
|
|
@ -89,20 +92,20 @@ class FolderFragment : CommonsDaggerSupportFragment() {
|
|||
* Inflate Layout, init adapter, init gridLayoutManager, setUp recycler view, observe the view model for result.
|
||||
*/
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
val root = inflater.inflate(R.layout.fragment_custom_selector, container, false)
|
||||
_binding = FragmentCustomSelectorBinding.inflate(inflater, container, false)
|
||||
folderAdapter = FolderAdapter(activity!!, activity as FolderClickListener)
|
||||
gridLayoutManager = GridLayoutManager(context, columnCount())
|
||||
selectorRV = root.selector_rv
|
||||
loader = root.loader
|
||||
with(root.selector_rv){
|
||||
this.layoutManager = gridLayoutManager
|
||||
setHasFixedSize(true)
|
||||
this.adapter = folderAdapter
|
||||
selectorRV = binding?.selectorRv
|
||||
loader = binding?.loader
|
||||
with(binding?.selectorRv){
|
||||
this?.layoutManager = gridLayoutManager
|
||||
this?.setHasFixedSize(true)
|
||||
this?.adapter = folderAdapter
|
||||
}
|
||||
viewModel?.result?.observe(viewLifecycleOwner, Observer {
|
||||
viewModel?.result?.observe(viewLifecycleOwner) {
|
||||
handleResult(it)
|
||||
})
|
||||
return root
|
||||
}
|
||||
return binding?.root
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -115,7 +118,7 @@ class FolderFragment : CommonsDaggerSupportFragment() {
|
|||
val images = result.images
|
||||
if(images.isNullOrEmpty())
|
||||
{
|
||||
empty_text?.let {
|
||||
binding?.emptyText?.let {
|
||||
it.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
|
@ -140,6 +143,15 @@ class FolderFragment : CommonsDaggerSupportFragment() {
|
|||
super.onResume()
|
||||
}
|
||||
|
||||
/**
|
||||
* onDestroyView
|
||||
* clearing view binding
|
||||
*/
|
||||
override fun onDestroyView() {
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
/**
|
||||
* Return Column count ie span count for grid view adapter.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue