mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-06-05 21:59:27 +02:00
perform the selected action if a known contact gets clicked at Recents
This commit is contained in:
@ -3,12 +3,17 @@ package com.simplemobiletools.contacts.activities
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||||
|
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
|
||||||
|
import com.simplemobiletools.commons.extensions.underlineText
|
||||||
|
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||||
import com.simplemobiletools.contacts.R
|
import com.simplemobiletools.contacts.R
|
||||||
import com.simplemobiletools.contacts.adapters.ContactsAdapter
|
import com.simplemobiletools.contacts.adapters.ContactsAdapter
|
||||||
import com.simplemobiletools.contacts.dialogs.SelectContactsDialog
|
import com.simplemobiletools.contacts.dialogs.SelectContactsDialog
|
||||||
import com.simplemobiletools.contacts.extensions.*
|
import com.simplemobiletools.contacts.extensions.*
|
||||||
import com.simplemobiletools.contacts.helpers.*
|
import com.simplemobiletools.contacts.helpers.ContactsHelper
|
||||||
|
import com.simplemobiletools.contacts.helpers.GROUP
|
||||||
|
import com.simplemobiletools.contacts.helpers.LOCATION_GROUP_CONTACTS
|
||||||
import com.simplemobiletools.contacts.interfaces.RefreshContactsListener
|
import com.simplemobiletools.contacts.interfaces.RefreshContactsListener
|
||||||
import com.simplemobiletools.contacts.interfaces.RemoveFromGroupListener
|
import com.simplemobiletools.contacts.interfaces.RemoveFromGroupListener
|
||||||
import com.simplemobiletools.contacts.models.Contact
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
@ -102,18 +107,7 @@ class GroupContactsActivity : SimpleActivity(), RemoveFromGroupListener, Refresh
|
|||||||
val currAdapter = group_contacts_list.adapter
|
val currAdapter = group_contacts_list.adapter
|
||||||
if (currAdapter == null) {
|
if (currAdapter == null) {
|
||||||
ContactsAdapter(this, contacts, this, LOCATION_GROUP_CONTACTS, this, group_contacts_list, group_contacts_fastscroller) {
|
ContactsAdapter(this, contacts, this, LOCATION_GROUP_CONTACTS, this, group_contacts_list, group_contacts_fastscroller) {
|
||||||
when (config.onContactClick) {
|
contactClicked(it as Contact)
|
||||||
ON_CLICK_CALL_CONTACT -> {
|
|
||||||
val contact = it as Contact
|
|
||||||
if (contact.phoneNumbers.isNotEmpty()) {
|
|
||||||
tryStartCall(it)
|
|
||||||
} else {
|
|
||||||
toast(R.string.no_phone_number_found)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ON_CLICK_VIEW_CONTACT -> viewContact(it as Contact)
|
|
||||||
ON_CLICK_EDIT_CONTACT -> editContact(it as Contact)
|
|
||||||
}
|
|
||||||
}.apply {
|
}.apply {
|
||||||
addVerticalDividers(true)
|
addVerticalDividers(true)
|
||||||
group_contacts_list.adapter = this
|
group_contacts_list.adapter = this
|
||||||
|
@ -15,9 +15,7 @@ import com.simplemobiletools.contacts.BuildConfig
|
|||||||
import com.simplemobiletools.contacts.R
|
import com.simplemobiletools.contacts.R
|
||||||
import com.simplemobiletools.contacts.activities.SimpleActivity
|
import com.simplemobiletools.contacts.activities.SimpleActivity
|
||||||
import com.simplemobiletools.contacts.dialogs.CallConfirmationDialog
|
import com.simplemobiletools.contacts.dialogs.CallConfirmationDialog
|
||||||
import com.simplemobiletools.contacts.helpers.ContactsHelper
|
import com.simplemobiletools.contacts.helpers.*
|
||||||
import com.simplemobiletools.contacts.helpers.SMT_PRIVATE
|
|
||||||
import com.simplemobiletools.contacts.helpers.VcfExporter
|
|
||||||
import com.simplemobiletools.contacts.models.Contact
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
import com.simplemobiletools.contacts.models.ContactSource
|
import com.simplemobiletools.contacts.models.ContactSource
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@ -202,3 +200,17 @@ fun Activity.getVisibleContactSources(): ArrayList<String> {
|
|||||||
sourceNames.removeAll(config.ignoredContactSources)
|
sourceNames.removeAll(config.ignoredContactSources)
|
||||||
return sourceNames
|
return sourceNames
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun SimpleActivity.contactClicked(contact: Contact) {
|
||||||
|
when (config.onContactClick) {
|
||||||
|
ON_CLICK_CALL_CONTACT -> {
|
||||||
|
if (contact.phoneNumbers.isNotEmpty()) {
|
||||||
|
tryStartCall(contact)
|
||||||
|
} else {
|
||||||
|
toast(R.string.no_phone_number_found)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ON_CLICK_VIEW_CONTACT -> viewContact(contact)
|
||||||
|
ON_CLICK_EDIT_CONTACT -> editContact(contact)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -15,7 +15,9 @@ import com.simplemobiletools.contacts.activities.MainActivity
|
|||||||
import com.simplemobiletools.contacts.activities.SimpleActivity
|
import com.simplemobiletools.contacts.activities.SimpleActivity
|
||||||
import com.simplemobiletools.contacts.adapters.ContactsAdapter
|
import com.simplemobiletools.contacts.adapters.ContactsAdapter
|
||||||
import com.simplemobiletools.contacts.adapters.GroupsAdapter
|
import com.simplemobiletools.contacts.adapters.GroupsAdapter
|
||||||
import com.simplemobiletools.contacts.extensions.*
|
import com.simplemobiletools.contacts.extensions.config
|
||||||
|
import com.simplemobiletools.contacts.extensions.contactClicked
|
||||||
|
import com.simplemobiletools.contacts.extensions.getVisibleContactSources
|
||||||
import com.simplemobiletools.contacts.helpers.*
|
import com.simplemobiletools.contacts.helpers.*
|
||||||
import com.simplemobiletools.contacts.models.Contact
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
import com.simplemobiletools.contacts.models.Group
|
import com.simplemobiletools.contacts.models.Group
|
||||||
@ -185,18 +187,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
|
|||||||
forceListRedraw = false
|
forceListRedraw = false
|
||||||
val location = if (this is FavoritesFragment) LOCATION_FAVORITES_TAB else LOCATION_CONTACTS_TAB
|
val location = if (this is FavoritesFragment) LOCATION_FAVORITES_TAB else LOCATION_CONTACTS_TAB
|
||||||
ContactsAdapter(activity as SimpleActivity, contacts, activity, location, null, fragment_list, fragment_fastscroller) {
|
ContactsAdapter(activity as SimpleActivity, contacts, activity, location, null, fragment_list, fragment_fastscroller) {
|
||||||
when (config.onContactClick) {
|
activity?.contactClicked(it as Contact)
|
||||||
ON_CLICK_CALL_CONTACT -> {
|
|
||||||
val contact = it as Contact
|
|
||||||
if (contact.phoneNumbers.isNotEmpty()) {
|
|
||||||
(activity as SimpleActivity).tryStartCall(it)
|
|
||||||
} else {
|
|
||||||
activity!!.toast(R.string.no_phone_number_found)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ON_CLICK_VIEW_CONTACT -> context!!.viewContact(it as Contact)
|
|
||||||
ON_CLICK_EDIT_CONTACT -> context!!.editContact(it as Contact)
|
|
||||||
}
|
|
||||||
}.apply {
|
}.apply {
|
||||||
addVerticalDividers(true)
|
addVerticalDividers(true)
|
||||||
fragment_list.adapter = this
|
fragment_list.adapter = this
|
||||||
|
@ -5,6 +5,7 @@ import android.util.AttributeSet
|
|||||||
import com.simplemobiletools.commons.extensions.beVisibleIf
|
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||||
import com.simplemobiletools.commons.extensions.isActivityDestroyed
|
import com.simplemobiletools.commons.extensions.isActivityDestroyed
|
||||||
import com.simplemobiletools.contacts.adapters.RecentCallsAdapter
|
import com.simplemobiletools.contacts.adapters.RecentCallsAdapter
|
||||||
|
import com.simplemobiletools.contacts.extensions.contactClicked
|
||||||
import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
|
import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
|
||||||
import com.simplemobiletools.contacts.models.Contact
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
import com.simplemobiletools.contacts.models.RecentCall
|
import com.simplemobiletools.contacts.models.RecentCall
|
||||||
@ -34,6 +35,10 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (selectedContact != null) {
|
||||||
|
activity?.contactClicked(selectedContact)
|
||||||
|
}
|
||||||
}.apply {
|
}.apply {
|
||||||
addVerticalDividers(true)
|
addVerticalDividers(true)
|
||||||
fragment_list.adapter = this
|
fragment_list.adapter = this
|
||||||
|
Reference in New Issue
Block a user