Comment # 3 on bug 59551 from
(In reply to comment #1)
> We need to implement the incremental *updating* of the phone book, too.
> Otherwise, if the complete download always takes longer than the car is in
> use, then future updates even to text-only contacts will never get mirrored
> in the car.

I implemented incremental photo download for *all* syncs (not just the first
one, as originally proposed).

Details are in these commit messages (actual commits not in master yet):

commit 7f47fa336570467a4dd60ada5da41ad302335c36
Author: Patrick Ohly <patrick.ohly@intel.com>
Date:   Fri Jul 5 10:39:21 2013 +0200

    PBAP: incremental sync (FDO #59551)

    Depending on the SYNCEVOLUTION_PBAP_SYNC env variable, syncing reads
    all properties as configured ("all"), excludes photos ("text") or
    first text, then all ("incremental").

    When excluding photos, only known properties get requested. This
    avoids issues with phones which reject the request when enabling
    properties via the bit flags. This also helps with
    "databaseFormat=^PHOTO".

    When excluding photos, the vcard merge script as used by EDS ensures
    that existing photo data is preserved. This only works during a slow
    sync (merge script not called otherwise, okay for PBAP because it
    always syncs in slow sync) and EDS (other backends do not use the
    merge script, okay at the moment because PIM Manager is hard-coded to
    use EDS).

    The PBAP backend must be aware of the PBAP sync mode and request a
    second cycle, which again must be a slow sync. This only works because
    the sync engine is aware of the special mode and sets a new session
    variable "keepPhotoData". It would be better to have the PBAP backend
    send CTCap with PHOTO marked as not supported for text-only syncs and
    enabled when sending PHOTO data, but that is considerably harder to
    implement (CTCap cannot be adjusted at runtime).

    The original goal of overlapping syncing with download has not been
    achieved yet. It turned out that all item IDs get requested before
    syncing starts, which thus depends on downloading all items in the current
    implementation. Can be fixed by making up IDs based on the number of
    existing items (see GetSize() in PBAP) and then downloading later when
    the data is needed.

commit e9cf7c22fc5c680ee5f1f1d9d0b970933c7098e3
Author: Patrick Ohly <patrick.ohly@intel.com>
Date:   Fri Jul 5 13:42:12 2013 +0200

    PIM: use incremental sync for PBAP by default (FDO #59551)

    When doing a PBAP sync, PIM manager asks the D-Bus sync helper to set
    its SYNCEVOLUTION_PBAP_SYNC to "incremental". If the env variable
    is already set, it does not get overwritten, which allows overriding
    this default.


You are receiving this mail because: