Adding or removing country code from existing contacts number is
changing now number record itself, exactly when changed number
is placed in DB, instead to create new number record, to avoid
miss match during matching numbers.
Determined 3 reasons of lag
1. each calllog app opening is sending db::query::calllog::SetAllRead
which marks all calllog database entries as read and send CRUD
notification to application and hence the list view is rebuilt at least
twice for each app opening.
After deeper investigation it seems like dead feature (at least not
covered in GUI) and I am going to disable it.
2. DBServiceAPI::MatchContactByPhoneNumber requested for empty string
(private number) take really long time (above 1s).
3. DBServiceAPI::MatchContactByPhoneNumber took about time 150-200ms
This patch fixes only issues 1. and 2. Number 3. requires further
investigation and is consider as separate issue.
After mentioned fixes calllog is pretty responsive but requires ~2s
for each app start or page change.
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>