Michael Bestas 510dd12855 Merge tag 'android-14.0.0_r29' into staging/lineage-21.0_merge-android-14.0.0_r29
Android 14.0.0 release 29

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZeZW5gAKCRDorT+BmrEO
# eCHWAJ9jDk1N1+zm/NYQ8GRQC9y1XtxI0wCcDVfV0bPppR+Cemjgn2l/eyjQuWc=
# =ULav
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Mar  5 01:19:02 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2358 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Bill Yi (10) and others
# Via Automerger Merge Worker (336) and others
* tag 'android-14.0.0_r29':
  CP2 handling of stopped state apps
  Added PreUpload config in CP2 for checking code style
  Import translations. DO NOT MERGE ANYWHERE
  Update team owners.
  Fix typo in sqlitebrowser-pull command
  Fix ordering of contacts in diplay list
  Deprecate use of nickname database.Preventing aggregation of contacts based on nicknames is a separate change.
  testValidNumber() unit test updated to make it independent of location of testing device
  This change stops aggregation of contacts which are common name variants of one another
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Always run qc as root
  Contact Provider Utils - qc - Tool to query directly the database on a device. - contactsproviderutils.sh - Database script: 	This script pulls the database and allows to view and update it 	locally. It is a raw adaption of 	/packages/providers/MediaProvider/mediaproviderutils.sh - logging.sh - Automatically set all variables for verbose debugging
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE

Change-Id: I9cbe004cb06e5a8cfe8990ce16ec1df0a566e718
2024-03-09 00:33:16 +02:00
2023-05-25 16:11:21 +01:00
2023-10-25 14:47:53 +00:00
2023-10-25 14:47:53 +00:00
2010-03-08 18:05:14 -08:00
2023-05-10 16:21:22 +01:00
2023-08-17 21:23:22 +00:00
2012-01-27 11:29:38 -08:00
2021-04-02 13:53:21 -07:00
2023-05-10 16:21:22 +01:00
2019-08-28 14:18:29 -06:00

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
    
Description
android_packages_providers_ContactsProvider
Readme 12 MiB
Languages
Java 99.7%
Shell 0.2%