moving some contact related things into Commons
This commit is contained in:
parent
c17d78b871
commit
605f9e845a
9 changed files with 44 additions and 166 deletions
|
|
@ -7,13 +7,17 @@ import android.view.Menu
|
|||
import android.view.WindowManager
|
||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.smsmessenger.R
|
||||
import com.simplemobiletools.smsmessenger.adapters.ContactsAdapter
|
||||
import com.simplemobiletools.smsmessenger.extensions.*
|
||||
import com.simplemobiletools.smsmessenger.extensions.config
|
||||
import com.simplemobiletools.smsmessenger.extensions.getSuggestedContacts
|
||||
import com.simplemobiletools.smsmessenger.extensions.getThreadId
|
||||
import com.simplemobiletools.smsmessenger.extensions.loadImage
|
||||
import com.simplemobiletools.smsmessenger.helpers.*
|
||||
import com.simplemobiletools.smsmessenger.models.Contact
|
||||
import kotlinx.android.synthetic.main.activity_conversation.*
|
||||
import kotlinx.android.synthetic.main.item_suggested_contact.view.*
|
||||
import java.net.URLDecoder
|
||||
|
|
@ -21,7 +25,7 @@ import java.util.*
|
|||
import kotlin.collections.ArrayList
|
||||
|
||||
class NewConversationActivity : SimpleActivity() {
|
||||
private var allContacts = ArrayList<Contact>()
|
||||
private var allContacts = ArrayList<SimpleContact>()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
|
@ -57,7 +61,7 @@ class NewConversationActivity : SimpleActivity() {
|
|||
fetchContacts()
|
||||
new_conversation_address.onTextChangeListener {
|
||||
val searchString = it
|
||||
val filteredContacts = ArrayList<Contact>()
|
||||
val filteredContacts = ArrayList<SimpleContact>()
|
||||
allContacts.forEach {
|
||||
if (it.phoneNumber.contains(searchString, true) || it.name.contains(searchString, true)) {
|
||||
filteredContacts.add(it)
|
||||
|
|
@ -100,7 +104,7 @@ class NewConversationActivity : SimpleActivity() {
|
|||
|
||||
private fun fetchContacts() {
|
||||
fillSuggestedContacts {
|
||||
getAvailableContacts {
|
||||
ContactsHelper(this).getAvailableContacts {
|
||||
allContacts = it
|
||||
|
||||
runOnUiThread {
|
||||
|
|
@ -110,7 +114,7 @@ class NewConversationActivity : SimpleActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun setupAdapter(contacts: ArrayList<Contact>) {
|
||||
private fun setupAdapter(contacts: ArrayList<SimpleContact>) {
|
||||
val hasContacts = contacts.isNotEmpty()
|
||||
contacts_list.beVisibleIf(hasContacts)
|
||||
no_contacts_placeholder.beVisibleIf(!hasContacts)
|
||||
|
|
@ -123,7 +127,7 @@ class NewConversationActivity : SimpleActivity() {
|
|||
|
||||
ContactsAdapter(this, contacts, contacts_list, null) {
|
||||
hideKeyboard()
|
||||
launchThreadActivity((it as Contact).phoneNumber, it.name)
|
||||
launchThreadActivity((it as SimpleContact).phoneNumber, it.name)
|
||||
}.apply {
|
||||
contacts_list.adapter = this
|
||||
}
|
||||
|
|
@ -159,7 +163,7 @@ class NewConversationActivity : SimpleActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun setupLetterFastscroller(contacts: ArrayList<Contact>) {
|
||||
private fun setupLetterFastscroller(contacts: ArrayList<SimpleContact>) {
|
||||
contacts_letter_fastscroller.setupWithRecyclerView(contacts_list, { position ->
|
||||
try {
|
||||
val name = contacts[position].name
|
||||
|
|
|
|||
|
|
@ -30,9 +30,11 @@ import com.klinker.android.send_message.Settings
|
|||
import com.klinker.android.send_message.Transaction
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_PHONE_STATE
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.helpers.isNougatPlus
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.smsmessenger.R
|
||||
import com.simplemobiletools.smsmessenger.adapters.AutoCompleteTextViewAdapter
|
||||
import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter
|
||||
|
|
@ -54,7 +56,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
private var currentSIMCardIndex = 0
|
||||
private var threadItems = ArrayList<ThreadItem>()
|
||||
private var bus: EventBus? = null
|
||||
private var participants = ArrayList<Contact>()
|
||||
private var participants = ArrayList<SimpleContact>()
|
||||
private var messages = ArrayList<Message>()
|
||||
private val availableSIMCards = ArrayList<SIMCard>()
|
||||
private var attachmentUris = LinkedHashSet<Uri>()
|
||||
|
|
@ -104,7 +106,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
return@ensureBackgroundThread
|
||||
}
|
||||
|
||||
val contact = Contact(0, name, "", number)
|
||||
val contact = SimpleContact(0, name, "", number)
|
||||
participants.add(contact)
|
||||
}
|
||||
|
||||
|
|
@ -200,7 +202,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
thread_messages_list.adapter = adapter
|
||||
}
|
||||
|
||||
getAvailableContacts {
|
||||
ContactsHelper(this).getAvailableContacts {
|
||||
runOnUiThread {
|
||||
val adapter = AutoCompleteTextViewAdapter(this, it)
|
||||
add_contact_or_number.setAdapter(adapter)
|
||||
|
|
@ -219,7 +221,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
|
||||
confirm_inserted_number.setOnClickListener {
|
||||
val number = add_contact_or_number.value
|
||||
val contact = Contact(number.hashCode(), number, "", number)
|
||||
val contact = SimpleContact(number.hashCode(), number, "", number)
|
||||
addSelectedContact(contact)
|
||||
}
|
||||
}
|
||||
|
|
@ -358,7 +360,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
showSelectedContact(views)
|
||||
}
|
||||
|
||||
private fun addSelectedContact(contact: Contact) {
|
||||
private fun addSelectedContact(contact: SimpleContact) {
|
||||
add_contact_or_number.setText("")
|
||||
if (participants.map { it.id }.contains(contact.id)) {
|
||||
return
|
||||
|
|
@ -555,7 +557,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
}
|
||||
|
||||
private fun removeSelectedContact(id: Int) {
|
||||
participants = participants.filter { it.id != id }.toMutableList() as ArrayList<Contact>
|
||||
participants = participants.filter { it.id != id }.toMutableList() as ArrayList<SimpleContact>
|
||||
showSelectedContacts()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue