@@ -14,7 +14,6 @@ import androidx.lifecycle.Observer
14
14
import androidx.lifecycle.ViewModelProvider
15
15
import androidx.recyclerview.widget.GridLayoutManager
16
16
import androidx.recyclerview.widget.RecyclerView
17
- import fr.free.nrw.commons.R
18
17
import fr.free.nrw.commons.customselector.database.NotForUploadStatusDao
19
18
import fr.free.nrw.commons.customselector.database.UploadedStatusDao
20
19
import fr.free.nrw.commons.customselector.helper.ImageHelper
@@ -27,13 +26,12 @@ import fr.free.nrw.commons.customselector.model.CallbackStatus
27
26
import fr.free.nrw.commons.customselector.model.Image
28
27
import fr.free.nrw.commons.customselector.model.Result
29
28
import fr.free.nrw.commons.customselector.ui.adapter.ImageAdapter
29
+ import fr.free.nrw.commons.databinding.FragmentCustomSelectorBinding
30
30
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
31
31
import fr.free.nrw.commons.media.MediaClient
32
32
import fr.free.nrw.commons.theme.BaseActivity
33
33
import fr.free.nrw.commons.upload.FileProcessor
34
34
import fr.free.nrw.commons.upload.FileUtilsWrapper
35
- import kotlinx.android.synthetic.main.fragment_custom_selector.*
36
- import kotlinx.android.synthetic.main.fragment_custom_selector.view.*
37
35
import java.util.*
38
36
import javax.inject.Inject
39
37
import kotlin.collections.ArrayList
@@ -43,6 +41,9 @@ import kotlin.collections.ArrayList
43
41
*/
44
42
class ImageFragment : CommonsDaggerSupportFragment (), RefreshUIListener, PassDataListener {
45
43
44
+ private var _binding : FragmentCustomSelectorBinding ? = null
45
+ private val binding get() = _binding
46
+
46
47
/* *
47
48
* Current bucketId.
48
49
*/
@@ -64,7 +65,7 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
64
65
private var selectorRV: RecyclerView ? = null
65
66
private var loader: ProgressBar ? = null
66
67
private var switch: Switch ? = null
67
- lateinit var filteredImages: ArrayList <Image >;
68
+ lateinit var filteredImages: ArrayList <Image >
68
69
69
70
/* *
70
71
* Stores all images
@@ -171,33 +172,32 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
171
172
* SetUp recycler view.
172
173
*/
173
174
override fun onCreateView (inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ): View ? {
174
-
175
- val root = inflater.inflate(R .layout.fragment_custom_selector, container, false )
175
+ _binding = FragmentCustomSelectorBinding .inflate(inflater, container, false )
176
176
imageAdapter = ImageAdapter (requireActivity(), activity as ImageSelectListener , imageLoader!! )
177
177
gridLayoutManager = GridLayoutManager (context,getSpanCount())
178
- with (root.selector_rv ){
179
- this .layoutManager = gridLayoutManager
180
- setHasFixedSize(true )
181
- this .adapter = imageAdapter
178
+ with (binding?.selectorRv ){
179
+ this ? .layoutManager = gridLayoutManager
180
+ this ?. setHasFixedSize(true )
181
+ this ? .adapter = imageAdapter
182
182
}
183
183
184
184
viewModel?.result?.observe(viewLifecycleOwner, Observer {
185
185
handleResult(it)
186
186
})
187
187
188
- switch = root .switchWidget
188
+ switch = binding? .switchWidget
189
189
switch?.visibility = View .VISIBLE
190
190
switch?.setOnCheckedChangeListener { _, isChecked -> onChangeSwitchState(isChecked) }
191
- selectorRV = root.selector_rv
192
- loader = root .loader
193
- progressLayout = root .progressLayout
191
+ selectorRV = binding?.selectorRv
192
+ loader = binding? .loader
193
+ progressLayout = binding? .progressLayout
194
194
195
195
val sharedPreferences: SharedPreferences =
196
196
requireContext().getSharedPreferences(CUSTOM_SELECTOR_PREFERENCE_KEY , MODE_PRIVATE )
197
197
showAlreadyActionedImages = sharedPreferences.getBoolean(SHOW_ALREADY_ACTIONED_IMAGES_PREFERENCE_KEY , true )
198
198
switch?.isChecked = showAlreadyActionedImages
199
199
200
- return root
200
+ return binding?. root
201
201
}
202
202
203
203
private fun onChangeSwitchState (checked : Boolean ) {
@@ -252,7 +252,7 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
252
252
}
253
253
}
254
254
else {
255
- empty_text ?.let {
255
+ binding?.emptyText ?.let {
256
256
it.visibility = View .VISIBLE
257
257
}
258
258
selectorRV?.let {
@@ -311,6 +311,11 @@ class ImageFragment: CommonsDaggerSupportFragment(), RefreshUIListener, PassData
311
311
super .onDestroy()
312
312
}
313
313
314
+ override fun onDestroyView () {
315
+ _binding = null
316
+ super .onDestroyView()
317
+ }
318
+
314
319
override fun refresh () {
315
320
imageAdapter.refresh(filteredImages, allImages)
316
321
}
0 commit comments