@@ -4,6 +4,8 @@ import android.content.Intent
44import android.net.Uri
55import android.os.Bundle
66import android.provider.ContactsContract
7+ import android.view.Menu
8+ import android.view.MenuItem
79import com.simplemobiletools.commons.extensions.appLaunched
810import com.simplemobiletools.commons.extensions.baseConfig
911import com.simplemobiletools.commons.extensions.isActivityDestroyed
@@ -12,6 +14,8 @@ import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
1214import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS
1315import com.simplemobiletools.contacts.R
1416import com.simplemobiletools.contacts.adapters.SelectContactsAdapter
17+ import com.simplemobiletools.contacts.dialogs.ChangeSortingDialog
18+ import com.simplemobiletools.contacts.dialogs.FilterContactSourcesDialog
1519import com.simplemobiletools.contacts.extensions.config
1620import com.simplemobiletools.contacts.helpers.ContactsHelper
1721import com.simplemobiletools.contacts.helpers.SMT_PRIVATE
@@ -30,6 +34,7 @@ class SelectContactActivity : SimpleActivity() {
3034 if (it) {
3135 handlePermission(PERMISSION_WRITE_CONTACTS ) {
3236 if (it) {
37+ isGetEmailIntent = intent.data == ContactsContract .CommonDataKinds .Email .CONTENT_URI
3338 initContacts()
3439 } else {
3540 toast(R .string.no_contacts_permission)
@@ -43,8 +48,33 @@ class SelectContactActivity : SimpleActivity() {
4348 }
4449 }
4550
51+ override fun onCreateOptionsMenu (menu : Menu ): Boolean {
52+ menuInflater.inflate(R .menu.menu_select_activity, menu)
53+ return true
54+ }
55+
56+ override fun onOptionsItemSelected (item : MenuItem ): Boolean {
57+ when (item.itemId) {
58+ R .id.sort -> showSortingDialog()
59+ R .id.filter -> showFilterDialog()
60+ else -> return super .onOptionsItemSelected(item)
61+ }
62+ return true
63+ }
64+
65+ private fun showSortingDialog () {
66+ ChangeSortingDialog (this ) {
67+ initContacts()
68+ }
69+ }
70+
71+ private fun showFilterDialog () {
72+ FilterContactSourcesDialog (this ) {
73+ initContacts()
74+ }
75+ }
76+
4677 private fun initContacts () {
47- isGetEmailIntent = intent.data == ContactsContract .CommonDataKinds .Email .CONTENT_URI
4878 ContactsHelper (this ).getContacts(true ) {
4979 if (isActivityDestroyed()) {
5080 return @getContacts
@@ -70,6 +100,7 @@ class SelectContactActivity : SimpleActivity() {
70100 select_contact_list.adapter = SelectContactsAdapter (this , contacts, ArrayList (), false ) {
71101 confirmSelection(it)
72102 }
103+
73104 select_contact_fastscroller.allowBubbleDisplay = baseConfig.showInfoBubble
74105 select_contact_fastscroller.setViews(select_contact_list) {
75106 select_contact_fastscroller.updateBubbleText(contacts[it].getBubbleText())
0 commit comments