add some support for SimpleContact contains multiple phone numbers

This commit is contained in:
tibbi 2020-07-12 16:01:10 +02:00
parent f3973a20d7
commit 842908a21e
3 changed files with 7 additions and 4 deletions

View File

@ -57,7 +57,7 @@ android {
} }
dependencies { dependencies {
implementation 'com.simplemobiletools:commons:5.29.15' implementation 'com.simplemobiletools:commons:5.29.16'
implementation 'joda-time:joda-time:2.10.1' implementation 'joda-time:joda-time:2.10.1'
implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.5' implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.5'
implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a' implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a'

View File

@ -5,6 +5,7 @@ import android.content.ContentValues
import android.database.Cursor import android.database.Cursor
import android.database.MatrixCursor import android.database.MatrixCursor
import android.net.Uri import android.net.Uri
import com.google.gson.Gson
import com.simplemobiletools.commons.helpers.MyContactsContentProvider import com.simplemobiletools.commons.helpers.MyContactsContentProvider
import com.simplemobiletools.contacts.pro.extensions.config import com.simplemobiletools.contacts.pro.extensions.config
import com.simplemobiletools.contacts.pro.helpers.LocalContactsHelper import com.simplemobiletools.contacts.pro.helpers.LocalContactsHelper
@ -21,16 +22,17 @@ class MyContactsContentProvider : ContentProvider() {
MyContactsContentProvider.COL_CONTACT_ID, MyContactsContentProvider.COL_CONTACT_ID,
MyContactsContentProvider.COL_NAME, MyContactsContentProvider.COL_NAME,
MyContactsContentProvider.COL_PHOTO_URI, MyContactsContentProvider.COL_PHOTO_URI,
MyContactsContentProvider.COL_PHONE_NUMBER) MyContactsContentProvider.COL_PHONE_NUMBERS)
) )
LocalContactsHelper(context!!).getPrivateSimpleContactsSync(selection == MyContactsContentProvider.FAVORITES_ONLY).forEach { LocalContactsHelper(context!!).getPrivateSimpleContactsSync(selection == MyContactsContentProvider.FAVORITES_ONLY).forEach {
val phoneNumbers = Gson().toJson(it.phoneNumbers)
matrixCursor.newRow() matrixCursor.newRow()
.add(MyContactsContentProvider.COL_RAW_ID, it.rawId) .add(MyContactsContentProvider.COL_RAW_ID, it.rawId)
.add(MyContactsContentProvider.COL_CONTACT_ID, it.contactId) .add(MyContactsContentProvider.COL_CONTACT_ID, it.contactId)
.add(MyContactsContentProvider.COL_NAME, it.name) .add(MyContactsContentProvider.COL_NAME, it.name)
.add(MyContactsContentProvider.COL_PHOTO_URI, it.photoUri) .add(MyContactsContentProvider.COL_PHOTO_URI, it.photoUri)
.add(MyContactsContentProvider.COL_PHONE_NUMBER, it.phoneNumber) .add(MyContactsContentProvider.COL_PHONE_NUMBERS, phoneNumbers)
} }
return matrixCursor return matrixCursor

View File

@ -157,7 +157,8 @@ class LocalContactsHelper(val context: Context) {
return if (contact == null || contact.phoneNumbers.isEmpty()) { return if (contact == null || contact.phoneNumbers.isEmpty()) {
null null
} else { } else {
SimpleContact(contact.id, contact.id, contact.getNameToDisplay(), contact.photoUri, contact.phoneNumbers.first().value) val phoneNumbers = contact.phoneNumbers.map { it.value }.toMutableList() as ArrayList<String>
SimpleContact(contact.id, contact.id, contact.getNameToDisplay(), contact.photoUri, phoneNumbers)
} }
} }