mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
show privately stored contacts at the dialpad screen too
This commit is contained in:
@ -2,6 +2,7 @@ package com.simplemobiletools.dialer.activities
|
|||||||
|
|
||||||
import android.annotation.TargetApi
|
import android.annotation.TargetApi
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.database.Cursor
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
@ -14,10 +15,7 @@ import android.view.MenuItem
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.KEY_PHONE
|
import com.simplemobiletools.commons.helpers.*
|
||||||
import com.simplemobiletools.commons.helpers.REQUEST_CODE_SET_DEFAULT_DIALER
|
|
||||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
|
||||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
|
||||||
import com.simplemobiletools.commons.models.SimpleContact
|
import com.simplemobiletools.commons.models.SimpleContact
|
||||||
import com.simplemobiletools.dialer.R
|
import com.simplemobiletools.dialer.R
|
||||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||||
@ -33,8 +31,9 @@ import java.util.*
|
|||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
|
|
||||||
class DialpadActivity : SimpleActivity() {
|
class DialpadActivity : SimpleActivity() {
|
||||||
private var contacts = ArrayList<SimpleContact>()
|
private var allContacts = ArrayList<SimpleContact>()
|
||||||
private var speedDialValues = ArrayList<SpeedDial>()
|
private var speedDialValues = ArrayList<SpeedDial>()
|
||||||
|
private var privateCursor: Cursor? = null
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
@ -45,6 +44,7 @@ class DialpadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
speedDialValues = config.getSpeedDialValues()
|
speedDialValues = config.getSpeedDialValues()
|
||||||
|
privateCursor = getMyContactsContentProviderCursorLoader().loadInBackground()
|
||||||
|
|
||||||
dialpad_0_holder.setOnClickListener { dialpadPressed('0', it) }
|
dialpad_0_holder.setOnClickListener { dialpadPressed('0', it) }
|
||||||
dialpad_1.setOnClickListener { dialpadPressed('1', it) }
|
dialpad_1.setOnClickListener { dialpadPressed('1', it) }
|
||||||
@ -149,7 +149,14 @@ class DialpadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun gotContacts(newContacts: ArrayList<SimpleContact>) {
|
private fun gotContacts(newContacts: ArrayList<SimpleContact>) {
|
||||||
contacts = newContacts
|
allContacts = newContacts
|
||||||
|
|
||||||
|
val privateContacts = MyContactsContentProvider.getSimpleContacts(this, privateCursor)
|
||||||
|
if (privateContacts.isNotEmpty()) {
|
||||||
|
allContacts.addAll(privateContacts)
|
||||||
|
allContacts.sort()
|
||||||
|
}
|
||||||
|
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
if (!checkDialIntent() && dialpad_input.value.isEmpty()) {
|
if (!checkDialIntent() && dialpad_input.value.isEmpty()) {
|
||||||
dialpadValueChanged("")
|
dialpadValueChanged("")
|
||||||
@ -176,7 +183,7 @@ class DialpadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
(dialpad_list.adapter as? ContactsAdapter)?.finishActMode()
|
(dialpad_list.adapter as? ContactsAdapter)?.finishActMode()
|
||||||
val filtered = contacts.filter {
|
val filtered = allContacts.filter {
|
||||||
val convertedName = PhoneNumberUtils.convertKeypadLettersToDigits(it.name.normalizeString())
|
val convertedName = PhoneNumberUtils.convertKeypadLettersToDigits(it.name.normalizeString())
|
||||||
it.doesContainPhoneNumber(text) || (convertedName.contains(text, true))
|
it.doesContainPhoneNumber(text) || (convertedName.contains(text, true))
|
||||||
}.sortedWith(compareBy {
|
}.sortedWith(compareBy {
|
||||||
|
Reference in New Issue
Block a user