show a placeholder at contact suggestions, if none are found
This commit is contained in:
parent
e8205c7c44
commit
0836bdb9af
|
@ -45,15 +45,7 @@ class NewConversationActivity : SimpleActivity() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fillSuggestedContacts {
|
fetchContacts()
|
||||||
getAvailableContacts {
|
|
||||||
allContacts = it
|
|
||||||
runOnUiThread {
|
|
||||||
setupAdapter(allContacts)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
new_conversation_address.onTextChangeListener {
|
new_conversation_address.onTextChangeListener {
|
||||||
val searchString = it
|
val searchString = it
|
||||||
val filteredContacts = ArrayList<Contact>()
|
val filteredContacts = ArrayList<Contact>()
|
||||||
|
@ -74,6 +66,14 @@ class NewConversationActivity : SimpleActivity() {
|
||||||
val number = new_conversation_address.value
|
val number = new_conversation_address.value
|
||||||
launchThreadActivity(number, number)
|
launchThreadActivity(number, number)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
no_contacts_placeholder_2.setOnClickListener {
|
||||||
|
handlePermission(PERMISSION_READ_CONTACTS) {
|
||||||
|
if (it) {
|
||||||
|
fetchContacts()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun isThirdPartyIntent(): Boolean {
|
private fun isThirdPartyIntent(): Boolean {
|
||||||
|
@ -85,11 +85,27 @@ class NewConversationActivity : SimpleActivity() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun fetchContacts() {
|
||||||
|
fillSuggestedContacts {
|
||||||
|
getAvailableContacts {
|
||||||
|
allContacts = it
|
||||||
|
runOnUiThread {
|
||||||
|
setupAdapter(allContacts)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupAdapter(contacts: ArrayList<Contact>) {
|
private fun setupAdapter(contacts: ArrayList<Contact>) {
|
||||||
val hasContacts = contacts.isNotEmpty()
|
val hasContacts = contacts.isNotEmpty()
|
||||||
contacts_list.beVisibleIf(hasContacts)
|
contacts_list.beVisibleIf(hasContacts)
|
||||||
no_contacts_placeholder.beVisibleIf(!hasContacts)
|
no_contacts_placeholder.beVisibleIf(!hasContacts)
|
||||||
no_contacts_placeholder_2.beVisibleIf(!hasContacts)
|
no_contacts_placeholder_2.beVisibleIf(!hasContacts && !hasPermission(PERMISSION_READ_CONTACTS))
|
||||||
|
|
||||||
|
if (!hasContacts) {
|
||||||
|
val placeholderText = if (hasPermission(PERMISSION_READ_CONTACTS)) R.string.no_contacts_found else R.string.no_access_to_contacts
|
||||||
|
no_contacts_placeholder.text = getString(placeholderText)
|
||||||
|
}
|
||||||
|
|
||||||
ContactsAdapter(this, contacts, contacts_list, null) {
|
ContactsAdapter(this, contacts, contacts_list, null) {
|
||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
|
@ -108,6 +124,8 @@ class NewConversationActivity : SimpleActivity() {
|
||||||
suggestions_label.beGone()
|
suggestions_label.beGone()
|
||||||
suggestions_scrollview.beGone()
|
suggestions_scrollview.beGone()
|
||||||
} else {
|
} else {
|
||||||
|
suggestions_label.beVisible()
|
||||||
|
suggestions_scrollview.beVisible()
|
||||||
suggestions.forEach {
|
suggestions.forEach {
|
||||||
val contact = it
|
val contact = it
|
||||||
layoutInflater.inflate(R.layout.item_suggested_contact, null).apply {
|
layoutInflater.inflate(R.layout.item_suggested_contact, null).apply {
|
||||||
|
|
Loading…
Reference in New Issue