mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +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.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.ProgressBar
|
import android.widget.ProgressBar
|
||||||
import androidx.lifecycle.Observer
|
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
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.helper.ImageHelper
|
||||||
import fr.free.nrw.commons.customselector.model.Result
|
import fr.free.nrw.commons.customselector.model.Result
|
||||||
import fr.free.nrw.commons.customselector.listeners.FolderClickListener
|
import fr.free.nrw.commons.customselector.listeners.FolderClickListener
|
||||||
import fr.free.nrw.commons.customselector.model.CallbackStatus
|
import fr.free.nrw.commons.customselector.model.CallbackStatus
|
||||||
import fr.free.nrw.commons.customselector.model.Folder
|
import fr.free.nrw.commons.customselector.model.Folder
|
||||||
import fr.free.nrw.commons.customselector.ui.adapter.FolderAdapter
|
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.di.CommonsDaggerSupportFragment
|
||||||
import fr.free.nrw.commons.media.MediaClient
|
import fr.free.nrw.commons.media.MediaClient
|
||||||
import fr.free.nrw.commons.upload.FileProcessor
|
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
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -28,6 +25,12 @@ import javax.inject.Inject
|
||||||
*/
|
*/
|
||||||
class FolderFragment : CommonsDaggerSupportFragment() {
|
class FolderFragment : CommonsDaggerSupportFragment() {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ViewBinding
|
||||||
|
*/
|
||||||
|
private var _binding: FragmentCustomSelectorBinding? = null
|
||||||
|
private val binding get() = _binding
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* View Model for images.
|
* 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.
|
* 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? {
|
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)
|
folderAdapter = FolderAdapter(activity!!, activity as FolderClickListener)
|
||||||
gridLayoutManager = GridLayoutManager(context, columnCount())
|
gridLayoutManager = GridLayoutManager(context, columnCount())
|
||||||
selectorRV = root.selector_rv
|
selectorRV = binding?.selectorRv
|
||||||
loader = root.loader
|
loader = binding?.loader
|
||||||
with(root.selector_rv){
|
with(binding?.selectorRv){
|
||||||
this.layoutManager = gridLayoutManager
|
this?.layoutManager = gridLayoutManager
|
||||||
setHasFixedSize(true)
|
this?.setHasFixedSize(true)
|
||||||
this.adapter = folderAdapter
|
this?.adapter = folderAdapter
|
||||||
}
|
}
|
||||||
viewModel?.result?.observe(viewLifecycleOwner, Observer {
|
viewModel?.result?.observe(viewLifecycleOwner) {
|
||||||
handleResult(it)
|
handleResult(it)
|
||||||
})
|
}
|
||||||
return root
|
return binding?.root
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -115,7 +118,7 @@ class FolderFragment : CommonsDaggerSupportFragment() {
|
||||||
val images = result.images
|
val images = result.images
|
||||||
if(images.isNullOrEmpty())
|
if(images.isNullOrEmpty())
|
||||||
{
|
{
|
||||||
empty_text?.let {
|
binding?.emptyText?.let {
|
||||||
it.visibility = View.VISIBLE
|
it.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -140,6 +143,15 @@ class FolderFragment : CommonsDaggerSupportFragment() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* onDestroyView
|
||||||
|
* clearing view binding
|
||||||
|
*/
|
||||||
|
override fun onDestroyView() {
|
||||||
|
_binding = null
|
||||||
|
super.onDestroyView()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return Column count ie span count for grid view adapter.
|
* Return Column count ie span count for grid view adapter.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue