History log of /packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
eef856198870eb06a86d9f901a747f5259177965 26-Mar-2018 Makoto Onuki <omakoto@google.com> Client access stats for calllog

This prints # of requests made by clients, per calling UID, with total
time spent for their requests.

Sample output:

PROVIDER ContentProviderRecord{a16090d u0 com.android.providers.contacts/.CallLogProvider} pid=2417
Client:
Process uptime: 4 minutes

Client activities:
UID Query Insert Update Delete Batch Insert Update Delete Sec
1000 1 4 0 0 0 0 0 0 0.161
10022 1 0 0 0 0 0 0 0 0.068
10062 336 2 0 0 0 0 0 0 5.361

Change-Id: I4b6f7e58dd8dc971408220edaae11ce6f24c43f5
Fix: 76037330
Bug: 76037330
Test: build & boot, dumpsys activity provider com.android.providers.contacts/.CallLogProvider
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
c28f7969399fcb667d02de4030fba0fc40ff9130 16-Oct-2017 Ta-wei Yen <twyen@google.com> Implement bulkInsert for VoicemailProvider

DbModifierWithNotification will only generate one aggregated notification
during bulk insert.

Test: VoicemailProviderTest
Change-Id: Ie808400d666c073642bdda175f714f9f3e2c68d6
Fixes: 21281858
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
517d590dc73e5efcf7c94e2431faec2473924ca2 07-Jul-2017 Makoto Onuki <omakoto@google.com> Make CP2 low-ram friendly

- Switch to ArrayMap|Set
- No common nickname DB on lowram devices
- Don't use WAL for profile DB, ever
- Don't use WAL for contacts2.db on lowram devices

Bug 63340057
Test: adb shell am instrument -w -e package android.provider.cts.contacts \
android.provider.cts/android.support.test.runner.AndroidJUnitRunner
Test: bit ContactsProviderTests

Change-Id: I16a6b41762874590c487ac82020bd1da7d7c0a0a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
bcec6b7482ad50f2ca9025b3b20624dd89b7c000 18-Apr-2017 mike dooley <mdooley@google.com> Adding voicemail transcription state to voicemail database

This database change involves 2 related cl's, one to define the new
column and one to update the database schema (ag/2129944, ag/2129909)

Test: run cts -t android.provider.cts.contacts.VoicemailContractTest -m CtsProviderTestCases
Bug: 37340510
Change-Id: I277ab08b88699c81db7af425368714660aff094e
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
442d7200fb77e2a6d0d3c8d1b17b3b8090581b02 06-Mar-2017 Makoto Onuki <omakoto@google.com> Don't use manifest receiver

- Only use a runtime receiver to handle package broadcasts.
We still do mostly the same tasks in the receiver.

- Also remove the BG service used by the voicemail provider.

- When the voicemail provider starts, remove records made by
packages that have been uninstalled.

- The package receiver was used to update GAL providers too.
The previous CL already takes care of scanning GAL providers on
startup.

Test: adb shell am instrument -w com.android.providers.contacts.tests

Bug 35388445
Bug 35385207

Change-Id: I743a769bd51e2acdbd13df1440cce04b35331fda
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
b95db86983d47262f670ad11b83d6f254f17f229 01-Mar-2017 Makoto Onuki <omakoto@google.com> Improve debug logging

Test: adb shell am instrument -w com.android.providers.contacts.tests
... with and without the verbose logging.

Test: manual tests
Change-Id: Ia685d15b6cce1e828766c63b08c477d1d7c114fd
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
607e7e3208b8b40633b3e2c1990cf8af2e7bf174 01-Mar-2017 Makoto Onuki <omakoto@google.com> Shutdown worker thread when not needed

We need to add a couple more handle threads. Before doing so,
let's make sure we don't keep worker threads forever.

Bug 35388445
Test: adb shell am instrument -e class com.android.providers.contacts.ContactsTaskSchedulerTest -w com.android.providers.contacts.tests

Change-Id: I5806e9932ee9141b6a3cf14b457d9b9b785df43c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
51b15e88e873d21f1683db021b0ee72059c02126 17-Jan-2017 Ta-wei Yen <twyen@google.com> Prevent LAST_MODIFIED from changing after deletion am: 687bef960a
am: 79733da1e9

