Trigger deltaUpdate in ContactsIndexerUserInstance
1) Create and initialize ContactsIndexerImpl in ContactsIndexerUserInstance
2) trigger the delta update in ContactsIndexerUserInstance to make it work
end to end. Namely if contacts are changed on the device, we will see
those changes reflected in AppSearch.
3) correctly set and persist last delta update and delete timestamps
This is splitted from ag/16569486. The first part is ag/16981486.
One Pager: go/appsearch-contacts-indexer-one-pager
Design doc: go/appsearch-contacts-indexer(Implementation Plan:
https://docs.google.com/document/d/1qfek20XQQYh02V2J6K0pXfrhnXYmVH-1NqwI8Xiqd10/edit#heading=h.8tlk1jy5d7ek)
Prototype: ag/16130927
Bug: 203605504
Test: AppSearchServicesTests
Also did manual test on device with this feature enabled:
1) added 5/100/1000 contacts
2) wait until indexing finishes while monitoring the cpu and memory
usage. No major issue found
3) use dumper to verfiy the documents are available in AppSearch
adb pull /data/system_ce/0/appsearch
blaze-bin/third_party/icing/tools/dumper appsearch/icing/ > log
Change-Id: Ie8321bbe93dc03b277ea62f21b6fd85ded6450df
18 files changed