refactor (search filter) : syncing main tytype chips and bottom dialog tytype chips (#811)
This commit is contained in:
parent
fe30a85a1c
commit
91dc83e6a3
|
@ -256,12 +256,12 @@ class SearchFragment : Fragment() {
|
||||||
|
|
||||||
builder.behavior.state = BottomSheetBehavior.STATE_EXPANDED
|
builder.behavior.state = BottomSheetBehavior.STATE_EXPANDED
|
||||||
|
|
||||||
val binding: HomeSelectMainpageBinding = HomeSelectMainpageBinding.inflate(
|
val selectMainpageBinding: HomeSelectMainpageBinding = HomeSelectMainpageBinding.inflate(
|
||||||
builder.layoutInflater,
|
builder.layoutInflater,
|
||||||
null,
|
null,
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
builder.setContentView(binding.root)
|
builder.setContentView(selectMainpageBinding.root)
|
||||||
builder.show()
|
builder.show()
|
||||||
builder.let { dialog ->
|
builder.let { dialog ->
|
||||||
val isMultiLang = ctx.getApiProviderLangSettings().let { set ->
|
val isMultiLang = ctx.getApiProviderLangSettings().let { set ->
|
||||||
|
@ -315,16 +315,23 @@ class SearchFragment : Fragment() {
|
||||||
arrayAdapter.notifyDataSetChanged()
|
arrayAdapter.notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
val selectedSearchTypes = DataStoreHelper.searchPreferenceTags
|
|
||||||
|
|
||||||
bindChips(
|
bindChips(
|
||||||
binding.tvtypesChipsScroll.tvtypesChips,
|
selectMainpageBinding.tvtypesChipsScroll.tvtypesChips,
|
||||||
selectedSearchTypes,
|
selectedSearchTypes,
|
||||||
TvType.values().toList()
|
validAPIs.flatMap { api -> api.supportedTypes }.distinct()
|
||||||
) { list ->
|
) { list ->
|
||||||
updateList(list)
|
updateList(list)
|
||||||
|
|
||||||
|
// refresh selected chips in main chips
|
||||||
|
if (selectedSearchTypes.toSet() != list.toSet()) {
|
||||||
|
selectedSearchTypes.clear()
|
||||||
|
selectedSearchTypes.addAll(list)
|
||||||
|
updateChips(binding?.tvtypesChipsScroll?.tvtypesChips, selectedSearchTypes)
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
cancelBtt?.setOnClickListener {
|
cancelBtt?.setOnClickListener {
|
||||||
dialog.dismissSafe()
|
dialog.dismissSafe()
|
||||||
}
|
}
|
||||||
|
@ -343,6 +350,9 @@ class SearchFragment : Fragment() {
|
||||||
dialog.setOnDismissListener {
|
dialog.setOnDismissListener {
|
||||||
DataStoreHelper.searchPreferenceProviders = currentSelectedApis.toList()
|
DataStoreHelper.searchPreferenceProviders = currentSelectedApis.toList()
|
||||||
selectedApis = currentSelectedApis
|
selectedApis = currentSelectedApis
|
||||||
|
|
||||||
|
// run search when dialog is close
|
||||||
|
search(binding?.mainSearch?.query?.toString())
|
||||||
}
|
}
|
||||||
updateList(selectedSearchTypes.toList())
|
updateList(selectedSearchTypes.toList())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue