https://bugs.freedesktop.org/show_bug.cgi?id=59551
--- Comment #3 from Patrick Ohly <patrick.ohly(a)gmx.de> ---
(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(a)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(a)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:
You are on the CC list for the bug.