feat: hide private contacts from recent

This commit is contained in:
ismailnurudeen
2023-03-29 10:16:32 +01:00
parent 45c7c37a25
commit 26c8b097c9
4 changed files with 20 additions and 5 deletions

View File

@@ -531,7 +531,7 @@ class MainActivity : SimpleActivity() {
} }
} }
} }
fun showFilterDialog() { private fun showFilterDialog() {
FilterContactSourcesDialog(this) { FilterContactSourcesDialog(this) {
favorites_fragment?.refreshItems { favorites_fragment?.refreshItems {
if (main_menu.isSearchOpen) { if (main_menu.isSearchOpen) {
@@ -544,6 +544,12 @@ class MainActivity : SimpleActivity() {
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery()) getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
} }
} }
recents_fragment.refreshItems{
if (main_menu.isSearchOpen) {
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
}
}
} }
} }
fun cacheContacts(contacts: List<Contact>) { fun cacheContacts(contacts: List<Contact>) {

View File

@@ -65,7 +65,7 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
ContactsHelper(context).getContacts { contacts -> ContactsHelper(context).getContacts { contacts ->
allContacts = contacts allContacts = contacts
if(SMT_PRIVATE !in context.baseConfig.ignoredContactSources) { if (SMT_PRIVATE !in context.baseConfig.ignoredContactSources) {
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor) val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor)
if (privateContacts.isNotEmpty()) { if (privateContacts.isNotEmpty()) {
allContacts.addAll(privateContacts) allContacts.addAll(privateContacts)

View File

@@ -53,7 +53,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
ContactsHelper(context).getContacts { contacts -> ContactsHelper(context).getContacts { contacts ->
allContacts = contacts allContacts = contacts
if(SMT_PRIVATE !in context.baseConfig.ignoredContactSources) { if (SMT_PRIVATE !in context.baseConfig.ignoredContactSources) {
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor) val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor)
if (privateContacts.isNotEmpty()) { if (privateContacts.isNotEmpty()) {
allContacts.addAll(privateContacts) allContacts.addAll(privateContacts)

View File

@@ -7,6 +7,7 @@ import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ContactsHelper import com.simplemobiletools.commons.helpers.ContactsHelper
import com.simplemobiletools.commons.helpers.MyContactsContentProvider import com.simplemobiletools.commons.helpers.MyContactsContentProvider
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALL_LOG import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALL_LOG
import com.simplemobiletools.commons.helpers.SMT_PRIVATE
import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.R
import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.activities.SimpleActivity
import com.simplemobiletools.dialer.adapters.RecentCallsAdapter import com.simplemobiletools.dialer.adapters.RecentCallsAdapter
@@ -69,10 +70,18 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
} }
} }
} }
allRecentCalls = recents allRecentCalls = recents
// hide private contacts from recent calls
if (SMT_PRIVATE in context.baseConfig.ignoredContactSources) {
allRecentCalls = recents.filterNot { recent ->
val privateNumbers = privateContacts.flatMap { it.phoneNumbers }.map { it.value }
recent.phoneNumber in privateNumbers
} as ArrayList
}
activity?.runOnUiThread { activity?.runOnUiThread {
gotRecents(recents) gotRecents(allRecentCalls)
} }
} }
} }