Change-Id: I6678fcd89d52a1cd46ace7b6d97b2e24d4b06c96
687bef960a8309410ee1ba0da06a012914bef88e 08-Nov-2016 Ta-wei Yen <twyen@google.com> Prevent LAST_MODIFIED from changing after deletion

Previously LAST_MODIFIED is updated every time any modification is done
to a row, even if it is marked as deleted. A deleted row should not
be changed other then undeleting it, but it is hard to enforce this
on existing clients. Instead, LAST_MODIFIED will freeze at the moment
it was deleted.

In this CL, before the values are updated a separate query will update
LAST_MODIFIED for all rows that will be affected, unless it is already
marked as deleted. If a update will unmark the rows as deleted, a rows
will have its' LAST_MODIFIED updated.

Fixes: 31975372
Test: runtest contactsprov
Note: In the current master most of the contacts provider tests are
broken due to UserManager changed to use getApplicationContext()
on its' constructor, which is not mocked by the test context.
This CL is tested with the change reverted.

Change-Id: I7ce1e98fa14932c50e84bb9ef6b2549e93faddc4
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
0220fa1c7b231796c250af2d9dd5750ae84771f6 06-Sep-2016 Makoto Onuki <omakoto@google.com> Fix thread leaks in unit tests

Now all the tests can be run with a single command:
$ adb shell am instrument -w com.android.providers.contacts.tests

Bug 26253504

Change-Id: I46bc7c54e4812e6171fb2078f21c1460b4734c96
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
a0722de4886cdc06acf344052b70954415d25d80 13-Aug-2016 Ta-wei Yen <twyen@google.com> Mark voicemail as not new if it is updated as read

The voicemail notifications are tracking new voicemails. Once the
voicemail is set as read on the server it should no longer be treated
as new.

ACTION_NEW_VOICEMAIL will also be broadcasted when this event happens

+ Raise performance logging of VoicemailContentProvider.onCreate to
INFO as it should be related to b/29837276

Change-Id: Ic57bcbc6e8c0e61e1fe741ac1518bd5c6535fd7f
Fixes: 30105817
Bug: 29837276
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
c8ad9ce59d7ca2c10f4652ee3a0ef4e5d003f767 22-Mar-2016 Brad Ebinger <breadley@google.com> Add VIA number column to CallLog Database

Add a column to the CallLog Database that records the secondary line
number that an incoming call has been received on. More specifically, a
call is assumed to be considered a "VIA number" if the call's incoming
line number does not match the number registered with the SIM card.

BUG: 25594198
Change-Id: I7d9bbcbbcfffd20f75b8d5b1fecc292722028d45
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
f3bd980c0ec03db2538e86cadee2c1559f02c85b 12-Jan-2016 Makoto Onuki <omakoto@google.com> [FBE] Introduce shadow calllog provider [2/2]

Introduce a new provider that's a clone of the calllog provider but
is EA.

The provider is hidden and requires MANAGE_USERS to access, and responsible
for storing calllog entries that are inserted when the real provider is still
encrypted. When the real provider starts, it copies the entries from the shadow
as well as user-0's real provider, and clears the shadow.

Also fix b/26516259

Bug 26183949

Change-Id: If44b46709e2e7b1651b41c09d900e1cb2777dc56
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
dc653a5c1bed274512ce41e4a6129a65d2b0eeac 22-Dec-2015 Makoto Onuki <omakoto@google.com> Move CallLog and VoiceMailStatus to their own DB.

- Move the "calls" and "voicemail_status" tables to the new
"calllog.db" database.

- Migrate all data into it.

- Remove the old tables in contacts2.db

- VoicemailContract.Status.SOURCE_PACKAGE is no longer UNIQUE

Bug 26247586

Change-Id: I003d49b8fb150c21a34830bc62e8c816ce2cd8cd
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
6a7519df9e4462bfc02f28f0b066280307541905 21-Dec-2015 Ta-wei Yen <twyen@google.com> Fix CallLogProviderTest

Test cases has not been updated for a while.

+ Check userHandle == USER_SYSTEM and isManagedProfile() instead of
isSameProfileGroup() in syncEntriesFromPrimaryUser().
+ Check LAST_MODIFIED for CRUD operation on Calls table.
+ Calls.ADD_FOR_ALL_USERS = 1 defaulted to getTestCallLogValues()

