@@ -10,7 +10,6 @@ import android.view.View
10
10
import android.view.ViewGroup
11
11
import android.widget.CompoundButton
12
12
import androidx.core.content.ContextCompat
13
- import androidx.core.view.children
14
13
import androidx.core.view.isVisible
15
14
import androidx.fragment.app.Fragment
16
15
import androidx.lifecycle.Observer
@@ -76,7 +75,7 @@ class SearchResultsFragment : Fragment(), CompoundButton.OnCheckedChangeListener
76
75
rootView = inflater.inflate(R .layout.fragment_search_results, container, false )
77
76
setPostponeSharedElementTransition()
78
77
79
- setChips(eventDate, eventType )
78
+ setChips()
80
79
setToolbar(activity, getString(R .string.search_results))
81
80
setHasOptionsMenu(true )
82
81
@@ -125,17 +124,6 @@ class SearchResultsFragment : Fragment(), CompoundButton.OnCheckedChangeListener
125
124
rootView.searchRootLayout.longSnackbar(it)
126
125
})
127
126
128
- searchViewModel.chipClickable
129
- .nonNull()
130
- .observe(this , Observer {
131
- rootView.chipGroup.children.forEach { chip ->
132
- if (chip is Chip ) {
133
- chip.isClickable = it
134
- if (chip.isChecked) chip.isClickable = false
135
- }
136
- }
137
- })
138
-
139
127
rootView.retry.setOnClickListener {
140
128
performSearch()
141
129
}
@@ -159,7 +147,6 @@ class SearchResultsFragment : Fragment(), CompoundButton.OnCheckedChangeListener
159
147
date != getString(R .string.anytime) && type != getString(R .string.anything) -> {
160
148
addChips(date, true )
161
149
addChips(type, true )
162
- addChips(getString(R .string.clear_all), false )
163
150
}
164
151
date != getString(R .string.anytime) && type == getString(R .string.anything) -> {
165
152
addChips(date, true )
@@ -241,7 +228,6 @@ class SearchResultsFragment : Fragment(), CompoundButton.OnCheckedChangeListener
241
228
val date = eventDate
242
229
val freeEvents = safeArgs.freeEvents
243
230
val sortBy = safeArgs.sort
244
- searchViewModel.setChipNotClickable()
245
231
searchViewModel.searchEvent = query
246
232
searchViewModel.loadEvents(location, date, type, freeEvents, sortBy)
247
233
}
@@ -282,46 +268,31 @@ class SearchResultsFragment : Fragment(), CompoundButton.OnCheckedChangeListener
282
268
}
283
269
284
270
override fun onCheckedChanged (buttonView : CompoundButton ? , isChecked : Boolean ) {
285
- if (isChecked) {
286
- if (buttonView?.text == getString(R .string.clear_all)) {
287
- searchViewModel.savedTime = null
288
- searchViewModel.savedType = null
289
- eventDate = getString(R .string.anytime)
290
- eventType = getString(R .string.anything)
291
- rootView.noSearchResults.isVisible = false
292
- favoriteEventsRecyclerAdapter.submitList(null )
293
- searchViewModel.clearEvents()
294
- searchViewModel.clearTimeAndType()
295
- if (searchViewModel.isConnected()) performSearch()
296
- else showNoInternetError(true )
297
- setChips()
271
+ days.forEach {
272
+ if (it == buttonView?.text) {
273
+ searchViewModel.savedTime = if (isChecked) it else null
274
+ eventDate = if (isChecked) it else getString(R .string.anytime)
275
+ setChips(date = it)
276
+ refreshEvents()
277
+ return @forEach
298
278
}
299
- days.forEach {
300
- if (it == buttonView?.text) {
301
- searchViewModel.savedTime = it
302
- eventDate = it
303
- setChips(date = it)
304
- rootView.noSearchResults.isVisible = false
305
- favoriteEventsRecyclerAdapter.submitList(null )
306
- searchViewModel.clearEvents()
307
- if (searchViewModel.isConnected()) performSearch()
308
- else showNoInternetError(true )
309
- return @forEach
310
- }
311
- }
312
- eventTypesList?.forEach {
313
- if (it.name == buttonView?.text) {
314
- searchViewModel.savedType = it.name
315
- eventType = it.name
316
- setChips(type = it.name)
317
- rootView.noSearchResults.isVisible = false
318
- favoriteEventsRecyclerAdapter.submitList(null )
319
- searchViewModel.clearEvents()
320
- if (searchViewModel.isConnected()) performSearch()
321
- else showNoInternetError(true )
322
- return @forEach
323
- }
279
+ }
280
+ eventTypesList?.forEach {
281
+ if (it.name == buttonView?.text) {
282
+ searchViewModel.savedType = if (isChecked) it.name else null
283
+ eventType = if (isChecked) it.name else getString(R .string.anything)
284
+ refreshEvents()
285
+ return @forEach
324
286
}
325
287
}
326
288
}
289
+
290
+ private fun refreshEvents () {
291
+ setChips()
292
+ rootView.noSearchResults.isVisible = false
293
+ favoriteEventsRecyclerAdapter.submitList(null )
294
+ searchViewModel.clearEvents()
295
+ if (searchViewModel.isConnected()) performSearch()
296
+ else showNoInternetError(true )
297
+ }
327
298
}
0 commit comments