summaryrefslogtreecommitdiff
path: root/java
AgeCommit message (Collapse)Author
2018-02-02Add assert check for INVALID NUMBERS in NUI Voicemailuabdullah
We do not expect any invalid numbers for the voicemail tab. We crash the app if an invalid number is detected in the NUI VM tab, so that we can handle invalid numbers for voicemail accordingly. Bug: 72863479 Test: N/A PiperOrigin-RevId: 184333020 Change-Id: Ifd769da08c7cba3aab555b56eef799de47810fb3
2018-02-02Split MainActivity into two peers, old and new to keep logic isolated.calderwoodra
This change updates MainActivity to defer lifecycle callbacks and other relevant methods to which ever peer is active, old or new. The old peer implements the logic for the old fragments. The new peer implements the logic for the new fragments. MainActivity implements the logic that is shared or common between the two like last tab, post call, search, dialpad, ect. Bug: 72525324 Test: pending PiperOrigin-RevId: 184317828 Change-Id: Ie73733f2a3837c9d63e54cf5b142984633340731
2018-02-02Refresh annotated call log from the voicemail tabuabdullah
This CL copies the code dealing with refreshing the annotated call log from the NewCallLogFragment and applies it to the NewVoicemailFragment. This is necessary since the NewVoicemailFragment should be able to refresh the annotated call log without depending on the user going to the call log fragment for the update. The only thing we don't copy over is the logic and handling when the CP2 info is incomplete for a number (INVALID number), however we do not expect any invalid numbers for voicemail and as such have added an assert for that. Bug: 72523272 Test: Unit Tests PiperOrigin-RevId: 184292549 Change-Id: I2994974fe60221a4854fed5f9d80d3d428449ae9
2018-02-01internal changeAndroid Dialer
Bug: 68825005 Test: Added unit tests on CallFeedbackListenerImpl, CallFeedbackNotificationManager and DialerCall. Also manually verified the change. PiperOrigin-RevId: 184211115 Change-Id: I50927036c3cd5d47862704376e2eef108c473fbf
2018-02-01Add suggestion reason ACCOUNTtwyen
Bug: 72817785 Test: Unit tests PiperOrigin-RevId: 184178722 Change-Id: I7154058ab7ac1a94adc781a1aa9a49a3f13c1599
2018-02-01Handle missing contact permission for preferred SIMtwyen
Bug: 72163953,72749906 Test: Unit tests PiperOrigin-RevId: 184167756 Change-Id: I19f4a71fb443fbb31960be486c3c5e996535fc32
2018-02-01This text is for dismiss button in dialog that's to dismiss the dialog afterwangqi
a call, instead of to hang up the call. Bug: 72120616 Test: none PiperOrigin-RevId: 184162123 Change-Id: I20dbdb258ad0640fa4ed8cf6492549ba9c62eda6
2018-01-31Implemented Last tab in NUI.calderwoodra
Now when the user exits Dialer NUI, next time they open Dialer they will return to the same location they were before. This change also preserves active tab through configuration changes. Bug: 72068052,72722083 Test: MainActivityIntegrationTest PiperOrigin-RevId: 184085830 Change-Id: Ic6d3bf7c9089b38d480dfc658127eec6c9c55bfb
2018-01-31Added old voicemail to NUI activity.calderwoodra
Bug: 72722364 Test: existing PiperOrigin-RevId: 184083186 Change-Id: Ia51a50b343f75eec74a02dc6b4383341f939793d
2018-01-31Updating Dialer v17 licenses.Android Dialer
Bug: 72757397 Test: 'N/A' PiperOrigin-RevId: 184082977 Change-Id: I3375fe14b81dffc4d8b54468c95b67ebe2b38fd1
2018-01-31Add a BatchSpamChecker for InAppSpam.linyuh
Bug: 72443587 Test: BatchSpamCheckerTest, SpamDatabaseUtilsTest PiperOrigin-RevId: 184076803 Change-Id: Ib11ca44190a28e28843ef4674c0abebc4203c46a
2018-01-31Implemented missed call/voicemail notifications in NUI.calderwoodra
This CL shows and updates the missed call/voicemail count in the bottom nav. It also clears the call log notifications when the user either leaves the call log fragment or closes the activity after 3 seconds of browsing the call log. Bug: 72525595 Test: tba PiperOrigin-RevId: 184071058 Change-Id: I540c9e3d815e022b5e311cb02a3995e241b8a984
2018-01-31Fullly disable VVM if carrier VVM app is installed.twyen
Previously it is only disabled when the user has not changed the VVM settings, and the user can still re-enable it. After this CL, VVM will always be disabled, and the settings will be hidden. Bug: 72668279 Test: Unit tests PiperOrigin-RevId: 184063245 Change-Id: I42c12f3fd2f3e397158e08b26875a7e99a766d33
2018-01-31Add arrow icon to bubble sound button when Bluetooth is connected.yueg
It's an indicator that the button triggers another list. Bug: 67605985 Test: manual PiperOrigin-RevId: 184042869 Change-Id: I3fea526a322dcc3935af111ebd0916b7c5ffcb24
2018-01-31Remove bubble from AOSP.yueg
Bug: 67605985 Test: NewBubbleImplTest, NewBubbleImplIntegrationTest, NewReturnToCallControllerTest PiperOrigin-RevId: 184026033 Change-Id: Ie141ce9a0265ce3a08c01943cdeb94e2cd962e9f
2018-01-30Limit new special codesroldenburg
Bug: 72162360 Test: SpecialCharSequenceMgrTest PiperOrigin-RevId: 183921310 Change-Id: I3a47106a42a6e7c3b903f595f690c7d125e72a04
2018-01-30Don't override contactExists if there is no update from Cequint Caller ID.wangqi
Bug: 72485878 Test: none PiperOrigin-RevId: 183915863 Change-Id: Ib035855d944c91145418222cc390be066744b4fb
2018-01-30Make default lastModified timestamp configurablemaxwelb
Bug: 72320869 Test: manually verified that the config value is used PiperOrigin-RevId: 183911716 Change-Id: I15bc2c4505306eb65446a792b305226255ae4315
2018-01-30Added old call log to NUI.calderwoodra
Bug: 72618828 Test: existing PiperOrigin-RevId: 183902491 Change-Id: I079aca188b52c29c12b3cae7e57bf71a4e883898
2018-01-30Add old speed dial fragment to NUI.calderwoodra
Bug: 72618868 Test: existing PiperOrigin-RevId: 183896896 Change-Id: I9b90aaa02e1c40f38fbbe636f4e51cfd01c570f6
2018-01-30Added badge count feature to bottom nav.calderwoodra
This Change doesn't actually fetch the badge counts, but it's now possible to set badge counts. Bug: 72525595 Test: manual PiperOrigin-RevId: 183887322 Change-Id: I452ca6352133befc8cc2a39c44cd84a33fd66d42
2018-01-30Allow delete of Restricted number entriesroldenburg
Bug: 72639087 Test: CallDetailsActivityTest PiperOrigin-RevId: 183872706 Change-Id: I2c3241b3b9059fe4ed82d79902a474df3d5975a4
2018-01-30Update FragUtils to encourage better readability in Activities.calderwoodra
Bug: 72525324 Test: existing PiperOrigin-RevId: 183776841 Change-Id: Ia78002d3da823a228cf5a29f93cd53ad21105f94
2018-01-29Added a hack for NUI because of a dependency cycle.calderwoodra
In order for NUI to include the old fragments, it needs a dependency on dialer/app. In order for Dialtacts to show the NUI shortcut, it needs a dependency on dialer/main. This change removes the requirement for Dialtacts by copying some of the code from dialer/main into dialer/app. Bug: 72525324 Test: existing PiperOrigin-RevId: 183769521 Change-Id: I29d00f22efecee35ca25f0b4172413c370f2506b
2018-01-29Use application context when fetching shared prefs.zachh
Using non-application contexts incurs extra disk access because shared prefs are cached per context. Test: manually ejected sim and observed no strict mode violations PiperOrigin-RevId: 183739285 Change-Id: I9337e226ae1e060478219cf495752ceccf5a31e6
2018-01-29Added is_valid and post_dial_portion fields to DialerPhoneNumber.zachh
These are frequently used attributes of numbers that we can compute once at parse-time. Also did some general cleanup of DialerPhoneNumberUtil: -Removed unused Future version of parse() -Remove formatToValidE164 now that the new fields are available -Inlined normalizeNumber() Bug: 72563861 Test: existing PiperOrigin-RevId: 183720128 Change-Id: I702dc265360e590439c5352c493ae8a858f36812
2018-01-26Reworked the internals of DialerPhoneNumber.zachh
It turns out the storing the libphonenumber representation of the number is not particularly useful because even formatting these objects cannot be done on the main thread. Rather than propagate the requirement of using PhoneNumberUtil (and background threads by extension) in the call log UI, we now just store a dialer-normalized version of the number which contains all information required by the UI in a way that allows us to avoid any background work in the UI code. Bug: 72563861 Test: existing PiperOrigin-RevId: 183463907 Change-Id: I4bdadaccb7a84033b3c72c54fe3833064f587ee3
2018-01-26Implemented Post Call in NUI.calderwoodra
Bug: 72525658 Test: PostCallIntegrationTest PiperOrigin-RevId: 183441836 Change-Id: Ie1f8da1a7e24b22c5aa79cfa2a1261beb23579a1
2018-01-26Disable phone icon for unknown numbers in NUI Voicemailuabdullah
The phone icon should be disabled for unknown numbers in the NUI Voicemail, so that those numbers may not be called. This should have the same logic as as what we do for the call log. Bug: 72449247 Test: Unit Test PiperOrigin-RevId: 183428831 Change-Id: If1ecc3b4d47de04bccf69ae735a619f6b33c3bbd
2018-01-26Pressing dial with an empty dialpad now queries the last number in NUI.calderwoodra
Bug: 72526019 Test: manual PiperOrigin-RevId: 183425741 Change-Id: Ied1b369d00baefe02db04ade26bee9faac4f829c
2018-01-26Disable seekbar user seekinguabdullah
By default the seekbar should be disabled unless being played or the voicemails have downloaded. This first part of the seekbar update ensures that a user is not able to seek, and the seekbar will only be updated automatically when the voicemail is being played. Bug: 7252855 Test: N/A PiperOrigin-RevId: 183419966 Change-Id: I4e492279402d76d3e1ece03dded9b402c88138c8
2018-01-26Add voice search to NUI.calderwoodra
Bug: 72525718 Test: MainActivityIntegrationTest PiperOrigin-RevId: 183418364 Change-Id: I30a4b7fe3e8a82c1b5cddcd747bd01ebd127b624
2018-01-26Added number presentation to AnnotatedCallLog.zachh
Updated the new call log UI to properly show text based on the presentation. Bug: 70989592 Test: unit PiperOrigin-RevId: 183414195 Change-Id: I2123f37cd3c733060125b6e894c1a80be4193ad6
2018-01-26Add enriched calling simulation.weijiaxu
Test: on a local device. PiperOrigin-RevId: 183414102 Change-Id: I56efda40994e9f0b84f462e42301adbf625273e5
2018-01-26Add logging that assisted dialing was used.erfanian
Previously we only logged during degenerative events. Bug: 72174016 Test: none PiperOrigin-RevId: 183392966 Change-Id: Ibf4b8ce08dff39e9bba2f698162683c2431d06eb
2018-01-25Implement initial calling in NUI Voicemailuabdullah
When a user presses the phone icon in NUI voicemail, we should make a phone call. This does not handle phone account handling and disabling showing the phone icon for unknown numbers (tracked in b/72449247 and b/72449246) Bug: 72449869 Test: Unit test PiperOrigin-RevId: 183318358 Change-Id: I075ae79ec6896f2b9244f990bd2a01493c495e07
2018-01-25Update preferred SIM SuggestionProvidertwyen
"remember this SIM" checkbox state is reported to the provider. The other SIM is reported to the provider when "change SIM" is used Bug: 70503524 Test: Unit tests PiperOrigin-RevId: 183308581 Change-Id: I3d097d14a503c759f130044c9a9c48c420eee19d
2018-01-25Remove non call log dependencies on PhoneAccountUtiltwyen
Methods moved to TelecomUtils Test: Unit tests PiperOrigin-RevId: 183305626 Change-Id: Idd6604e58c06a36066bd49870849dd71747969c6
2018-01-25Route speaker via speaker and headset when tapping speaker button in NUI VMuabdullah
Clicking the speaker button in the NUI VM for a voicemail entry alternates playing the audio via the speaker and headset. This CL does not change the state of the speaker icon, that will be done in a follow up CL (cl/183175378) and the todo for that has been added. Bug: 69858226 Test: N/A PiperOrigin-RevId: 183304029 Change-Id: I3a55e62ab8d1203f659a45db9534fd69deda122f
2018-01-25Show voicemail error messages for NUIuabdullah
This CL shows the voicemail error messages for both VVM and OMTP type voicemails. It hooks upto the existing error framework and retrieves the voicemail error states and then displays it. Bug: 71700117 Test: Unit Tests PiperOrigin-RevId: 183301455 Change-Id: Ib2b7fb957fbfd2af2227747d327cef466259eb6f
2018-01-25Prevent VvmNetworkRequestCallback from releasing twicetwyen
It is unclear from the docs or implementation what callbacks are invoked when the network is lost, or does the system release the callback for us somewhere else. In this CL VvmNetworkRequestCallback.releaseNetwork() will be guarded from calling twice, and log levels for callbacks are raised. Bug: 64243619 Test: N/A, repro steps unknown. PiperOrigin-RevId: 183298754 Change-Id: I5e589b2b59478b270890056fa08abb306ee1600c
2018-01-25By pass media player strict mode violationuabdullah
The media player throws a strict mode violation when setting the data source and calling prepare async. This currently makes the voicemail fragment unusable since you can't play voicemails. I've added a todo to remove this in the future. Test: N/A PiperOrigin-RevId: 183298572 Change-Id: I821a700cc7e60d0bdde7ec4d7b543dfa7acaf274
2018-01-25Explicitly disable strict mode during the assisted dialing action.erfanian
Dialing is a critical path and there is no opportunity to perform this action asynchronously. Starting in P we could leverage the libphonenumber instance that would live in PhoneGlobals and share that to warm up the disk reads. Bug: 70860471 Test: none. Unit tests do not trigger strict mode violations. PiperOrigin-RevId: 183292426 Change-Id: I607c6af4d725272152f31e619367fdde5ed07302
2018-01-25Set avatar as background instead of src.yueg
Since we don't need background any more, setting avatar as background makes elevation work on the same view. So we don't need setOutlineProvider() which might provide a different outline to the image's. Also fix an windowParams NPE. Test: manual PiperOrigin-RevId: 183289973 Change-Id: I452b3f2b66b1810839626f57449be7d10662f2c5
2018-01-25Reset invalid selected countries to the default value.erfanian
In some cases, we may revoke countries or make them otherwise unavailable to assisted dialing. In this case, we reset the preference back the the default value, which is always the zeroth value. Bug: 72322367 Test: new unit test PiperOrigin-RevId: 183238476 Change-Id: Ib5cf200f6da04e332b6248b04057d5de0f64d01f
2018-01-24Add skeleton for SpamPhoneLookuplinyuh
Bug: 70989534 Test: SpamPhoneLookupTest PiperOrigin-RevId: 183174131 Change-Id: I46e819a0710ccce293195594e2f249e91d74551a
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-24Bubble v2 a11y.yueg
- Set checkable for bubble buttons so the check status of non checkable button (back to call, end call) is not read. - Add support for bottom action buttons. Test: manual PiperOrigin-RevId: 183150371 Change-Id: Ifae9c912ec923e8d2cda3146413138bd2eb94b47
2018-01-24Add flag to enable NUI shortcut.calderwoodra
Bug: 64655802 Test: n/a PiperOrigin-RevId: 183149638 Change-Id: Idc58efced8f70311eccd67f403bc5bd98f3f8518
2018-01-24Rename "ApdlInfo" as "SpamInfo" in proto PhoneLookupInfo.linyuh
Bug: 70989534 Test: Existing tests PiperOrigin-RevId: 183145910 Change-Id: I60b0122fb236a7e7ee7b746867c40fefe0a3b487
2018-01-24Add support for forwarding more special codesroldenburg
Bug: 72162360 Test: SpecialCharSequenceMgrTest, manual PiperOrigin-RevId: 183138805 Change-Id: I57903a6b3bc30243e4f225d758d1ace550e8ab99
2018-01-24Define methods in Spam interface to be used later in the PhoneLookup for ↵linyuh
spam features. Bug: 70989534 Test: ApdlSpamTest, InAppSpamTest PiperOrigin-RevId: 183138320 Change-Id: I647568c31e234995f44d6cbeb2f97f73952db6bb
2018-01-24Link to the correct Assisted Dialing settings depending on platform version.erfanian
Bug: 72162646 Test: unit tests PiperOrigin-RevId: 183134859 Change-Id: I73d3349f0ff33188cfe0a121b7737a57155683c7
2018-01-24Add foreground service permissionroldenburg
Bug: 72116995 Test: built APK, verified permission PiperOrigin-RevId: 183126225 Change-Id: I0889ea619a21413e510a7b58143c5011ed81b688
2018-01-24Fixed a regression where we incorrectly reported that the dialpad was visible.calderwoodra
A request was made to update the value of #isDialpadVisible, in the process a regression was introduced that would cause #isDialpadVisible to return true when the dialpad's root view was null. This caused a NPE when we tried to animate it. We should now return the correct value in the scenarios important to our partners as well our users and animations. Bug: 64657832,72384544 Test: manual/logging PiperOrigin-RevId: 183122628 Change-Id: I981e944dbb003064163b8ec11883dbc5381cba0e
2018-01-24Add support for yesterday header in NUI Voicemail Tabuabdullah
Currently NUI only supports today and older, however we also need to support yesterday and be consistent with the call log. Bug: 69858354,72331988 Test: Unit Tests PiperOrigin-RevId: 183121631 Change-Id: Ica75164c28ee60a2f776287eefd7eed5db08e035
2018-01-23Updated nearby places search permission icon for Material.calderwoodra
Bug: 68272797 Test: manual PiperOrigin-RevId: 183023158 Change-Id: Iccee9278a89c944c443cb0d4022554ce7f634bab
2018-01-23Updated call number by NW is not displayedwangqi
CallCardPresenter updates a call number if the number is updated by NW. But the logic is worng. The comparing numbers are always same. Because it compares with the same objects in DialerCall#areSameNumber. This is a upstream change from: https://android-review.googlesource.com/c/platform/packages/apps/Dialer/+/556000 originating number is shown in the call screen. Bug: 70201489 Test: manual - Verified that a call number that changed from a PiperOrigin-RevId: 183022988 Change-Id: I04305998e77ca120b1248636c63984b3d20f0db1
2018-01-23Search no longer crashes if you don't have the contacts permission.calderwoodra
Bug: 71737256 Test: NewSearchFragmentTest PiperOrigin-RevId: 183020934 Change-Id: Ifed4364901ca77036fa6d0b149857fbbd7e9fca0
2018-01-23-Add cleaning blocked numbers stored in a separate database when people try ↵weijiaxu
to clean calllog database. Bug: 71898641,72104419 Test: On a local device. PiperOrigin-RevId: 183016474 Change-Id: Ib59bf558d5552e9b88c3feee1c47d96791fd542c
2018-01-23Don't garbage collect voicemails in AnnotatedCallLog.zachh
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
2018-01-23Bubble bottom action changes.yueg
- Hide bottom action view when bubble move canceled - Get display height every time when show bottom action view (onConfigurationChanged() won't be called when bubble is not visible) Test: manual PiperOrigin-RevId: 182979768 Change-Id: I989422c4ab5866b22c78bffbc82f229842a6dd9e
2018-01-23Contacts recyclerview is now hidden when we don't have contacts permission.calderwoodra
Bug: 71867982 Test: ContactsFragmentTest PiperOrigin-RevId: 182977635 Change-Id: Ibdefc49c76dd607c5f1316ae46da5e38f74c0e85
2018-01-23Moved coalesced_ids.proto and number_attributes.proto to ↵zachh
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
2018-01-23Write PhoneLookup results to PhoneLookupHistory in RealtimeRowProcessor.zachh
This is an optimization to reduce "popping" in the new call log. Since we have to do the PhoneLookup anyway to update the UI, we may as well write the result to PhoneLookupHistory so that the next time the AnnotatedCallLog is refreshed, the updated results can be retrieved from PhoneLookupHistory. I also updated RealtimeRowProcessorTest to use FakePhoneLookup rather than the real Cp2PhoneLookup since RealtimeRowProcessor no longer uses Cp2PhoneLookup directly (it was updated to use the general-purpose PhoneLookup in a previous CL but I didn't update the test at that time). Test: unit PiperOrigin-RevId: 182974567 Change-Id: I813e9d69f802ca08757238290fdfcf58e78b3592
2018-01-23Attempt to work around sqlite database cursor window issuemaxwelb
Bug: 72320869 Test: DialerDatabaseHelperTest PiperOrigin-RevId: 182964251 Change-Id: Ie6539ce27bcbd97b093a47e1f5882770fc345e59
2018-01-23Bubble change when display size change.yueg
- Set primary button background oval and transparent. - Provide outline for primary button since elevation doesn't work when background is transparent. - Re-draw bubble on configuration changed to propagate changes. Test: manual PiperOrigin-RevId: 182949653 Change-Id: I71e70d6fa43fa5867f9cf37002930c5a8dc42b06
2018-01-23Update Assisted Dialing references.erfanian
Test: existing unit tests PiperOrigin-RevId: 182949031 Change-Id: I40955c6e5f4fe06687880d3e9ef4b91ef9c0b371
2018-01-23Pressing back button twice really quickly no longer crashes dialer.calderwoodra
Bug: 72319656 Test: manual PiperOrigin-RevId: 182947143 Change-Id: I70ed303ba8cdb64591ab6debf60eef540aacea73
2018-01-22Move legacy voicemail/error to nui voicemail/listui/erroruabdullah
All packages relating to NUI voicemail should be under third_party/java_src/android_app/dialer/java/com/android/dialer/voicemail/listui. Since there is a chance that during NUI development the legacy third_party/java_src/android_app/dialer/java/com/android/dialer/app/voicemail/error might undergo changes, it makes sense to move this package to the nui, so that no changes in the legacy code are missed for nui. This refactoring would also allow us to ensure that the strings do not need to be translated and that most of the code can be re-used for nui by hooking up the fragment and adapter to voicemail/listui/error. Bug: 71700117 Test: Unit tests PiperOrigin-RevId: 182868896 Change-Id: I23329654df5ce2bf612101708ed001ca308ae1ac
2018-01-22Implement System blocked numbertwyen
This CL implements looking up blocked number in the Android system blocked number provider, which is available after N. Dialer and system blocked number will return empty if requirements are not made (N+ and migration completed is needed for system, otherwise dialer should not be used). Bug: 70989543 Test: Unit tests PiperOrigin-RevId: 182852672 Change-Id: I1360b7eed7c18f459292d769529ffcfceb61a7ed
2018-01-22Don't let the FAB obscure the last item of speed dial/call log/voicemail.linyuh
Bug: 72235391 Test: Manual PiperOrigin-RevId: 182848699 Change-Id: I587f5f4dd770278747114da17581c8fc253651c0
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-22For call log entry labels, remove the dot after abbreviated time units.linyuh
The platform utility adds a dot after time units (e.g., "8 min. ago") but we prefer not to have it (e.g., "8 min ago"). Bug: 70989595 Test: CallLogDatesTest, CallLogEntryTextTest PiperOrigin-RevId: 182838540 Change-Id: Ib8766a892aa04decb38917a6c5660804755725e0
2018-01-22Implement blocking commandstwyen
Test: Unit tests PiperOrigin-RevId: 182813080 Change-Id: I952f49352fb57c02c4efb9cc4ede84dc7c32c893
2018-01-22Properly display date and/or time of entries in the new call log.linyuh
Bug: 70989595 Test: CallLogDatesTest, CallLogEntryTextTest PiperOrigin-RevId: 182809700 Change-Id: I84b699536ae7f77e6c27db0b1b008e3ebc6216c2
2018-01-22Add simulator enriched call related to interfaces and stubs.weijiaxu
Test: on a local Device. PiperOrigin-RevId: 182809258 Change-Id: Ic996a31437d4b07cb2c7372005fe8d797757dfc0
2018-01-19Update Simulator to launch SpeakEasyAndroid Dialer
Test: PiperOrigin-RevId: 182625448 Change-Id: I4fe514c429a6b5a88060f326b0c73c2f3a960c1c
2018-01-19Improve & reorganize logic related to directories/remote contacts in the ↵linyuh
search fragment. Test: DirectoriesCursorLoaderTest, RemoteContactsCursorLoaderTest PiperOrigin-RevId: 182578207 Change-Id: I03c81bd8581c8abbef1bbca1a960f3380d588d22
2018-01-19Add the "Yesterday" header in the new call loglinyuh
Bug: 70989598 Test: NewCallLogAdapterTest, CallLogDatesTest PiperOrigin-RevId: 182567571 Change-Id: Ieabbe709668d843334bc3bf4a128834fddb57cb8
2018-01-19Bubble v2 layout changes.yueg
To display expanded view properly with display size and font size set to largest, we made the following changes: - increase expanded view width - use fixed expanded view button height - remove blue background behind avatar Test: manual PiperOrigin-RevId: 182565152 Change-Id: Ie4cea2c42b66320767e283144ddd5d7c5ff40e1c
2018-01-19Improved support for post dial digits in new call log.zachh
-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
2018-01-18Search, Dialpad, BottomBar and Toolbar now persist state through rotation.calderwoodra
Bug: 64655802 Test: MainActivityIntegrationTest PiperOrigin-RevId: 182460232 Change-Id: I59b5f6417dd4f1c2b56a9b8d08b9e12e0c51c411
2018-01-18Descrease bubble bottom text scaling factor.yueg
Also set TextView width according to the scaling factor so texts don't go off screen when scaling. Test: manual PiperOrigin-RevId: 182452685 Change-Id: If438f1b7e0432c2856bd2cb937adfc4131e57410
2018-01-18Fixed regression with search not reacting properly to on touch events.calderwoodra
There are a few interesting UX niceties that we support in search: 1) When in regular search with an empty query, close the UI if the user touches the blank space. 2) When in regular search with a non-empty query, hide the keyboard if the user touches the the list so they can see all results. 2) When in dialpad search with an empty query, close the UI if the user touches the blank space. 3) When in dialpad search with a non-empty query, hide the dialpad so the user can see the full list of results. This change also adds logic to transfer the dialpad query to the search bar. Bug: 64655802 Test: MainActivityIntegrationTest PiperOrigin-RevId: 182434126 Change-Id: Iabb73b0018fa20e2811010a73a35d3aa3b35343b
2018-01-18Pass PhoneAccountHandle into VideoTech isAvailableroldenburg
Bug: 71840382 Test: DuoImplTest, existing tests PiperOrigin-RevId: 182424150 Change-Id: I25607d43e1915d57134feac99b2c2240ae9559f9
2018-01-17Relax number matching when coalescing rows in new call log.zachh
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
2018-01-17Move onUiShowing() call from onResume/onPause to onStart/onStop.yueg
It makes sure bubble doesn't appear on split screen when in-call UI is not showing. Although bubble still shows in recents screen. It also make sure the same onUiShowing() is not called multiple times. Bug: 67605985,71746139 Test: InCallActivityTest PiperOrigin-RevId: 182280886 Change-Id: I2a28d0258c722d530000729a89751c6d6b1ee6fd
2018-01-17Support deleting PhoneLookupHistory rows with empty phone numbers.zachh
Test: unit PiperOrigin-RevId: 182280850 Change-Id: I51a89f50d56af344425d5f67c6bcaa3928b457e9
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-17Update "Call blocking" to "Blocked numbers"roldenburg
Bug: 27705124 Test: n/a PiperOrigin-RevId: 182275405 Change-Id: Ic70b34790956f2d3652a23800ba0f5e37cfefca8
2018-01-17Search query is now shared with the Search Fragment in NUI.calderwoodra
This change also adds the logic for triggering SmartDialDatabase updates in Activity#onResume so that Dialpad search has results it can show. Bug: 181512198 Test: n/a PiperOrigin-RevId: 182272002 Change-Id: I3f7f7795df5038c37c1c26e23f4fc816d515e41f
2018-01-17Moved SearchController into its own class.calderwoodra
It was starting to get pretty big and it's probably safe to say it deserves its own file now to declutter the main activity. Bug: 181512198 Test: existing PiperOrigin-RevId: 182264121 Change-Id: Id3314839bcd2fa10f48cc1f0df0bf202ce36ea3a
2018-01-17Updated toolbar and dialpad interactions in NUI.calderwoodra
Toolbar, Dialpad, Bottom Nav, FAB and Search now all show and hide properly according to the state of the application. Follow up CLs will include: - saving/restoring state - sending query to search fragment to display results Bug: 181512198 Test: MainActivityIntegrationTest PiperOrigin-RevId: 182259200 Change-Id: I1309d8df2a5425bf051e52a459a1f78e1157fe08
2018-01-17Take voicemail alert position into account for "older" header for NUI ↵uabdullah
Voicemail Tab The older header must take into account and be offset when there is a voicemail alert being shown. Bug: 71700117 Test: N/A PiperOrigin-RevId: 182243160 Change-Id: Ib38ba82e75fedf9a2939078447e4791f5239524c
2018-01-17Replace PhoneLookupSelector with PhoneLookupInfoConsolidator.linyuh
PhoneLookupInfoConsolidator is designed for the following two purposes. (1) Different sub-messages in a PhoneLookupInfo proto can contain information for the same purpose. For example, all of cp2_local_info, cp2_remote_info, and people_api_info have the information for a contact's name. PhoneLookupInfoConsolidator defines the rules that determine which sub-message should be used to display the name in the UI. This is the same as PhoneLookupSelector. (2) Avoid mixing info from different sub-messages when we are supposed to stick with only one sub-message. For example, if a PhoneLookupInfo proto has both cp2_local_info and cp2_remote_info but only cp2_remote_info has a photo URI, PhoneLookupInfoConsolidator should return an *empty* photo URI as cp2_local_info has higher priority and we should not use cp2_remote_info's photo URI to display the contact's photo. This is what PhoneLookupSelector is unable to do. Bug: 71763594 Test: PhoneLookupInfoConsolidatorTest PiperOrigin-RevId: 182236013 Change-Id: If19cdc1a9e076f3ebc8f9e2901f050b519e273f2
2018-01-17Correctly show the contact's photo in CallDetailsActivity when launched from ↵linyuh
the new call log. Bug: 70218437,71867391 Test: ModulesTest & Manual PiperOrigin-RevId: 182233967 Change-Id: I6eb4bf236230eee6bbecc99b128fef5afddfd1e9
2018-01-17Handle hiding bubble right after showing it.yueg
If hide bubble right after showing it, we should cancel animation, remove view and set visibility to HIDEN. Otherwise we can't retrieve correct bubble status later, thus hide/show bubble unexpectedly. It at least fix some cases of IllegalArgumentException. Bug: 71746139 Test: NewBubbleTest PiperOrigin-RevId: 182222155 Change-Id: If020b83cfffd9c643fd6fe3d2879a05e5969281f
2018-01-16Update string to include dashroldenburg
Bug: 26742642 Test: n/a PiperOrigin-RevId: 182144609 Change-Id: I4d4364892775c18224f37981d5e3f128dee086cc
2018-01-16Implement dialer command line interfacetwyen
This CL adds a generic interface to perform action and retrieve data in dialer. Test: Unit tests PiperOrigin-RevId: 182128015 Change-Id: Ib45ce9808bd4e0e4a9c9e05c0017e19c3213bb0d