Change-Id: I19a10e5a26951dae69a1481f142d6c398b56e09a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
52cb1f8391fdf93ad90d675585a9c7e385e4a8d6 14-Dec-2015 Ta-wei Yen <twyen@google.com> Add QUOTA_OCCUPIED and QUOTA_TOTAL to VOICEMAIL_STATUS table.

Add LAST_MODIFIED to CALLS table.

+ Bump database version to 1109
+ Update LAST_MODIFIED when CALLS table is inserted/updated/
marked deleted.

Bug:22013880
Bug:25197644

Change-Id: I19512dd93179def0dafb386894acf09b0a49fb1b
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
8bb52d886082c2c331bc513ce9f15c93ebf558cc 25-Nov-2015 Tony Mak <tonymak@google.com> Add field ADD_FOR_ALL_USERS in calllog table

We make use of this field to indicate a call should be copied from
primary user to all users or not.

Change-Id: I5f809656eb2bd581c1a080ca47635321839ae810
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
d3f3a7b4c4578a0494f54391215fd4e53e85a60c 28-Oct-2015 Xiaohui Chen <xiaohuic@google.com> Merge "Clean up USER_OWNER in contacts provider"
17f41872cac002cf4aa7d0e27ebfcc9d782c7873 15-Oct-2015 Hall Liu <hallliu@google.com> Add support for post dial digits to logs

Bug: 24955678
Change-Id: I4304146ceb446145faeeaf06641c8d8547607f79
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
6e9c8b7b8406f35dd3a1a2d6d163447d243933f6 14-Oct-2015 Xiaohui Chen <xiaohuic@google.com> Clean up USER_OWNER in contacts provider

Change-Id: I50c33778c5aac6f3d451e746430f2d649c471cd1
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
47fc56dd40613fae565d0c4d630f5f0b5fc310ff 20-May-2015 Yorke Lee <yorkelee@google.com> Fix broken CP2 unit tests and voicemail cleanup

* Delete voicemails when VoicemailCleanupService runs by
checking whether delete is called internally.
* Delete unnecessary MockPackageManager class, and consolidate
all logic into ContactsMockPackageManager
* Separate permissions tests and delete logic tests in
VoicemailProviderTest
* Correct the number of exposed Call columns in CallLogProviderTest

Bug: 20669398
Change-Id: I695b82b639b93f3ce85bf6e20000279f19e4a14a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
64605820a3c27ca1d1bf2499aea8418bb80621d0 15-May-2015 Yorke Lee <yorkelee@google.com> Fix NPE in CallLogProviderWorker

Bug: 20979730
Change-Id: I8ccaa27613804891b958dd82ac2debeb0dad762b
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
77b65aa3d1c2db02ce664c4b31e10370efe645cb 23-Apr-2015 Yorke Lee <yorkelee@google.com> Grant VoicemailContentProvider permissions to default or system dialers

Bug: 20333102
Change-Id: Icb54620cf9241b3999bcb3de1b73394c71becb2f
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
693406016fa0b02b4af4188fd9668a3d74881652 09-Mar-2015 Makoto Onuki <omakoto@google.com> Cache photo URI too in calllog

Enterprise phone lookup returns special photo URLs for corp contacts, which
can't be obtained just with contact IDs. So we need to cache the URIs too and
otherwise pictures sometimes don't show up.

Bug 19546108

Change-Id: I48517da681c194b6ee4ca47dda57ccff81e76981
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
f7076a627db99f9e845d406650d73be826091367 03-Mar-2015 Santos Cordon <santoscordon@google.com> Unhide call log entries by phone number.

If the phone account does not match any call log entries, then run the
unhiding query by the phone number instead of the specific phone
account. This addresses the cases where a user gets a new SIM card for
their existing phone number (e.g., switching service providers).

Change-Id: Ib0d5e5a36ad7445e95148470c45d8fdabd9125f7
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
b39eeb4f07db680e542ccaf142136a42f9d305f8 27-Feb-2015 Santos Cordon <santoscordon@google.com> Hide unregistered phone account call log entries.

Change-Id: I238882e0dd3e63747a4eedcf3ff2af2c8d770dd4
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
423f9bc8fed50e2caacd6f99f3160494f15c0a67 12-Feb-2015 Santos Cordon <santoscordon@google.com> Upgrade calllog DB to use ICC ID & source_phone_number.

