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
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.dband query:This will open a sql terminal withsqlite3-pullrlwrapwhich can be easily used for queries. - Pull 
contacts2.dband query with a graphical interface:sqlitebrowser-pull - Push local updates to the device:
sqlite3-push 
Description
				
					Languages
				
				
								
								
									Java
								
								99.7%
							
						
							
								
								
									Shell
								
								0.2%