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

Unverified Commit 763da222 authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Contact photos: always output JPEG (vcard4android); sync: query...

Contact photos: always output JPEG (vcard4android); sync: query max-resource-size (at the moment only for debugging)
parent 850b1f54
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import org.apache.commons.io.FileUtils
import java.io.ByteArrayOutputStream
import java.io.Reader
import java.io.StringReader
@@ -66,8 +67,12 @@ class CalendarSyncManager(
    override fun queryCapabilities(): SyncState? =
            remoteExceptionContext {
                var syncState: SyncState? = null
                it.propfind(0, SupportedReportSet.NAME, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                it.propfind(0, MaxICalendarSize.NAME, SupportedReportSet.NAME, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                    if (relation == Response.HrefRelation.SELF) {
                        response[MaxICalendarSize::class.java]?.maxSize?.let { maxSize ->
                            Logger.log.info("Server accepts events up to ${FileUtils.byteCountToDisplaySize(maxSize)}")
                        }

                        response[SupportedReportSet::class.java]?.let { supported ->
                            hasCollectionSync = supported.reports.contains(SupportedReportSet.SYNC_COLLECTION)
                        }
+14 −3
Original line number Diff line number Diff line
@@ -5,7 +5,10 @@
package at.bitfire.davdroid.syncadapter

import android.accounts.Account
import android.content.*
import android.content.ContentProviderClient
import android.content.ContentResolver
import android.content.Context
import android.content.SyncResult
import android.os.Build
import android.os.Bundle
import at.bitfire.dav4jvm.DavAddressBook
@@ -33,7 +36,11 @@ import okhttp3.MediaType
import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import java.io.*
import org.apache.commons.io.FileUtils
import java.io.ByteArrayOutputStream
import java.io.IOException
import java.io.Reader
import java.io.StringReader
import java.util.logging.Level

/**
@@ -124,8 +131,12 @@ class ContactsSyncManager(
    override fun queryCapabilities(): SyncState? {
        return remoteExceptionContext {
            var syncState: SyncState? = null
            it.propfind(0, SupportedAddressData.NAME, SupportedReportSet.NAME, GetCTag.NAME, SyncToken.NAME) { response, relation ->
            it.propfind(0, MaxVCardSize.NAME, SupportedAddressData.NAME, SupportedReportSet.NAME, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                if (relation == Response.HrefRelation.SELF) {
                    response[MaxVCardSize::class.java]?.maxSize?.let { maxSize ->
                        Logger.log.info("Server accepts vCards up to ${FileUtils.byteCountToDisplaySize(maxSize)}")
                    }

                    response[SupportedAddressData::class.java]?.let { supported ->
                        hasVCard4 = supported.hasVCard4()

+8 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import org.apache.commons.io.FileUtils
import java.io.ByteArrayOutputStream
import java.io.Reader
import java.io.StringReader
@@ -52,10 +53,15 @@ class JtxSyncManager(
    override fun queryCapabilities() =
        remoteExceptionContext {
            var syncState: SyncState? = null
            it.propfind(0, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                if (relation == Response.HrefRelation.SELF)
            it.propfind(0, MaxICalendarSize.NAME, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                if (relation == Response.HrefRelation.SELF) {
                    response[MaxICalendarSize::class.java]?.maxSize?.let { maxSize ->
                        Logger.log.info("Server accepts resources up to ${FileUtils.byteCountToDisplaySize(maxSize)}")
                    }

                    syncState = syncState(response)
                }
            }
            syncState
        }

+9 −6
Original line number Diff line number Diff line
@@ -12,10 +12,7 @@ import at.bitfire.dav4jvm.DavCalendar
import at.bitfire.dav4jvm.DavResponseCallback
import at.bitfire.dav4jvm.Response
import at.bitfire.dav4jvm.exception.DavException
import at.bitfire.dav4jvm.property.CalendarData
import at.bitfire.dav4jvm.property.GetCTag
import at.bitfire.dav4jvm.property.GetETag
import at.bitfire.dav4jvm.property.SyncToken
import at.bitfire.dav4jvm.property.*
import at.bitfire.davdroid.DavUtils
import at.bitfire.davdroid.R
import at.bitfire.davdroid.log.Logger
@@ -30,6 +27,7 @@ import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import org.apache.commons.io.FileUtils
import java.io.ByteArrayOutputStream
import java.io.Reader
import java.io.StringReader
@@ -58,10 +56,15 @@ class TasksSyncManager(
    override fun queryCapabilities() =
            remoteExceptionContext {
                var syncState: SyncState? = null
                it.propfind(0, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                    if (relation == Response.HrefRelation.SELF)
                it.propfind(0, MaxICalendarSize.NAME, GetCTag.NAME, SyncToken.NAME) { response, relation ->
                    if (relation == Response.HrefRelation.SELF) {
                        response[MaxICalendarSize::class.java]?.maxSize?.let { maxSize ->
                            Logger.log.info("Server accepts tasks up to ${FileUtils.byteCountToDisplaySize(maxSize)}")
                        }

                        syncState = syncState(response)
                    }
                }

                syncState
            }
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ buildscript {
    ext.versions = [
        aboutLibraries: '8.9.4',
        appIntro: '6.1.0',
        dav4jvm: '5e502b4204f7d387fd6bec9e174a5e729c75d5f4',
        dav4jvm: 'd7af678ecf08e77b83e0a7b68705885e5414f280',
        kotlin: '1.6.10',
        okhttp: '4.9.3',
        // latest Apache Commons versions that don't require Java 8 (Android 7)
Loading