To accomodate backup and restore of the call log, we have to convert the
existing sub-ID to an ICC ID. Also, add the source_phone_number to the
list of call log columns.

The ICC ID improves backup and restore because it is persistent across
different devices where a sub ID is not. If the user completely changes
their SIM card, the source_phone_number will be helpful in identifying
that scenario if the user kept their old phone.

Change-Id: Ib35e25216691e580b5ea539929ff16b2e3d30b88
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
3a219cc3f5045bdebfcd975bf857c6ff26886a22 25-Oct-2014 Yorke Lee <yorkelee@google.com> Sync call log entries to secondary user on background thread

Add code (similar to CP2) to offload tasks onto a background thread. This
is a bit overkill for now but will be useful when we add stuff like call
log syncing.

Also add some new methods to MockUserManager needed to pass tests.

Bug: 18056687
Change-Id: If51f64895d16029ecca1d1c46573324891e1d4d0
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
274d8ef297b883065bf108e4e26caaa9707ddf79 10-Aug-2014 Yorke Lee <yorkelee@google.com> Block access to call logs from the corp profile

Bug: 16812842
Change-Id: Ie4342b5efb2419097c35c0ddebd486a098cea523
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
1d69b2f3576af29b1653ccb372142e04e3e158e9 24-Jul-2014 Yorke Lee <yorkelee@google.com> Add Calls.TRANSCRIPTION to CallLog (1/2)

Dialer needs access to the TRANSCRIPTION column via the CallLog to
show voicemail transcriptions inline.

Change-Id: Id1807923a07af9e9e34783e6be2e39485eee7795
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
2ad39edbd856f3ea1177788aff7e653e593781eb 19-Jul-2014 Yorke Lee <yorkelee@google.com> Rename voicemail permissions

Rename READ_ALL_VOICEMAIL to READ_VOICEMAIL, and MANAGE_VOICEMAIL
to WRITE_VOICEMAIL
Bug: 16400686

Change-Id: I45d841b886c2bbe230c2f13fddbce41a729b6c61
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
3b34457a4cc0d2c55676f366ddc673091a198adb 17-Jul-2014 Yorke Lee <yorkelee@google.com> Sync call log entries from the primary user into the secondary user's call log

On startup of a secondary user's call log provider, sync any call log entries from
the primary user's call log that are:

1) Newer than the last sync time
2) Not a voicemail
3) Not a duplicate entry (identified by the number, and start time of the call)

Bug: 16298776
Change-Id: I843dfd8dd5c9433942e610cbbc2dfed95c29dd1c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
a315de3cb1c62569f7de1f25ec5b4ad425ebdf07 10-Jul-2014 Tyler Gunn <tgunn@google.com> Add features and data_usage columns to calls table.

Bug: 16015261
Change-Id: I08d28a5af5b52cc8ca2e03e6db82f68807c1f69f
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
2a836304091bf37a466c3a56e3b880222f518063 09-Jul-2014 Yorke Lee <yorkelee@google.com> Merge "Add manage voicemail permission (2/4)"
b078d625665a07e1349bcf7b3c6eff56400f9917 02-Jul-2014 Ihab Awad <ihab@google.com> Fix references to two constants

The names of two constants missed getting updated in a previous CL,
causing a build breakage.

Change-Id: I4853b8647c69bf2b12de43dc8a67fca75822fb14
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
e7c49d796e7e7043b3f2f8e3e7b274b3ba706756 01-Jul-2014 Ihab Awad <ihab@google.com> Rename Telecomm "Subscription" to "Account" (5/7)

Change-Id: If42f8c76ad0d347a3b387de4fa806148a0a2d780
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
ab2ec1d4316770e2ce8dc47dd1ae71430cd70e36 25-Jun-2014 Yorke Lee <yorkelee@google.com> Add manage voicemail permission (2/4)

Update CallLogProvider and VoicemailProvider to provide read/write access to
voicemails based on their respective permissions.

Also update tests to reflect the new world.

Bug: 6948882

Change-Id: I26e960eae24dc1b8bd4a372420d4c42f242c88d3
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
6749114ea49788806973a7dea493a5ac52b00a8c 23-Jun-2014 Nancy Chen <nancychen@google.com> Update database schema for saving of subscription info in call log

