diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt index 9e5bc8d9..610f84b3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt @@ -9,8 +9,12 @@ import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS import com.simplemobiletools.contacts.R +import com.simplemobiletools.contacts.adapters.ContactsAdapter import com.simplemobiletools.contacts.extensions.config +import com.simplemobiletools.contacts.helpers.ContactsHelper import com.simplemobiletools.contacts.helpers.KEY_PHONE +import com.simplemobiletools.contacts.helpers.LOCATION_INSERT_OR_EDIT +import com.simplemobiletools.contacts.models.Contact import kotlinx.android.synthetic.main.activity_insert_edit_contact.* class InsertOrEditContactActivity : SimpleActivity() { @@ -22,6 +26,9 @@ class InsertOrEditContactActivity : SimpleActivity() { handlePermission(PERMISSION_READ_CONTACTS) { // we do not really care about the permission request result. Even if it was denied, load private contacts + ContactsHelper(this).getContacts { + gotContacts(it) + } } } @@ -43,4 +50,23 @@ class InsertOrEditContactActivity : SimpleActivity() { existing_contact_label.setTextColor(getAdjustedPrimaryColor()) } + + private fun gotContacts(contacts: ArrayList) { + Contact.sorting = config.sorting + Contact.startWithSurname = config.startNameWithSurname + contacts.sort() + + ContactsAdapter(this, contacts, null, LOCATION_INSERT_OR_EDIT, null, existing_contact_list, existing_contact_fastscroller) { + + }.apply { + addVerticalDividers(true) + existing_contact_list.adapter = this + } + + existing_contact_fastscroller.setScrollToY(0) + existing_contact_fastscroller.setViews(existing_contact_list) { + val item = (existing_contact_list.adapter as ContactsAdapter).contactItems.getOrNull(it) + existing_contact_fastscroller.updateBubbleText(item?.getBubbleText() ?: "") + } + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt index 867a8771..4372437e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt @@ -107,7 +107,8 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList + val allowLongClick = location != LOCATION_INSERT_OR_EDIT + val view = holder.bindView(contact, true, allowLongClick) { itemView, layoutPosition -> setupView(itemView, contact) } bindViewHolder(holder, position, view) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt index d3b7fb06..58f5d9fa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt @@ -34,6 +34,7 @@ const val LOCATION_RECENTS_TAB = 2 const val LOCATION_GROUPS_TAB = 3 const val LOCATION_GROUP_CONTACTS = 4 const val LOCATION_DIALPAD = 5 +const val LOCATION_INSERT_OR_EDIT = 6 const val CONTACTS_TAB_MASK = 1 const val FAVORITES_TAB_MASK = 2 diff --git a/app/src/main/res/layout/activity_insert_edit_contact.xml b/app/src/main/res/layout/activity_insert_edit_contact.xml index ad3769dd..50edfe57 100644 --- a/app/src/main/res/layout/activity_insert_edit_contact.xml +++ b/app/src/main/res/layout/activity_insert_edit_contact.xml @@ -1,6 +1,7 @@ @@ -41,8 +42,31 @@ android:layout_below="@+id/new_contact_holder" android:layout_marginStart="@dimen/bigger_margin" android:layout_marginLeft="@dimen/bigger_margin" + android:layout_marginBottom="@dimen/activity_margin" android:text="@string/add_to_existing_contact" android:textAllCaps="true" android:textSize="@dimen/smaller_text_size"/> + + + + + + +