Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30e8d5e7 authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

Issue 2427: sync starred contacts

parent e8cc789e
Loading
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -6,11 +6,10 @@ plugins {
}

val versionMajor = 1
val versionMinor = 0
val versionPatch = 0
val releasePatch = "stable"
val versionMinor = 1
val versionPatch = 1

val versionName = "${versionMajor}.${versionMinor}.${versionPatch}-${releasePatch}"
val versionName = "${versionMajor}.${versionMinor}.${versionPatch}"
val baseName = "vard4android-$versionName"

android {
+9 −0
Original line number Diff line number Diff line
@@ -96,6 +96,12 @@ open class AndroidContact(
                for (subValue in e.subValues)
                    processor.handleDataRow(subValue.values, contact)

                contact.contactId =
                    processor.getRawContactInfo(e.entityValues, RawContacts.CONTACT_ID) ?: ""

                contact.starred =
                    processor.getRawContactInfo(e.entityValues, RawContacts.STARRED) == "1"

                return contact

            } else
@@ -181,11 +187,14 @@ open class AndroidContact(
            builder	.withValue(RawContacts.ACCOUNT_NAME, addressBook.account.name)
                    .withValue(RawContacts.ACCOUNT_TYPE, addressBook.account.type)

        val isFavourite = if (getContact().categories.contains("starred")) 1 else 0

        builder .withValue(RawContacts.DIRTY, 0)
                .withValue(RawContacts.DELETED, 0)
                .withValue(COLUMN_FILENAME, fileName)
                .withValue(COLUMN_ETAG, eTag)
                .withValue(COLUMN_UID, getContact().uid)
                .withValue(RawContacts.STARRED, isFavourite)

        if (addressBook.readOnly)
            builder.withValue(RawContacts.RAW_CONTACT_IS_READ_ONLY, 1)
+2 −0
Original line number Diff line number Diff line
@@ -74,6 +74,8 @@ class Contact {
    /** unknown properties in text vCard format */
    var unknownProperties: String? = null

    var contactId = ""
    var starred = false

    companion object {
        // productID (if set) will be used to generate a PRODID property.
+5 −0
Original line number Diff line number Diff line
@@ -73,6 +73,11 @@ class ContactProcessor(
        dataRowBuilderFactories += factory
    }

    fun getRawContactInfo(values: ContentValues, column: String): String? {
        return if (values.containsKey(column)) {
            values.getAsString(column)
        } else null
    }

    fun handleRawContact(values: ContentValues, contact: Contact) {
        contact.uid = values.getAsString(AndroidContact.COLUMN_UID)