Added fields "component_name" and "subscription_id" to call log table in
order to save information about the subscription responsible for placing
a call. Additionally made sure relevant tests pass.

Bug: 15473965

Change-Id: I0ed99452c3cdfdba31f1a71fb342406b0652e282
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
3ccaf5590a7ed2fca780f9b7fc46328d0f78a2ee 17-Jun-2014 fafaisland <fafaisland@google.com> Add READ_ALL_VOICEMAILS Permision to VoicemailPermissions, VoicemailContentProvider
and CallLogProvider

Bug:15695227

Change-Id: I244541c847c07450535a52d0bf38199b55387202
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
a16c2509fa398159988861a3fc8408b493fa445b 01-Oct-2013 Christine Chen <christinech@google.com> Filtes out legacy number in call logs

Bug: 10966248
Change-Id: I297925f336114d98c1109158e19546e81f03fe90
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
e31bbc395fc04e9c5f841e8e76475d98c8332271 10-Jun-2013 Jay Shrauner <shrauner@google.com> Add number presentation column to call log table

Add number presentation column to call log table and convert older call logs
to use the new column.

Bug:6948882
Change-Id: I0e8f781d30600e3bfb08d8b89a1cade531e18c7f
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
ee1267f05b98218d26f39875949cbc66a8a9b71d 21-May-2013 Jay Shrauner <shrauner@google.com> Clean up int data conversion calls

Catch various places we would crash if a data column didn't parse
as expected as an int or long.

Bug:9050606
Change-Id: I241e8a2b158eea89a2b86ca20d3b93379668084d
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
c9626e7befd591923c6af859ad079abba8a84e41 15-Jan-2013 Dianne Hackborn <hackbod@google.com> Start tracking content provider app ops.

Change-Id: I899c3ae507a0e4feb95c8142b09b92e1fd87eefe
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
143bb522fcfb4a08c7f112876f3fac1cf47cf5ae 02-Aug-2012 Chiao Cheng <chiaocheng@google.com> Adding limit and offset parameters to calllog provider.

Allow client to pass in limit and offset parameters in uri.

Bug: 6849968

Change-Id: I535086449bfa76a5d8bc66567070141b76d19503
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
38210445730ee04c351c7cc1b3800cfe23e34325 27-Jun-2012 Makoto Onuki <omakoto@google.com> Reorganize import in contacts provider

Change-Id: If3afb134ea36bd93859efcd114885526e1592b91
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
9978b26dd17bb2b20b91101f1e4682604336b5f6 15-Nov-2011 Flavio Lerda <flerda@google.com> Use integer constant when adding filtering clause.

Currently we are quoting an integer constant when generating the
filtering clause that excludes voicemails from the set of calls returned
to applications querying the default call log URI.

Pass the integer to the helper function, so that we can avoid quoting.

Change-Id: I1e460d2c8d3b04047cf4a1f4e1209b3e4ba5053b
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
13ed28505ed1af4f0b4a6297c4c6840d91f10c8c 01-Oct-2011 Flavio Lerda <flerda@google.com> Add new column for cached formatted number.

Bug: 5316982
Change-Id: I2870778c8056468730d82794ddae90c74cab85fc
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
f402aaf776fee29d8044d97979b16695f24086dd 05-Sep-2011 Flavio Lerda <flerda@google.com> Fix voicemail tests.

The problem is that we run this query locally (within the same process)
in the tests and this means that the content values passed in were
modified and later re-used (assuming it would not contain the extra,
generated columns). The solution is to always make a copy of the content
values before modifying them in the provider (which is the safest way
anyway).

Bug: 5226211
Change-Id: I972111821a4af1e1d3df2dc47189d664a7303683
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
c4144727cd740079f47e74ae5078d1613874f72a 29-Aug-2011 Makoto Onuki <omakoto@google.com> Lazily-initialize PhoneNumberOfflineGeocoder/PhoneNumberUtil

- They were indirectly created in VoicemailContentProvider.onCreate and
CallLogProvider.onCreate, and were slow. It was taking ~300ms on my
measurement on a nexus-s. Also it touched the filesystem, so it can
be much slower on worn-out flash or when flash is busy.

