add a View Contact Details button at the top menu

This commit is contained in:
tibbi 2020-12-31 16:01:59 +01:00
parent 4af96408a8
commit b63f1e6495
3 changed files with 18 additions and 1 deletions

View File

@ -56,6 +56,6 @@ android {
}
dependencies {
implementation 'com.simplemobiletools:commons:5.32.17'
implementation 'com.simplemobiletools:commons:5.32.18'
implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a'
}

View File

@ -5,6 +5,7 @@ import android.content.Intent
import android.content.pm.ShortcutInfo
import android.graphics.drawable.Icon
import android.net.Uri
import android.provider.ContactsContract
import android.text.TextUtils
import android.util.TypedValue
import android.view.Menu
@ -44,6 +45,7 @@ class ContactsAdapter(activity: SimpleActivity, var contacts: ArrayList<SimpleCo
menu.apply {
findItem(R.id.cab_delete).isVisible = showDeleteButton
findItem(R.id.cab_create_shortcut).isVisible = isOneItemSelected() && isOreoPlus()
findItem(R.id.cab_view_details).isVisible = isOneItemSelected()
}
}
@ -55,6 +57,7 @@ class ContactsAdapter(activity: SimpleActivity, var contacts: ArrayList<SimpleCo
when (id) {
R.id.cab_delete -> askConfirmDelete()
R.id.cab_send_sms -> sendSMS()
R.id.cab_view_details -> viewContactDetails()
R.id.cab_create_shortcut -> createShortcut()
}
}
@ -101,6 +104,15 @@ class ContactsAdapter(activity: SimpleActivity, var contacts: ArrayList<SimpleCo
activity.launchSendSMSIntent(recipient)
}
private fun viewContactDetails() {
val contact = getSelectedItems().firstOrNull() ?: return
val lookupKey = SimpleContactsHelper(activity).getContactLookupKey((contact).rawId.toString())
val publicUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey)
activity.runOnUiThread {
activity.launchViewContactIntent(publicUri)
}
}
private fun askConfirmDelete() {
val itemsCnt = selectedKeys.size
val firstItem = getSelectedItems().firstOrNull() ?: return

View File

@ -6,6 +6,11 @@
android:icon="@drawable/ic_delete_vector"
android:title="@string/delete"
app:showAsAction="ifRoom" />
<item
android:id="@+id/cab_view_details"
android:icon="@drawable/ic_view_contact_details"
android:title="@string/view_contact_details"
app:showAsAction="ifRoom" />
<item
android:id="@+id/cab_send_sms"
android:icon="@drawable/ic_sms_vector"