mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
4664: Moved ImageFragment to ViewBinding (#5067)
This commit is contained in:
parent
64d4ffc5f1
commit
26d2669a74
1 changed files with 21 additions and 16 deletions
|
|
@ -14,7 +14,6 @@ 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.database.NotForUploadStatusDao
|
import fr.free.nrw.commons.customselector.database.NotForUploadStatusDao
|
||||||
import fr.free.nrw.commons.customselector.database.UploadedStatusDao
|
import fr.free.nrw.commons.customselector.database.UploadedStatusDao
|
||||||
import fr.free.nrw.commons.customselector.helper.ImageHelper
|
import fr.free.nrw.commons.customselector.helper.ImageHelper
|
||||||
|
|
@ -27,13 +26,12 @@ import fr.free.nrw.commons.customselector.model.CallbackStatus
|
||||||
import fr.free.nrw.commons.customselector.model.Image
|
import fr.free.nrw.commons.customselector.model.Image
|
||||||
import fr.free.nrw.commons.customselector.model.Result
|
import fr.free.nrw.commons.customselector.model.Result
|
||||||
import fr.free.nrw.commons.customselector.ui.adapter.ImageAdapter
|
import fr.free.nrw.commons.customselector.ui.adapter.ImageAdapter
|
||||||
|
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.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.upload.FileProcessor
|
import fr.free.nrw.commons.upload.FileProcessor
|
||||||
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
||||||
import kotlinx.android.synthetic.main.fragment_custom_selector.*
|
|
||||||
import kotlinx.android.synthetic.main.fragment_custom_selector.view.*
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
|
|
@ -43,6 +41,9 @@ import kotlin.collections.ArrayList
|
||||||
*/
|
*/
|
||||||
class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassDataListener {
|
class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassDataListener {
|
||||||
|
|
||||||
|
private var _binding: FragmentCustomSelectorBinding? = null
|
||||||
|
private val binding get() = _binding
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Current bucketId.
|
* Current bucketId.
|
||||||
*/
|
*/
|
||||||
|
|
@ -64,7 +65,7 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
|
||||||
private var selectorRV: RecyclerView? = null
|
private var selectorRV: RecyclerView? = null
|
||||||
private var loader: ProgressBar? = null
|
private var loader: ProgressBar? = null
|
||||||
private var switch: Switch? = null
|
private var switch: Switch? = null
|
||||||
lateinit var filteredImages: ArrayList<Image>;
|
lateinit var filteredImages: ArrayList<Image>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores all images
|
* Stores all images
|
||||||
|
|
@ -171,33 +172,32 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
|
||||||
* SetUp recycler view.
|
* SetUp recycler view.
|
||||||
*/
|
*/
|
||||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||||
|
_binding = FragmentCustomSelectorBinding.inflate(inflater, container, false)
|
||||||
val root = inflater.inflate(R.layout.fragment_custom_selector, container, false)
|
|
||||||
imageAdapter = ImageAdapter(requireActivity(), activity as ImageSelectListener, imageLoader!!)
|
imageAdapter = ImageAdapter(requireActivity(), activity as ImageSelectListener, imageLoader!!)
|
||||||
gridLayoutManager = GridLayoutManager(context,getSpanCount())
|
gridLayoutManager = GridLayoutManager(context,getSpanCount())
|
||||||
with(root.selector_rv){
|
with(binding?.selectorRv){
|
||||||
this.layoutManager = gridLayoutManager
|
this?.layoutManager = gridLayoutManager
|
||||||
setHasFixedSize(true)
|
this?.setHasFixedSize(true)
|
||||||
this.adapter = imageAdapter
|
this?.adapter = imageAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
viewModel?.result?.observe(viewLifecycleOwner, Observer{
|
viewModel?.result?.observe(viewLifecycleOwner, Observer{
|
||||||
handleResult(it)
|
handleResult(it)
|
||||||
})
|
})
|
||||||
|
|
||||||
switch = root.switchWidget
|
switch = binding?.switchWidget
|
||||||
switch?.visibility = View.VISIBLE
|
switch?.visibility = View.VISIBLE
|
||||||
switch?.setOnCheckedChangeListener { _, isChecked -> onChangeSwitchState(isChecked) }
|
switch?.setOnCheckedChangeListener { _, isChecked -> onChangeSwitchState(isChecked) }
|
||||||
selectorRV = root.selector_rv
|
selectorRV = binding?.selectorRv
|
||||||
loader = root.loader
|
loader = binding?.loader
|
||||||
progressLayout = root.progressLayout
|
progressLayout = binding?.progressLayout
|
||||||
|
|
||||||
val sharedPreferences: SharedPreferences =
|
val sharedPreferences: SharedPreferences =
|
||||||
requireContext().getSharedPreferences(CUSTOM_SELECTOR_PREFERENCE_KEY, MODE_PRIVATE)
|
requireContext().getSharedPreferences(CUSTOM_SELECTOR_PREFERENCE_KEY, MODE_PRIVATE)
|
||||||
showAlreadyActionedImages = sharedPreferences.getBoolean(SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY, true)
|
showAlreadyActionedImages = sharedPreferences.getBoolean(SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY, true)
|
||||||
switch?.isChecked = showAlreadyActionedImages
|
switch?.isChecked = showAlreadyActionedImages
|
||||||
|
|
||||||
return root
|
return binding?.root
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onChangeSwitchState(checked: Boolean) {
|
private fun onChangeSwitchState(checked: Boolean) {
|
||||||
|
|
@ -252,7 +252,7 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
empty_text?.let {
|
binding?.emptyText?.let {
|
||||||
it.visibility = View.VISIBLE
|
it.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
selectorRV?.let{
|
selectorRV?.let{
|
||||||
|
|
@ -311,6 +311,11 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
_binding = null
|
||||||
|
super.onDestroyView()
|
||||||
|
}
|
||||||
|
|
||||||
override fun refresh() {
|
override fun refresh() {
|
||||||
imageAdapter.refresh(filteredImages, allImages)
|
imageAdapter.refresh(filteredImages, allImages)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue