summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
AgeCommit message (Collapse)Author
2018-04-11Add RTT badge to new call log.wangqi
Bug: 77717594 Test: ContactPhotoViewTest PiperOrigin-RevId: 192492913 Change-Id: I6db36017fde2cf9dca580d60d5c88bf2ad2dfe16
2018-03-30Use IS_READ instead of NEW in new call log.zachh
We want to be more consistent with other usages of NEW in the app, i.e. NEW should be used primarily by notifications. Bug: 74821515 Test: unit PiperOrigin-RevId: 191139559 Change-Id: Ib6fbead8b5589aedd881db26a07f7daed4d83543
2018-03-30Added logging for popping in new call log.zachh
Bug: 70989667 Test: unit PiperOrigin-RevId: 191099351 Change-Id: I47f1e487e2a0cc23af7b39ae89e20abf993933ea
2018-03-29Badge contact photos for video calls in the bottom sheet.linyuh
Bug: 70988682 Test: Existing tests PiperOrigin-RevId: 190946639 Change-Id: Iaa8294e8ba6e85ab3c27bb2e67200d7972a240f2
2018-03-28Create a common widget (ContactPhotoView) for a contact photo and its ↵linyuh
optional badge. Bug: 70988682 Test: ContactPhotoViewTest PiperOrigin-RevId: 190855440 Change-Id: Ib658efa6486b66548c710804049517905dc67b13
2018-03-28Badge contact photos in the new call log for video calls.linyuh
Bug: 70988682 Test: NewCallLogViewHolderTest PiperOrigin-RevId: 190783830 Change-Id: Ib0b1ec23b7c278b83516019924b6c68ff12adaf9
2018-03-19Convert @AutoValue CoalescedRow to a protolinyuh
Test: Existing tests PiperOrigin-RevId: 189675976 Change-Id: Ieae92b5ac2aefd3f0397bbb07ebb1c97bd72ed42
2018-03-19Implement VoicemailDataSourcetwyen
This data source determines if the call is to the voicemail inbox. isVoicemail() is removed from NumberAttributes and PhoneLookup. It is yet decided how in call UI should handle voicemail calls in the future. TAG_CHANGE_OK=proto not in prod yet. Please clear app data. TYPE_CHANGE_OK=above Bug: 70989587 Test: Unit tests PiperOrigin-RevId: 189650273 Change-Id: Iafebf1abb18c74301b62a72d1d04deecd6d78d29
2018-03-06Covnert @AutoValue PhotoInfo into a proto.linyuh
Bug: 74202944 Test: Existing tests PiperOrigin-RevId: 188060790 Change-Id: I4d79a353abf767935383d4149f261f5e96fd7acb
2018-02-09Show icon and label for a spam number in the new call log.linyuh
Bug: 73077158 Test: CallLogEntryTextTest, GlidePhotoManagerImplTest, PhoneLookupInfoConsolidatorTest PiperOrigin-RevId: 185017362 Change-Id: I113472482da2213d17a847054272a22249edc578
2018-02-05Match redlines in new call log.zachh
This includes: -Moved call count to after icons -Bold PhoneAccount for new calls -Fixed recycling issues in call type icons and phone account -Fixed cropping at bottom of "y" character (see b/67913060) -Reduced nesting in layout -Removed dimens.xml as it shouldn't be shared by voicemail -Set the alpha for Wifi/HD icons depending on read/unread status -Don't color call type icons, except for missed -Call type icons scale with display size -Call type icons are larger (18dp) in new UI Note that FrameLayout is used to ensure that icons/callCount view is not clipped, and instead contact name is ellipsized when the content is too wide to fit. Bug: 67913060,70989593,70989611 Test: unit and manual PiperOrigin-RevId: 184605728 Change-Id: Ie36c89354cbe4444ad2b42b6b0040430e396691c
2018-01-24Show Icon and label for blocked numberstwyen
CallLogPhoto.getPhotoUri() returns a URI to a drawable so it will be easier to transition into glide. Meanwhile ContactPhotoManager will just show the drawable directly. Bug: 70989547 Test: Unit tests PiperOrigin-RevId: 183163818 Change-Id: I4ee4ff98782e35d2be03dfe14f8bf3dfd6ded074
2018-01-22Changed PhoneLookup#lookup to accept a DialerPhoneNumber.zachh
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
2018-01-17Show existing CP2 information for invalid numbers even if out of date.zachh
This is an optimization to reduce popping in the new call log. Currently when Cp2LocalPhoneLookup determines a number to be "incomplete" (because it is an invalid number and there are too many invalid numbers in the call log to efficiently bulk update) we clear the existing data, which has been populated in PhoneLookupHistory (for example, from InCallUi). This means that we will show the number initially when displaying the call log, and then when the query completes we will "pop in" the new information. This change makes it so that we don't clear the existing data from PhoneLookupHistory, and just add the "incomplete" bit. The result of this is that we immediately display the available information when initially displaying the call log (even though it may be out of date). When the query completes, the row will be updated with the most recent information; in most cases this is likely to be the same as the information used to initially display the row, and no update will need to be applied. Additoinal changes to support this functionality: -RealtimeRowProcessor is now just responsible for returning an updated row, and NewCallLogView holder will compare the result to the originally displayed row and only update the UI if there are differences. -NewCallLogFragment now calls clears the RealtimeRowProcessor's cache and notifies data set changed during onResume. This is to account for the fact that AnnotatedCallLog no longer contains the complete set of information necessary to show the call log; there may be changes we need to show which can't be detected by the cursor loader. We now show those potential changes in onResume. Additional notes: -If there is real-time data that changes after onResume it won't be detected but there shouldn't be such cases; changes made to contact information from dialer are always done through contact cards which pause the fragment. -This change has the effect that whatever information was written to PhoneLookupHistory during the previous invocation of InCallUi will always be (initially) shown. For example, if the contact name for number "123" is "Joe" when the call comes in, we'll write "Joe" to PhoneLookupHistory. If the user changes Joe's name to "Jane", the UI will pop from "Joe" to "Jane" until PhoneLookupHistory is updated (which is currently only done from InCallUi). If this turns out to be a problem it could be mitigated by writing updated results to PhoneLookupHistory from the UI. Test: unit, manual PiperOrigin-RevId: 182277145 Change-Id: I3d9916b7747390ff956f399fe84b26d578e5a07f
2018-01-12Fixed recycling issues in new call log.zachh
-Reset the text appearance when recycling -Clear the secondary call types when recycling Test: unit PiperOrigin-RevId: 181824011 Change-Id: I92cf2c570754e60f3559ad6b47157b3538c6e2cc
2018-01-12Clear the cache in RealtimeRowProcessor when there's new data.zachh
Otherwise changes to "incomplete" rows won't take effect until a new adapter is created. Test: unit and manual PiperOrigin-RevId: 181823087 Change-Id: I24e1b1b465c8d37cf794312b88b6cdd3ad394b5d
2018-01-11Merge PhoneLookupDataSource results into a proto in annotated call log.twyen
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
2018-01-11Minor polish and bugfixes for new call log.zachh
-Reuse the adapter in NewCallLogFragment to maintain position in call log when returning from call details -Convert empty values to null when invoking ContactPhotoManager to make photos appear correctly in new call log bottom sheets -Added CallLogContactTypes to be shared between proper call log and bottom sheets -Fixed vertical alignment in bottom sheet when there was no secondary text -Added some verbose logging Test: unit and manual PiperOrigin-RevId: 181655715 Change-Id: I9c1a42ad8d529ee2327e15fcc1d32b7b83982014
2018-01-09Added RealtimeRowProcessor.zachh
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
2018-01-02Add assisted dialing to the new call log.erfanian
Bug: 70506228 Test: new unit tests PiperOrigin-RevId: 180610636 Change-Id: I7f498df1a529737bf8473584836bdc3e04a5043c
2017-12-08In the coalesced call log, replace column NUMBER_CALLS with a new column ↵linyuh
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
2017-11-11Hook up pre-call actionstwyen
This CL replaces all instance of CallIntentBuilder.build() with PreCall.getIntent(), which when run as an activity, will finish building the intent with user interaction. Bug: 64216442 Test: manual PiperOrigin-RevId: 174924323 Change-Id: If41868df4c7ed078d03bd3431fa85b8947056a01
2017-11-03Show HD icon in call logs.wangqi
This change removes restriction of showing HD icon only for some Motorola devices. After this change, any devices writing android.provider.CallLog.Calls.FEATURES_HD_CALL into call logs' feature will be able to show HD icon. To be able to write HD features into call logs, both CarrierConfigManager#KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL and CarrierConfigManager#KEY_IDENTIFY_HIGH_DEFINITION_CALLS_IN_CALL_LOG_BOOL must be enabled. It's part of upstream change to enable HD icon in call logs: https://android-review.googlesource.com/#/q/topic:hd_icon_call_log Bug: 68108125 Test: none PiperOrigin-RevId: 174091763 Change-Id: I17c62153ebbc866c91acdaa7a7fcbd124594772b
2017-10-11Added basic bottom sheet to new call log.Zachary Heidepriem
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
2017-10-04Only show the most recent call type icon in the new call log, instead of the ↵zachh
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
2017-08-31Update Dialer source to latest internal Google revision.Eric Erfanian
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