Age | Commit message (Collapse) | Author |
|
We currently limit the size of AnnotatedCallLog to 999 via a trigger, but it doesn't exclude voicemails. Since we don't want to ever garbage collect the user's voicemails, exclude them from the trigger.
This means that we can no longer assume a maximum size for the table (the user culd have more than 999 voicemails) so I've updated the places in the code where we did that before.
Finally, I changed AnnotatedCallLog's CALL_TYPE column to be non-null. This is so that we can have more confidence that the trigger will work as intended. Null values cannot be compared in SQLite, so an expression like "where call_type != 4" won't actually match a null call type. Rather than implicitly fail to clean up such rows, we just crash completely when encountering such rows (even though I don't expect that to happen).
Bug: 70989634
Test: unit
PiperOrigin-RevId: 183006714
Change-Id: I9f4394a4812afe4b65c1e8427c355d825356557c
|
|
calllog/database/contract.
The "model" package should be reserved for call history proper (and not voicemail) so it shouldn't contain things needed by voicemail.
Test: existing
PiperOrigin-RevId: 182976719
Change-Id: I463c8ed4600950a8d18db49d991609bfaa49c709
|
|
There's a problem with the existing implementation of RealtimeRowProcessor; when CP2 information is not present, data from other sources can potentially be erased.
This CL fixes the problem by fetching the latest data from all sources, instead of just CP2. This requires being able to fetch PhoneLookup info without a Call, using only a number, so I changed PhoneLookup#lookup to accept a DialerPhoneNumber rather than a Call.
(The reason that it accepted a Call was to support CNAP so we'll need a revised solution for that later.)
There is a potential concern with performance in RealtimeRowProcessor due to performing a full [Composite]PhoneLookup vs. a CP2 lookup, because the full lookup includes network requests. However, it's anticipated that the real time lookups will very rarely have changes to apply so this might be OK as-is. If not, a mitigation strategy could be improving the performance of CompositePhoneLookup#lookup by short-circutiing slower sources when faster, higher priority sources have already completed.
A follow-up CL will write the result of RealtimeRowProcessor queries to PhoneLookupHistory to further reduce how frequently real time updates need to be applied.
Bug: 72229553
Test: existing unit
PiperOrigin-RevId: 182839130
Change-Id: I8cb26827b4f4dc4702fb416234c8938179cd5ac5
|
|
-Don't ever coalesce rows with different post-dial digits
-Made matching of unparsable numbers a little more intelligent by comparing national/postdial portions which have undialable characters removed (rather than exact string match)
-Read and append the post-dial digits from the system call log when building DialerPhoneNumbers to place in the AnnotatedCallLog. Note: PhoneNumberUtil will parse numbers with exactly one post-dial character, but not more than one.
-Use post-dial digits when building the AnnotatedCallLog's FORMATTED_NUMBER value
-Display the formatted number in CallDetails when the name is missing, instead of the unformatted number
-Don't set the displayNumber in CallDetails when the name is missing, because we are showing the (formatted) number via the nameOrNumber field.
-Treat numbers with post-dial digits as invalid in PartitionedNumbers; batch operations are not possible with these numbers because their normalized representations strip the post-dial digits (and they are significant for contact matching)
Bug: 70989632
Test: unit and manual
PiperOrigin-RevId: 182557754
Change-Id: Idcdefce0946a189e5b350a53ec2a16a96a8d4552
|
|
We currently require two numbers to be a PhoneNumberUtil.MatchType.EXACT_MATCH to coalesce them, but this means that two numbers like "456-7890" and "408 456-7890" won't ever be collapsed.
This is potentially a likely situation since it is possible to dial numbers without an area code so we should better support it (and the old call log coalesces such numbers today).
Bug: 70989626
Test: unit
PiperOrigin-RevId: 182289194
Change-Id: If884d5a1f2631116a2729e0635f9a97aeca3e057
|
|
This allow extra information from PhoneLookup to be more easily added. Only PhoneLookupSelector and the proto will be affected for new attributes.
Test: Unit tests.
PiperOrigin-RevId: 181675568
Change-Id: I4e0bc1c6005b58a9b684b030b55bea6223af9ce3
|
|
Empty numbers were not being inserted into PhoneLookupHistory because the URI "content://.../PhoneLookupHistory/" is treated the same as "content://.../PhoneLookupHistory" (w/o the trailing slash). This caused the update (i.e. replace) operation to incorrectly update all rows in the table when it should have updated a single row.
The fix for this was to switch to a query parameter, so the empty number URI now looks like "content://.../PhoneLookupHistory?number="
Also improved some logging while debugging this problem.
Bug: 71866050
Test: unit and manual
PiperOrigin-RevId: 181659081
Change-Id: Idec4fb77e74920cd5485620b0a997db03aa8ff9b
|
|
This is for performing work inside of the call log's RecyclerView, when the view holder is bound. Most of the time, this should be a no-op but there are possible edge cases where the call log data cannot be updated efficiently through the standard batch mechanism.
One example of this is when there are too many invalid numbers in the call log; the CP2 information for invalid numbers cannot be efficiently batch updated so we fetch this information at display time. (Note that we do handle up to 5 invalid numbers in the batch update mechanism, but if there are more than that we fallback to this realtime processing.)
Test: unit, manual
PiperOrigin-RevId: 181400016
Change-Id: Iea6b380742e757b48d19f319fe46dc5fae837604
|
|
Bug: 70388714
Test: Existing tests
PiperOrigin-RevId: 181231987
Change-Id: I0c7386f60e92f7087f9f5ad1b1f454b43b7227e7
|
|
This column is filled by PhoneLookupDataSource using PhoneLookupInfo#PeopleApiInfo.
Bug: 70218437
Test: AnnotatedCallLogDatabaseHelperTest, PhoneLookupDataSourceTest, RowCombinerTest, CoalescedAnnotatedCallLogCursorLoaderTest, PhoneLookupSelectorTest
PiperOrigin-RevId: 180839783
Change-Id: I8d5ddb940670724fd4bf6dd6a50dcf408f91da9d
|
|
Bug: 70506228
Test: new unit tests
PiperOrigin-RevId: 180610636
Change-Id: I7f498df1a529737bf8473584836bdc3e04a5043c
|
|
We're not going to use the "cached" columns from the system call log any longer, and instead will write them using PhoneLookup.
Bug: 34672501
Test: unit
PiperOrigin-RevId: 178788155
Change-Id: I9255dd3cb727eef3b45bc05aeb3c6fd6fd513d63
|
|
COALESCED_IDS.
For a row in the coalesced call log, COALESCED_IDS contains IDs of the corresponding rows in the annotated call log. These IDs will be used to (1) launch CallDetailsActivity or (2) delete the row in the call log UI.
Bug: 70218437
Test: CoalescerTest, CoalescedAnnotatedCallLogCursorLoaderTest
PiperOrigin-RevId: 178392968
Change-Id: I2d6cd46bec4d47a9e18941b7a019f39403fa76f5
|
|
Required adding applyBatch functionality to PhoneLookupHistoryContentProvider so that the updates can be performed in a transaction. This code was just copied and modified from AnnotatedCallLogContentProvider.
Also removed the trigger which limited the size of the PhoneLookupHistory, since we now delete rows from PhoneLookupHistory when the last occurrence of a number is deleted from AnnotatedCallLog. Since AnnotatedCallLog is bounded to 1000 rows PhoneLookupHistory is now indirectly bounded by that as well.
Bug: 34672501
Test: unit
PiperOrigin-RevId: 178323464
Change-Id: I233163fe70641b0e4b1d4c5c0e8970ad0b4b167d
|
|
Use them where appropriate.
Bug: 34672501
Test: existing
PiperOrigin-RevId: 178182298
Change-Id: If454225e0d636c7cb14b5af02d46780d7732abf0
|
|
Bug: 34672501
Test: existing
PiperOrigin-RevId: 178038086
Change-Id: I1230992ad04bb4415f5a29bd15802d23dff88012
|
|
Data in this column are copied from the DATA_USAGE column in the system call log (android.provider.CallLog.Calls#DATA_USAGE).
Bug: 70218437
Test: AnnotatedCallLogDatabaseHelperTest, SystemCallLogDataSourceTest
PiperOrigin-RevId: 177999609
Change-Id: I64d70734e8e85767f1e93a4a22ce2aae6c2168a1
|
|
Also extracted FakePhoneLookup to a testing package.
Bug: 34672501
Test: unit
PiperOrigin-RevId: 175923790
Change-Id: I866708a676e788051b369a024344967975c05979
|
|
The duration of the voicemail shown in the seekbar/media player (upon expanding) should be the same as the duration shown when the voicemail view holder is collapsed. Both values are retrieved from the same source (VoicemailEntry).
Bug: 64882313,68382421,69268144
Test: Unit Tests
PiperOrigin-RevId: 175712662
Change-Id: I70496c004d52deb1793e6d6354b0ec79bf4c4398
|
|
This will be used in the PhoneLookupDataSource. A separate URI is necessary because the content provider APIs do not provide a mechanism for querying using the "distinct" keyword.
Bug: 34672501
Test: unit
PiperOrigin-RevId: 175706603
Change-Id: Ia455a18d10afb116d26f69e8b0c7493f4f877d0b
|
|
The declared type of "STRING" has an affinity of NUMERIC, not TEXT per:
https://sqlite.org/datatype3.html
Bug: 34672501
Test: existing
PiperOrigin-RevId: 175237916
Change-Id: I220a35f3060eb60870f6e930c821bdb2f6d2c7ed
|
|
The current implementation is easy to read but causes klippy warnings.
Also removed the AnnotatedCallLogDatabaseHelperTest.voicemailColumnsExist and combined it with the onCreate Test
Test: Unit Test
PiperOrigin-RevId: 173614534
Change-Id: If00f7e91f48e582aa481268d88a4871cc2364684
|
|
VoicemailUri is required to play voicemail audio files. We need it to be able to play the voicemails in the voicemail tab. A follow up CL will be using the uri to play the audio, but via a media player.
Bug: 64882313
Test: Unit tests
PiperOrigin-RevId: 173422683
Change-Id: Ib438e3020c83e11a2c54c3e941c93e83dba9bc90
|
|
It fixes AOSP for package name conflict.
Test: manual
PiperOrigin-RevId: 173298696
Change-Id: Id10ebe0bcf029e61f65cf6580c7198abd8395081
|
|
This CL lays the foundation of querying the annotated call log, retrieving only the voicemail entries and some of the voicemail information in the Voicemail tab. This CL only displays the name/number as well as the corresponding photo of the voicemails present on the device.
WANT_LGTM=zachh
SCREENSHOT: http://screen/YYBG8T0Ma0J
Bug: 33006245, 64882313
Test: Unit tests and manual verification.
PiperOrigin-RevId: 172504512
Change-Id: Ie7187b021abf42d1a4522458a1ab28537a7c222c
|
|
Currently the SystemCallLogDataSource queries the call log table with CONTENT_URI. This works for the call log tab, but will not work for the voicemail tab. To allow the voicemail tab to query annotated call log for voicemail information, we need to surface up voicemail data from the system call log data source into the annotated call log.
Bug: 64882313,33006245
Test: Unit tests, also verified that in the call log only the non-voicemail entries show
PiperOrigin-RevId: 172036196
Change-Id: Ieac855ae854a043207c9ae668280391c790ac33d
|
|
Also added ability to click on row to call.
Required plumbing through the original phone number and phone account info through AnnotatedCallLog and CoalescedAnnotatedCallLog, so that clicking to dial doesn't require an additional lookup.
Required some refactoring:
-created autovalue for CoalescedRow.
-created autovalue for ContactPrimaryActionInfo and use it in ContactActionBottomSheet
-moved logic for building primary and secondary text into CallLogUtils so it can be shared between call log list and bottom sheets
-moved clipboard logic to own package for copying numbers
Bug: 34672501
Test: unit
PiperOrigin-RevId: 171760252
Change-Id: I645d89974460b611c1d9668c3ca3e50a716c7f8f
|
|
last 3.
This is according to the latest PRD:
https://docs.google.com/document/d/1FLoQ6kNYL-QKplbniJAIUCHku87S9eYuYPs6IXe-U78
Also cleaned up warnings in CallLogQueryHandler.
Screenshot: https://screenshot.googleplex.com/Z7p4BRVpLpE
Bug: 34672501
Test: unit
PiperOrigin-RevId: 170941445
Change-Id: Ibf79b70eda3837ea46d365729aaed0a87961e42b
|
|
Previously, Android's Dialer app was developed in an internal Google
source control system and only exported to public during AOSP drops.
The Dialer team is now switching to a public development model similar
to the telephony team.
This CL represents all internal Google changes that were committed to
Dialer between the public O release and today's tip of tree on internal
master. This CL squashes those changes into a single commit.
In subsequent changes, changes will be exported on a per-commit basis.
Test: make, flash install, run
Merged-In: I45270eaa8ce732d71a1bd84b08c7fa0e99af3160
Change-Id: I529aaeb88535b9533c0ae4ef4e6c1222d4e0f1c8
PiperOrigin-RevId: 167068436
|
|
RC00 is based on:
branch: dialer-android_release_branch/153304843.1
synced to: 153304843
following the instructions at go/dialer-aosp-release.
In this release:
* Removes final apache sources.
* Uses native lite compilation.
More drops will follow with subsequent release candidates
until we reach our final v10 release, in cadence with our
prebuilt drops.
Test: TreeHugger, on device
Change-Id: Ic9684057230f9b579c777820c746cd21bf45ec0f
|