[automerger skipped] Merge Android U (ab/10368041) am: ea7903d4ca -s ours am: 66dd1b39ea -s ours am: 3a6565fd91 -s ours am: 1ab4b31fdc -s ours

am skip reason: Merged-In I9065bd5c0923465efa9cb94fc33dafa8729b78d6 with SHA-1 ecd0d356c9 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/providers/ContactsProvider/+/24182869

Change-Id: I7b0699db40d54db01a833468e022151b3c860790
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
tree: e6c81db0a7356df8927e203627517b8a7fe3d59d
  1. qc/
  2. res/
  3. src/
  4. test_common/
  5. tests/
  6. tools/
  7. Android.bp
  8. AndroidManifest.xml
  9. CleanSpec.mk
  10. contactsproviderutils.sh
  11. logging.sh
  12. OWNERS
  13. proguard.flags
  14. README-tests.md
  15. README.md
  16. TEST_MAPPING
README.md

Debugging Tools

Enable all verbose logs

Running ./logging.sh will enable all verbose logs for the queries in the provider. More details in the script itself.

Querying the database

There are 2 different ways to easily query the database, qc and contatcsproviderutils.sh.

QC usage

qc queries the deivce directly. For usage, append the query in single quotes after the command:

e.g.

qc/qc 'select * from raw_contacts'

or to get all the tables

qc/qc '.tables'

QC support SQLite language, but it might have some limitations working with complex nested queries.

contactsproviderutils.sh usage

This script downlaods the database locally and logins into a local version. It is also possible to push any change back to the device.

  • Add tools to path
    source contactsproviderutils.sh
    
  • Pull contacts2.db and query:
    sqlite3-pull
    
    This will open a sql terminal with rlwrap which can be easily used for queries.
  • Pull contacts2.db and query with a graphical interface:
    sqlitebrowser-pull
    
  • Push local updates to the device:
    sqlite3-push