- Doing it in a provider's onCreate means it affects auto-complete
performance if acore is not started. Also it'll affect app-startup
when we merge processes.

- But they were actually only used when inserting a call log, so we don't
have to initialize them at startup.

- Inserting a call-log should be done in a worker thread, so lazy-
initialization shouldn't cause laggy UI.

(Alternatively, we could initialize them in a worker thread at startup,
but I don't think it's worth it.)

- Also, now CallLogProvider and VoicemailContentProvider share the
same instance of DefaultCallLogInsertionHelper.
(They used to have their own)
same instance of DefaultCallLogInsertionHelper doesn't have any
instance specific state, so this should be safe.

Bug 5220669

Change-Id: Ibcd664ed683507c5dcac88bec736e4903a4a7032
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
663b8b8ce7a29fb2796dc6431f2cd5992934f315 28-Aug-2011 Makoto Onuki <omakoto@google.com> Add log to measure startup performance

Use this to enable log:

adb shell setprop log.tag.ContactsPerf VERBOSE

Bug 5195464

Change-Id: I8348dffb050c562e708ab81405d556625794fdf3
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
7a24e1c1476b57a6268de8d57e5ef4a2d5f46794 21-Aug-2011 Flavio Lerda <flerda@google.com> Add a few columns for caching to the call log.

These columns store additional information about the contact associated
with a call log entry and are needed by the new functionality present in
the call log.

This change matches the newly defined columns in
android.provider.CallLog.

Bug: 5101753
Change-Id: Ife45e7034af098bf0e1ca35d05bb389a2c47909a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
2e757d904e62dbf5bc0b028626fa9319ccc38c45 09-Aug-2011 Debashish Chatterjee <debashishc@google.com> Notify callog uri if a change is made through voicemail provider.

DbModifierWithVmNotification till now only notified to voicemail uri
content observers for change made through call log provider. We need the
otherway round as well so that any change made to a voicemail entry
through the voicemail provider should be notified to listeners of
calllog uri. This is needed to make call log auto refresh work when a new
voicemail is inserted.

DbModifierWithVmNotification is now renamed to DbModifierWithNotification
and suports both ways notification. Notifications generated by call log
provider as well is now routed through this class.

Bug: 5055868
Change-Id: I2de8c9867445bcb86ce94a8600acc726266c8008
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
aeaba441ddb05dede8bd86291ca78f42d670d54c 09-Aug-2011 Flavio Lerda <flerda@google.com> Automatically add a geocoded location to entries in the call log.

This change adds a geocoded location value to entries added to the call
log.

One limitation is that this is unaware of changes to the locale. We
needed to decide whether this is fine or if we should update the stored
geocode on locale changes.

Bug: 5129581
Change-Id: I2ad1b3fbd24491df2febf3e1fd615c16dd74398f
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
929a04e2830e30718930d96335dfb0a729b6ab91 23-Jul-2011 Debashish Chatterjee <debashishc@google.com> Improvements in voicemail broadcast notifications.

This change fixes two primary issues:
1) If a voicemail record is modified through call log provider, a
voicemail provider notification is now generated.
2) voicemail notifications are now sent with permission ALL if the
receiving component packages is not the owner of the modified record.
This ensures that a voicemail source (having OWN permission) gets notified
only of changes for records that it owns. But a package that has ALL
permissions get notified of everything,

A new interface DatabaseModifier is now used by both voicemail as well as
calllog provider to perform any operations that can modify the
underlying table. DbModifierWithVmNotification implementation of this
interface fires relevant notifications under the hoods.
All logic related to sending notifications is now moved from
VoicemailContentProvider to this new class.

bulkInsert has no special treatment anymore. We now fall back to the framework's
default implementation. It was complicated to optimize for provider_changed events
for bulk insert when using the DatabaseModifier interface.

TODO: I am yet to write unit tests for broadcast intents. I have done
manual testing to make sure that they work. Also the existing unit tests pass,
proving that none of the existing content provider operations are broken by
using the DatabaseModifier wrapper.

Bug: 5060354
Bug: 4974222

Change-Id: I0935105f146a71abeffbde634d79f8806b8e0ed2
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
b2197b235e3d96e7f70c24d548b7dac52dab88d8 21-Jul-2011 Flavio Lerda <flerda@google.com> Implement IS_READ column in content providers.

