do not apply the contact source filtering to Favorites
This commit is contained in:
parent
488a5d9025
commit
a67cb33cdc
|
@ -168,6 +168,7 @@ class MainActivity : SimpleActivity() {
|
||||||
private fun showSortingDialog() {
|
private fun showSortingDialog() {
|
||||||
ChangeSortingDialog(this) {
|
ChangeSortingDialog(this) {
|
||||||
contacts_fragment.initContacts()
|
contacts_fragment.initContacts()
|
||||||
|
favorites_fragment.initContacts()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,9 +85,12 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
|
||||||
Contact.sorting = config.sorting
|
Contact.sorting = config.sorting
|
||||||
contacts.sort()
|
contacts.sort()
|
||||||
|
|
||||||
if (this is FavoritesFragment) {
|
contacts = if (this is FavoritesFragment) {
|
||||||
val favorites = config.favorites
|
val favorites = config.favorites
|
||||||
contacts = contacts.filter { favorites.contains(it.id.toString()) } as ArrayList<Contact>
|
contacts.filter { favorites.contains(it.id.toString()) } as ArrayList<Contact>
|
||||||
|
} else {
|
||||||
|
val contactSources = config.displayContactSources
|
||||||
|
contacts.filter { contactSources.contains(it.source) } as ArrayList<Contact>
|
||||||
}
|
}
|
||||||
|
|
||||||
if (contacts.hashCode() != (fragment_list.adapter as? ContactsAdapter)?.contactItems?.hashCode()) {
|
if (contacts.hashCode() != (fragment_list.adapter as? ContactsAdapter)?.contactItems?.hashCode()) {
|
||||||
|
|
|
@ -24,7 +24,6 @@ import com.simplemobiletools.contacts.models.Contact
|
||||||
import com.simplemobiletools.contacts.models.Email
|
import com.simplemobiletools.contacts.models.Email
|
||||||
import com.simplemobiletools.contacts.models.Event
|
import com.simplemobiletools.contacts.models.Event
|
||||||
import com.simplemobiletools.contacts.models.PhoneNumber
|
import com.simplemobiletools.contacts.models.PhoneNumber
|
||||||
import com.simplemobiletools.contacts.overloads.times
|
|
||||||
import java.io.ByteArrayOutputStream
|
import java.io.ByteArrayOutputStream
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
@ -32,16 +31,10 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
|
||||||
fun getContacts(callback: (ArrayList<Contact>) -> Unit) {
|
fun getContacts(callback: (ArrayList<Contact>) -> Unit) {
|
||||||
val contacts = SparseArray<Contact>()
|
val contacts = SparseArray<Contact>()
|
||||||
Thread {
|
Thread {
|
||||||
val sources = activity.config.displayContactSources
|
|
||||||
val questionMarks = ("?," * sources.size).trimEnd(',')
|
|
||||||
val uri = ContactsContract.Data.CONTENT_URI
|
val uri = ContactsContract.Data.CONTENT_URI
|
||||||
val projection = getContactProjection()
|
val projection = getContactProjection()
|
||||||
var selection = "${ContactsContract.Data.MIMETYPE} = ?"
|
val selection = "${ContactsContract.Data.MIMETYPE} = ?"
|
||||||
var selectionArgs = arrayOf(ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
|
val selectionArgs = arrayOf(ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
|
||||||
if (!activity.config.showAllContacts()) {
|
|
||||||
selection += " AND ${ContactsContract.RawContacts.ACCOUNT_NAME} IN ($questionMarks)"
|
|
||||||
selectionArgs += sources.toTypedArray()
|
|
||||||
}
|
|
||||||
val sortOrder = getSortString()
|
val sortOrder = getSortString()
|
||||||
|
|
||||||
var cursor: Cursor? = null
|
var cursor: Cursor? = null
|
||||||
|
|
Loading…
Reference in New Issue