Allow contact insertion without account being specified, when default account is not set. Contact insertion in this situation will continue to be stored in the local account. Bug: 370546019 Test: unit test and CTS test Flag: android.provider.new_default_account_api_enabled Contacts insertion without acccount being specified, historically stores the contact in the local account. In Android B, while it is strongly discouraged to insert contact without account being sepcified, CP2 should not forbid this, or otherwise it might break the apps which already operates in this mode. modified: src/com/android/providers/contacts/AccountResolver.java modified: tests/src/com/android/providers/contacts/AccountResolverTest.java Change-Id: I4a054ec21567b4c1dc0005e4ce1132c4d8e18bb2
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