Add support for the IS_READ column in the call log and voicemail content
providers. This columns will be used to store whether a call log entry
(currently only voicemail) has been read or otherwise consumed by the
user.

Bug: 5036195
Change-Id: I06840f9820f7d568a738c0307f4294c2b8c66031
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
92d97071e56110e0df7f25e6ebc92ff4ebf74a88 29-Jun-2011 Flavio Lerda <flerda@google.com> Use shared constants for call log with voicemails.

Use the shared constants for accessing voicemails in the call log.
Remove the local copies in the content provider.

Change-Id: I1c026ab604201b73e4f6a057a8b725479c72c796
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
aafbe295d67686870c64c74a59e589d1dfb506fa 20-Jun-2011 Debashish Chatterjee <debashishc@google.com> Introduced query param 'include_voicemails' for call_log uri.

- by default only call entries (i.e. no voicemails) are returned.
- if include_voicemails is set to true then also include voicemail
records, but only if the caller has full voicemail permission.
- voicemail record can only be inserted through call_log provider if
include_voicemails is set.

Change-Id: I98f6778ace64fa752dc0525c5ce4e5eb83b2e689
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
00e7c94b70f4b477653534dbe559d1759d796157 16-Jun-2011 Debashish Chatterjee <debashishc@google.com> Added checks in voicemail provider to not expose call_log fields.

- Voicemail provider now has check to ensure that no field outside of its
projection is accesible.
- Moved functionality to check ContentValues against a projection map to
DbQueryUtils.
- Associated test cases.

Change-Id: I23033c96f74f0ab981152f70e585c69ba5284602
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
59f6477e10203617f504857f7e9aee2fda393f4f 07-Jun-2011 Debashish Chatterjee <debashishc@google.com> Introduced new voicemail fields in 'calls' table.

The 'calls' table is going to be shared between the existing call_log
provider, and to be added voicemail provider. This change adds all the
columns needed to support voicemail in the 'calls' table.

The call_log provider, however, uses only one additional field
'voicemail_uri', whereas all other new fields will exclusively be used the
new voicemail provider. The change also ensures that the voicemail
provider specific fields are not exposed through the call_log provider.

Change-Id: Ieea4b14052b7e7e9db0e674138772b4e06b3f074
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
37c85b89cc989308749ea22b1ce29c59a47158ac 08-Dec-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing strict mode violation in CallLogProvider.

Bug: 3253978
Change-Id: I30ffcf1ffba47b2b6aa1e1df6c15728b84508803
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
89b7c2b6e0003b17d08002f02d6aeec9f9788c8d 30-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing LegacyContactImporterTest

Bug: 3240203
Change-Id: Ib733141a31c648437fa5d7171e0bfd22a4911c0f
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
2530512f639c4979fd7371c7dd25dd67e8118124 26-Aug-2010 Bai Tao <michaelbai@google.com> Store the current country code in call log

a. Created a CountryMonitor class to monitor country for CallLog and Contacts Provider
b. Added a new field countryiso in calls table.
c. Upgrade the database to 406.

Change-Id: I894739c65672b017f8d634f0d9cd5dd11ac930d1
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
f604d0340a8578a0d4b34e5d6e0e7e212136af32 24-Mar-2010 Bai Tao <michaelbai@google.com> Remove the fake ContentChanged notification

Change-Id: Ia1f996415f1a46ae60144eb166d531a99778e49c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
b38ed2c5ffeb20efc677b4a9229db4a00603aa8d 29-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Renaming OpenHelper to ContactsDatabaseHelper

Change-Id: Iccdf1ebcd8a3ab430941c957f712bb9e7dd2706c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
3a6a49cfb06272e3e25f3c390a9cf4002da6e34d 20-Sep-2009 Daisuke Miyakawa <dmiyakawa@google.com> Use strict phone number comparation algorithm if the config tells the package to do so.

This change must come after the change 25941.

Internal issue id: 1892808
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
6f157d1cfb219f80d375c1357bfbdc5bf599d91a 17-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 2123481] Adding notifications to CallLogProvider

Change-Id: Ie459eba74349b264fb5379079078e7a005f5ec71
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
e99988b266dd1263162583e81e2b408e7329b1c8 29-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Extracting call log implementation out of the legacy contacts provider.
/packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java