Switch the ContactsProvider from using internal DeaultAccount class to ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState. Bug: 346567286 Test: ContactsProviderTests Flag: EXEMPT pure refactoring modified: src/com/android/providers/contacts/AccountResolver.java modified: src/com/android/providers/contacts/ContactMover.java deleted: src/com/android/providers/contacts/DefaultAccount.java modified: src/com/android/providers/contacts/DefaultAccountManager.java modified: tests/src/com/android/providers/contacts/AccountResolverTest.java modified: tests/src/com/android/providers/contacts/DefaultAccountManagerTest.java modified: tests/src/com/android/providers/contacts/MoveRawContactsTest.java Change-Id: Iab96080f82fb02a0e7bad30dcee5802d03fa1500
Running ./logging.sh will enable all verbose logs for the queries in the provider. More details in the script itself.
There are 2 different ways to easily query the database, qc and contatcsproviderutils.sh.
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.
This script downlaods the database locally and logins into a local version. It is also possible to push any change back to the device.
source contactsproviderutils.sh
contacts2.db and query:sqlite3-pullThis will open a sql terminal with
rlwrap which can be easily used for queries.contacts2.db and query with a graphical interface:sqlitebrowser-pull
sqlite3-push