add the contact count dynamically

This commit is contained in:
Pavel Poley 2022-05-06 11:32:55 +03:00
parent 3ceb83b355
commit ec90f2d41f
1 changed files with 20 additions and 18 deletions

View File

@ -22,28 +22,21 @@ class FilterContactSourcesDialog(val activity: SimpleActivity, private val callb
private var isContactsReady = false
init {
dialog = AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok) { dialogInterface, i -> confirmContactSources() }
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this) {
ContactsHelper(activity).getContactSources { contactSources ->
contactSources.mapTo(this@FilterContactSourcesDialog.contactSources) { it.copy() }
isContactSourcesReady = true
processDataIfReady()
}
ContactsHelper(activity).getContactSources { contactSources ->
contactSources.mapTo(this@FilterContactSourcesDialog.contactSources) { it.copy() }
isContactSourcesReady = true
processDataIfReady()
}
ContactsHelper(activity).getContacts(getAll = true) { contacts ->
contacts.mapTo(this@FilterContactSourcesDialog.contacts) { it.copy() }
isContactsReady = true
processDataIfReady()
}
}
}
ContactsHelper(activity).getContacts(getAll = true) { contacts ->
contacts.mapTo(this@FilterContactSourcesDialog.contacts) { it.copy() }
isContactsReady = true
processDataIfReady()
}
}
private fun processDataIfReady() {
if (!isContactSourcesReady || !isContactsReady) {
if (!isContactSourcesReady) {
return
}
@ -59,6 +52,15 @@ class FilterContactSourcesDialog(val activity: SimpleActivity, private val callb
activity.runOnUiThread {
val selectedSources = activity.getVisibleContactSources()
view.filter_contact_sources_list.adapter = FilterContactSourcesAdapter(activity, contactSourcesWithCount, selectedSources)
if (dialog == null) {
dialog = AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok) { dialogInterface, i -> confirmContactSources() }
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this)
}
}
}
}