summaryrefslogtreecommitdiff
path: root/java/com/android/incallui
AgeCommit message (Collapse)Author
2017-10-27Move the functionality of ↵linyuh
DialerUtils#getDefaultSharedPreferenceForDeviceProtectedStorageContext(Context) to StorageComponent. Bug: 30224215 Test: none PiperOrigin-RevId: 173612463 Change-Id: Ia89d5d85c31ea2114b196393ae43b803023fc9bf
2017-10-26Set incall button color to match sim color.wangqi
This change also add a handy adb command script run before UI integration test. Bug: 67429956 Test: IncallActivityTest PiperOrigin-RevId: 173565382 Change-Id: I9b8b957f00a0b7d11dbb7f40e8c9f1dbdb8c3928
2017-10-26App latency test migration.weijiaxu
Migrate the existing app latency test to a new solution from Project Fi team. The main change on this new solution is that the data collection part is done by Primes now. Also, a few changes has been made on DialerPrimes class and a new Dialer variant dialer_release_test has been created. The benefits of using primes to collect data are: 1. latency tests dont need to insert lines of code to track latency in dialer codebase 2. be able to collect data on any variants with or without Proguard 3. latency tests now only contain ui interaction to trigger scenarios on which we want add measurements 4. share the same logic with primes on production so that data from testbeds and normal users are comparable. 5. easier for anyone to add interesting data entries. ----------Mobile Harness Below----------------------------------- RELNOTES[INC]:Add entries for dialer to use mobileharness plugin. Test: No PiperOrigin-RevId: 173481741 Change-Id: Ia6812794141382898bea4b34bca90278c5663464
2017-10-26Display CDMA voice privacy icon on notification bar.Eric Erfanian
The locked phone icon will be shown for voice privacy call on CDMA for non-hold status(dialing, ongoing etc.) The onhold icon is same as usual. This change also update on hold icon to quantum vector drawable resources. WANT_LGTM=all Bug: 37529280 Test: StatusBarNotifierTest PiperOrigin-RevId: 173451922 Change-Id: I71d4c03b6953ca72def339c9c0a77bacbaf145f8
2017-10-25Fix crash that isInMultiWindownMode is not supported on M.wangqi
Bug: 68143529 Test: none PiperOrigin-RevId: 173439449 Change-Id: I80ebb4e8b17551144e492424e7aa6d92f26cc576
2017-10-25Fix TMO frozen ViLTE video upon swapping callroldenburg
We were not using the VideoTech interface for these calls and as a result could not restore the camera when swapping calls. Bug: 68160072 Test: manual PiperOrigin-RevId: 173437432 Change-Id: Iec1d363178e2332014f95246637c23f9040cdfee
2017-10-25Improved dagger support for executor services.zachh
By always creating executor services via dagger, we can now bind special versions during espresso tests that can implement idling resources. We should be using idling resources during espresso tests for threads that we create ourselves, because espresso does not know about them. Hopefully this reduces some of the flakiness of espresso tests that we have today. This required converting all existing calls to DialerExecutors to pass a context used to fetch the component, and also required creating new application classes for espresso tests. Test: temporarily added a task which just slept to DialtactsActivity and verified that its integration test failed due to idling resource timeout PiperOrigin-RevId: 173334773 Change-Id: I876a93022d235d62cfc377bf5b06687e21a34758
2017-10-24Rename the new bubble package name from "bubble" to "newbubble".Eric Erfanian
It fixes AOSP for package name conflict. Test: manual PiperOrigin-RevId: 173298696 Change-Id: Id10ebe0bcf029e61f65cf6580c7198abd8395081
2017-10-19Fix NPE in TelecomAdapter.stopForegroundNotification().yueg
In InCallServiceImpl.tearDown(), we should only clear inCallService after InCallPresenter.tearDown() where we remove all notification. Also remove null assertion in stopForegroundNotification() since other crash should only happens when there is no notification. Test: StatusBarNotifierTest PiperOrigin-RevId: 172657924 Change-Id: I86e720b80f885aa93f12215fda899ee62eeaba5b
2017-10-17Stop showing partially matched numbers that are not global phone numbers.linyuh
When determining whether two phone numbers are identical enough for caller ID purposes, the Contacts Provider ignores special dialable characters such as '#', '*', '+', etc. This makes it possible for the cursor returned by the Contacts Provider to have multiple rows even when the URI asks for a specific number. For example, suppose the user has two contacts whose numbers are "#123" and "123", respectively. When the URI asks for number "123", both numbers will be returned. Therefore, the following strategy is employed to find a match. If the cursor points to a global phone number (i.e., a number that can be accepted by PhoneNumberUtils#isGlobalPhoneNumber(String)) and the lookup number in the URI is a PARTIAL match, the cursor is a match. If the cursor points to a number that is not a global phone number, the cursor is a match iff the lookup number in the URI is an EXACT match. There is no matched cursor in all other circumstances. UI demo: Suppose the user has a contact named "Service1" with number "#123". Before: Incall UI after the user dials "123": https://photos.app.goo.gl/xFWCD4qy2VR3YEuJ2 Call log UI after the call ends: https://photos.app.goo.gl/FT28GdTBy1dtANtI2 After: Incall UI after the user dials "123": https://photos.app.goo.gl/Io3BisQmsyfnvitV2 Call log UI after the call ends: https://photos.app.goo.gl/6GgRrmx75yUTga3B3 Bug: 30225112 Test: PhoneNumberHelperTest PiperOrigin-RevId: 172505648 Change-Id: Ida554313455ff9ce40432897681f89f58d64af04
2017-10-17Some cleanup of incoming call latency.wangqi
1. Only update secondary info when it's changed. 2. Removed redundant call to update notification on activity start (b/36649622) 3. Use same call back for notification update from contact info query to avoid duplicated call backs. The actual latency reduction is insignificant (<10%). Bug: 36649622,64542087 Test: manual PiperOrigin-RevId: 172475223 Change-Id: I1c91cb5715287991de774a1d9b95e4c8b722d28f
2017-10-16Finish AudioRouteSelectorActivity in onAudioRouteSelected.yueg
In previous change, we use AudioRouteSelectorDialogFragment.onCancel() instead of onDismiss(). And selecting an item only calls onDismiss() instead of onCancel(), so the activity is not finished. In this change we finish the activity when an item is selected. Test: manual PiperOrigin-RevId: 172342660 Change-Id: I2d34874ae9e1a7e5ad858b4f1ba855b48647d995
2017-10-16Rename Lightbringer to Duoroldenburg
Now that our Duo integration is public, we no longer need a code name. To avoid any disruption, logging and config related names were not changed. Bug: 63753964 Test: manual, existing tests PiperOrigin-RevId: 172172738 Change-Id: Ib9d3d80761944d850c8c4886def9fef9a28539a4
2017-10-13Enable Lightbringer upgrades on Mroldenburg
Test: existing tests, manual (tested on Nexus 6 running M) PiperOrigin-RevId: 172122858 Change-Id: Ib22e33de3ed134cf76a06af54d054dbb92f91039
2017-10-12Optimization for incoming call latency.wangqi
There are many binder call triggered by IPC on main thread. This change will try to reduce them by caching thing that's bound to a call. It reduce total binder transaction from 1002 to 664 and saves ~11% latency of incoming call on locked screen. 1. Cache isVoiceMailNumber in DialerCall 2. Cache call capable accounts in DialerCall 3. Cache current country iso in DialerCall 4. Don't set orientation change if it's not changed. This change also add lots of trace info. It won't affect release build though since they are stripped out by proguard. Bug: 64542087 Test: manual PiperOrigin-RevId: 171901266 Change-Id: Iec48f030529aa59974212147276f6d0ae121872a
2017-10-12Fix for voice screen showing for a short time when making a video callroldenburg
Author: tomoyuki.nishikawa@sony.com This change was inspired by http://aosp/508735 Even though VideoProfile.isVideo(getVideoState() returns true when starting a video call, ImsVideoTech is not ready until call.getVideoCall() returns not null (see https://android.googlesource.com/platform/packages/apps/Dialer/+/master/java/com/android/incallui/videotech/ims/ImsVideoTech.java#66) During the time between VideoProfile.isVideo(getVideoState() being true but call.getVideoCall() returning null, we are incorrectly showing the phone call UI instead of the video call UI. To fix this, we need to trust the VideoProfile check in addition to the VideoTech check. We still need to check VideoTech for other video options aside from just IMS VT. Bug: 67712159 Test: manual PiperOrigin-RevId: 171892356 Change-Id: Ibe1f9de60aaa4adc971401bee0277961cfe037e4
2017-10-12Fix incallui to use latest ux mocks for assisted dialing.erfanian
* Remove old language icon from bottom row. Screenshot=In change as scuba test Bug: 64205446 Test: new unit tests PiperOrigin-RevId: 171858076 Change-Id: Idf781be193dae3593f778af1ac833f046abd87e3
2017-10-11Implement SIM swappingtwyen
When the call is still ringing, a new button is added to allow to user to call with the other SIM. A background worker will be created to hang up the phone and redial with the other SIM. The in call UI will be prevented from ending during the process. Video: https://drive.google.com/a/google.com/file/d/0B2eYBUUznfyTSl9MdXQ0V1ZzQkE/view?usp=sharing UX has not been finalized, the icon and position are just placeholder. Bug: 64215256 Test: SwapSimWorkerTest PiperOrigin-RevId: 171715715 Change-Id: Idb3f486e9fc9a45d4c5e244af2d7d91b075bf0f2
2017-10-10Show "Incoming video call" instead of "Incoming call" for ViLTE notification.yueg
Test: StatusBarNotifierTest PiperOrigin-RevId: 171588023 Change-Id: I05e176ef1032da00c4b75a83e92f39e8293d598e
2017-10-09Partial revert of cl/170369554 to fix video call ringing screenroldenburg
Tracking bug to fix the refactoring: http://b/67512378 Bug: 67470678 Test: manual PiperOrigin-RevId: 171553078 Change-Id: Ib83e4240d6024347f97d246f9b526c3ccbf02057
2017-10-09Implement InCallUiLocktwyen
When any locks are acquired, the InCallActivity will not auto-finish when there are no active calls. The disconnected cause and reject with SMS dialogs are migrated to use this API, which prevents the activity form ending before the user has finished interacting with the dialogs. Bug: 64215256 Test: InCallPresenterTest PiperOrigin-RevId: 171362338 Change-Id: Ied07ebbf6bee056ea6b2314c57f3324561b1651a
2017-10-06Show on hold in management screen for conference call.yueg
Do the following when a participant is on hold: - Add "On hold • " in front of the number - Gray out avatar and text (contact name & number) Notice: We only have the on hold state information for VoLTE conference call and IMS conference call. So the change only works for them (not for GSM/CDMA conference call). Test: ConferenceManagerPresenterTest PiperOrigin-RevId: 171345423 Change-Id: Ie5fe2fc1097f4858604283989dcb916c2ac21972
2017-10-06Tag incoming call notification with SIM label on multi-SIM devicestwyen
The label is colorized with the SIM color, if the system UI decides to respect it. screenshot: https://screenshot.googleplex.com/PzkCKdQJ7Wy Bug: 64215023 Test: StatusBarNotifierTest PiperOrigin-RevId: 171234005 Change-Id: I684753b6181bdfe601244d01ab608fcd5d5dc422
2017-10-05Fix bug that clickling buttons on spam notification has no effect.wangqi
This is a regression caused by cl/165479077. Bug: 63038002 Test: manual PiperOrigin-RevId: 171193536 Change-Id: Ib0ca2af64b5fdce2b5f3c78f171b8d5fe0388f47
2017-10-04Do not crash when LightbringerTech receives device orientation updateroldenburg
Bug: 67379105 Test: LightbringerTechTest PiperOrigin-RevId: 171069656 Change-Id: I8aa9d5a1886d98b6039eeec993b91dd2b600d415
2017-10-04Make incoming and ongoing call notification foreground and highest priority.yueg
Use startForeground()/stopForeground() for posting notification instead of NotificationManager.notify()/cancel(). It makes incoming and ongoing notification foreground and not able to snooze. It also colorize ongoing call notification for Android O, since we already setColorized(). Use setPriority(Notification.PRIORITY_MAX) for pre-O, and NotificationManager.IMPORTANCE_MAX for O. It makes incoming and ongoing notification stay on the top. Test: StatusBarNotifierTest*2 PiperOrigin-RevId: 170924163 Change-Id: Iab1415b0161a4623a1ccf52d3948f32b6f93eeb2
2017-10-03Adjust the location update frequency for emergency callsmdooley
Sometimes takes many seconds to get an accurate location during an emergency call. With this cl we use a high frequency update rate (5 seconds) until we get an accurate location, and then we decrease the update rate (30 seconds) to save power. Bug: 67317743 Test: manual PiperOrigin-RevId: 170770361 Change-Id: Ib6415145f6a62125f4b458e242ebe23409f9d406
2017-10-03Fix issue that the connection icon is placed a little left from centererfanian
When status text is empty, VoWiFi icon is placed a bit left from center because the view of connection icon is containing margin between the tatus text. Fix to remove margin from the icon when the text is empty. Public-Origin-Change-Id: Ic302104d85fa9114bebb5688f3e8028d398d1921 Signed-off-by: Eric Erfanian <erfanian@google.com> Author: Kousuke Kitahara <kousuke.kitahara@sony.com> Bug: 66075997 Test: scuba tests PiperOrigin-RevId: 170753786 Change-Id: Ifde98a8c04ba3dc2233439957a74fc4f54b444fa
2017-10-03Fix incorrect information in LightbringerTech log lineroldenburg
Test: manual PiperOrigin-RevId: 170511271 Change-Id: Ief58171c675c6ece3cea5055abb6836487f23f9c
2017-10-02Fix bug that phone number is shown for local contacts.wangqi
This is a regression caused by cl/169961072. This change will make sure phone number is only shown on top row for non-local contacts if the name is not number and the call is active. Bug: 67047386 Test: TopRowTest PiperOrigin-RevId: 170424277 Change-Id: I9b3ab9432a938b2fb1c6632f2d9404bee413588f
2017-10-02Updating emergency location code to use non-deprecated location apismdooley
Also tuning the location request accuracy and minimum update interval. i noticed during testing that we often get locations with uncertainties greater than our threshold (100 meters), which we ignore. That combined with the long update interval can result in not showing a location for a long time. Bug: 67046739 Test: manual PiperOrigin-RevId: 170407138 Change-Id: I1a84088f9fa09b474b07e375b92af25852dd6f46
2017-10-02Fix audio route selector.yueg
1. Use onCancel() instead of onDismiss(). onCancel() is not called when changing orientation, so it won't crash on getParentUnsafe(). onCancel() is also not called when pressing home button, but it will be handled by AudioRouteSelectorActivity.onPause(). b/67013452 will happen after the fix. 2. Use FLAG_ACTIVITY_NEW_TASK and FLAG_ACTIVITY_MULTIPLE_TASK when starting AudioRouteSelectorActivity. This prevents showing Dialer with AudioRouteSelectorActivity. The downside is that the activity is no longer excluded from recent screen. The two fixes can affect each other, so they are in one CL. Video: https://drive.google.com/open?id=0Bz1rQbdSCWSKYVJkd3R1SkI4c3c Test: manual PiperOrigin-RevId: 170404203 Change-Id: Ifa8ebcd566670115d3865b0d67c311c296fbbd51
2017-10-02Fix crash on hanging up simulator video call.wangqi
The problem is that InCallActivityCommon#onStop will try to commit any fragment which will crash. This change also fix a bug that simulatorRemoteVideo is not stopped after hanging up. Bug: 67045513 Test: manual PiperOrigin-RevId: 170380589 Change-Id: I25e0f43141eaa573189f4d9c0109fd2689c10374
2017-09-29Fix crash on incoming video call when video upgrade call is pending.wangqi
This is a upstream fix from AOSP: https://android-review.googlesource.com/#/c/platform/packages/apps/Dialer/+/475598/ Bug: 63608380 Test: none PiperOrigin-RevId: 170365033 Change-Id: Id58cf4c67a3b0144521622a14997a83403017bee
2017-09-28Refactor DialerStrictMode into an interface.wangqi
-bypassed violations are no longer logged in AospDialer The default implementation will use system strict mode and crash on bugfood build same as before. Bug: 66003745 Test: manual PiperOrigin-RevId: 170214128 Change-Id: Iab630f19499e90b15eb0b7f0707b4a70c7d81fbe
2017-09-27Bypassed some strict mode violations.zachh
These are old code and considered to be grandfathered in. Cleaned up some warnings in GoogleLocationSettingHelper. Bug: 66498656 Test: none PiperOrigin-RevId: 170090310 Change-Id: I2c43564af751eb5f431a395d75afa5ce126b5d18
2017-09-26Increase location title lengthmdooley
Need to increase character limit for location title text as the title string is now longer than the original character limit. This should have been part of cl/169270157 Bug: 66330058,66330115,66411110 Test: none PiperOrigin-RevId: 169967227 Change-Id: Ib49da4086c190d60da832d4ef64689e44b114150
2017-09-26Fix bug that phone number is not shown for non-contacts. (CNAP, business etc.)wangqi
Phone number should always be shown for non-contacts. Screenshots: https://screenshot.googleplex.com/guKEWdQKDpG https://screenshot.googleplex.com/iMcPte5Vhyc Bug: 64685156 Test: TopRowTest PiperOrigin-RevId: 169961072 Change-Id: Iaf8fc5b1e7f3d386d20deb01f4325efb5e645363
2017-09-26Upgrade and refactor latency test over Dialer. Now it has Incall UI latency ↵weijiaxu
besides app launch latency. Alert functionality is not included in this cl. Add a new idlingResource for incall ui and a new method called waitForInCallUiShown in DialerCallEspresso. Add UiListener interface in CallList and insert uilisteners on onCallAdded() and onInCallUiShown(). Also, a g3doc page has been created in http://cl/168901452 to show the dashboards. Test: Run on a local device PiperOrigin-RevId: 169934618 Change-Id: I0ea10aca051c62cd8252ee5a3c9dfbce81316a33
2017-09-26Update text of call back number in emergency calls.wangqi
Screeshot: Before: https://screenshot.googleplex.com/bnByOaCTV4O After: https://screenshot.googleplex.com/v0vhkuuvT28 Bug: 38347145 Test: manual PiperOrigin-RevId: 169933363 Change-Id: Ia3728be488ff329531c171b03a3045f1839d1d5e
2017-09-25Fix crash on ending call.yueg
We moved onUiShowing() call from InCallActivityCommon.onPause to onStop in cl/169615685, which causes the crash since InCallPresenter is cleared up before calling onUiShowing() and mContext is null at that time. This CL fix the crash by also moving the clearup(InCallPresenter.unsetActivity()) from onPause to onStop. It also makes sense because InCallPresenter.onActivityStarted() is called in onStart instead of onPause. Test: manual PiperOrigin-RevId: 169756942 Change-Id: I222009be1b672f8a6dcb8bfdcea2d633c5810575
2017-09-22Log non-contact lightbringer actionstwyen
video call upgrade and calling from call log is logged Bug: 66222115 Test: DialerCallTest, GoogleCallLogAdapterTest PiperOrigin-RevId: 169703001 Change-Id: Ib4dc3507dec09f49d41cec09d32cc9800477ee8b
2017-09-22Don't show bubble when InCallActivity is visible in multi screen mode.yueg
By moving InCallPresenter.onUiShowing() from InCallActivityCommon.onResume/onPause to onStart/onStop. Test: manual PiperOrigin-RevId: 169615685 Change-Id: I146a5d87028040b0f5e587b8163f29d55b9e7ff7
2017-09-22Update ViLTE strings to reflect "carrier" video callingroldenburg
Outgoing video call: https://drive.google.com/open?id=0B7uuA4cyYX0xQjhUTGhrUWRKUlE Incoming video call: https://drive.google.com/open?id=0B7uuA4cyYX0xZFMyREVDWVNqaE0 Outgoing upgrade: https://drive.google.com/open?id=0B7uuA4cyYX0xdll3elRsUWhDT3M Incoming upgrade: https://drive.google.com/open?id=0B7uuA4cyYX0xZFMyREVDWVNqaE0 Incoming upgrade (Wi-Fi): https://drive.google.com/open?id=0B7uuA4cyYX0xWkJ6dU16Rmd1ckk Bug: 65131278 Test: manual, screenshots PiperOrigin-RevId: 169612967 Change-Id: I5163be6966ed7d68d19cff51e0d1637bd20b2c7e
2017-09-22Better handling country iso when getting geo location of phone number.wangqi
1. Use existing country iso info instead of guessing current country iso from sim and locale for blocked number. 2. Use country iso of current sim instead of default sim for incall location info. This fixes bug in multi sim device when default sim is out of service and making call with the other sim. Bug: 65399976 Test: manual PiperOrigin-RevId: 169554641 Change-Id: I416d7e2d6bc3c872bfec3eda4005a5a1684f0e40
2017-09-22Updated ongoing call notification to reflect video call state.calderwoodra
screenshots: ongoing: http://screen/FkAM9hOU5Rq paused: http://screen/mrp6UJCoWAu Bug: 63274792,63271690 Test: StatusBarNotifierTest PiperOrigin-RevId: 169469414 Change-Id: I442e21d93b7e11dea191311acd28846ea257c156
2017-09-22Refactor CallList to call onUpdateCall and notifyGenericListeners directly.wangqi
Bug: 62426694 Test: none PiperOrigin-RevId: 169447674 Change-Id: I3014b289c26d24ac571421bc54fcacc303278b41
2017-09-22Update package assets and strings.Eric Erfanian
Test: TH Change-Id: I48e807f3eafbc82401b2674a2610b20bf118c275
2017-09-20Add more logging when video surface texture is destroyed.wangqi
Bug: 63608380 Test: none PiperOrigin-RevId: 169425768 Change-Id: I297b945c9601bb070f3ef08d7ca34a76629b42c7
2017-09-19Refactor second call logginguabdullah
Just easier readability since getFirstCall() is null until it's added to the call map. Test: N/A PiperOrigin-RevId: 169287247 Change-Id: Ifda5ead27d987e17f259da761a0109d930efa6c3
2017-09-19Perform remote reachability query if caller is not in contactstwyen
Lightbringer.supportsUpgrade() is changed to return absent optional when it does not have data for the number. Seeing this LightbringerTech will use Lightbringer.updateReachability() to retrieve it from the remote package, which will store it in the reachability cache. Bug: 63601277 Test: RemoteReachabillityQueryHandlerTest, LightbringerTechTest PiperOrigin-RevId: 169283953 Change-Id: I3f26d9158fc6cfed196fd533da2aad598c8e6a7a
2017-09-19Tweaking emergency location textmdooley
Bug: 37242283 Test: none PiperOrigin-RevId: 169270157 Change-Id: Ic07df7a1611ebf1b997f1a908fa341f9bf542cbd
2017-09-19Add "Turn speaker on"/"Turn speaker off" action button in notification.yueg
Add action button when create in call notification and when audio state changes to ROUTE_SPEAKER or ROUTE_WIRED_OR_EARPIECE. Ignore when audio state is ROUTE_BLUETOOTH. Screenshot: Speaker on: https://screenshot.googleplex.com/hnsQL0YcFJj Speaker off: https://screenshot.googleplex.com/oFrbvbs9gVG Test: StatusBarNotifierTest PiperOrigin-RevId: 169169372 Change-Id: I2f96f20170dd174b35dfd3f7578fe5b9450391ab
2017-09-18Log if a call is IMS reachable.yueg
And fix a related test in ImsVideoTechTest. LOG_STORAGE_INCREASE(GB/week): 0.7 5M active block user/day * 10 events/active = 350M event/wk 350M event/wk * (2 [bool])/event = 0.7GB/wk Test: LoggerUtilsTest PiperOrigin-RevId: 169153878 Change-Id: Ia8038a5b0961f1a5572541f21df7a2680d85bbbb
2017-09-18Use logCallImpression for bubble expand/collapse if possible.yueg
So we can associate all bubble actions with call id, and analyze bubble actions per call session. Also move code for sending primary action back to primaryButtonClick(), which is introduced in cl/167347311. Test: manual PiperOrigin-RevId: 169152088 Change-Id: I97f0971f162684d882f6addbc012f6e8552216b7
2017-09-18Always show line1 number in emergency call.wangqi
The subcription number might be different than the line1 number (sim number), which could be confusion to user during emergency call when it's not same as the sim number the user knows of. Bug: 65685277 Test: manual PiperOrigin-RevId: 169147724 Change-Id: I2f89559d10a188b13937e80528b756cc9b11a02e
2017-09-13Setup SMS filter even if VVM is already activatedtwyen
VVM can be "activated" through restoring shared preferences from another device. In this case the SMS filter in telephony is still not configured, and needs to be set up. Bug: 65542413 Test: ActivationTaskTest PiperOrigin-RevId: 168560153 Change-Id: I46dd9b31e43899d8d567e7e6baebf06559548525
2017-09-13Log swiping and clicking for switching tabs.yueg
If it's a swipe, onPageScrolled() is called several times before onPageScrollStateChanged(SCROLL_STATE_SETTLING) and onPageSelected(). If it's a click, only onPageScrollStateChanged(SCROLL_STATE_SETTLING) is called before onPageSelected(). And onPageScrollStateChanged(SCROLL_STATE_SETTLING) will not be called if user don't switch to a new tab. We use the difference to tell if user switching tabs by swiping or clicking. Test: DialtactsActivityTest PiperOrigin-RevId: 168403148 Change-Id: Iaaf84ab9c4955d0bc2c1e9857ba59fd37b3984af
2017-09-11Fix bubble crash when dismiss audio route selector dialog.yueg
When AudioRouteSelectorDialogFragment tries to call onAudioRouteSelectorDismiss() on its parent AudioRouteSelectorActivity, the parent might already finish, which causes NPE. We should make sure the fragment is dismissed and removed before the activity finished. We do it when activity onPause because we don't expect it to resume. Test: AudioRouteSelectorDialogFragmentTest PiperOrigin-RevId: 167607068 Change-Id: Ifd2efcc92eb45262da2c6441bfac8119799d78f2
2017-09-11Switch Dialer to use new third_party bubble librarysail
This CL switches Dialer to use the new common bubble libary. It also moves the integration tests into the bubble libary. Bug: 64797730 Test: BubbleIntegrationTest PiperOrigin-RevId: 167439680 Change-Id: Ie2e9367cb6a6561efb8abd425b6a12f8c1e78138
2017-09-07Fix crash when Context is null in InCallPresenterroldenburg
We need to use the Context to check if the device is a ODR device for a workaround (http://cl/165734624). It turns out the Context can be null (rarely). In those cases, we should not crash. Bug: 64954483 Test: manual PiperOrigin-RevId: 167326838 Change-Id: I4d8d8de86b5e3a4eca165a562f2ddc6106052c6e
2017-09-07Use simulator to add in-call UI integration testssail
This CL uses the simulator connection service to perform integration tests for incallui. The main pieces of this CL are: - DialerCallEvent - this is how we track changes to the incallui calls - Simulator.Event - this is how we track changes to a simulator connection With the above two we can do things like: - block until a DialerCall switches from ACTIVE TO ONHOLD: - DialerCallEspresso.waitForNextEvent(tracker, call, new DialerCallEvent(STATE_CHANGE, "ACTIVE", "ONHOLD") - block for a connection to recive a particular DTMF code: - SimulatorConnectionEspresso.waitForNextEvent(call, Event.DTMF) Future CLs will include things like: - fling to answer / reject - conference calls - screenshot diffing - video calling Test: InCallActivityTest PiperOrigin-RevId: 167211015 Change-Id: Ib013b10fe963092fad0816b07b1659efd69d9468
2017-09-06Lazy loading animation of hd icon.wangqi
This save us ~180ms on Go device. (analyzed by systrace) This change also adds some trace information on incallui. Bug: 64542087 Test: manual PiperOrigin-RevId: 167201182 Change-Id: I0e8549cfb3534d518e3990696616855bcf7733f2
2017-09-06Use TelecomManager#isInManagedCall starting from O.wangqi
The TelecomManager#isInCall method returns true anytime the user is in a call. Starting in O, the APIs include support for self-managed ConnectionServices so that other apps like Duo can tell Telecom about its calls. So, if the user is in a Duo call, isInCall would return true. Dialer uses this to determine whether to show the "return to call in progress" when Dialer is launched. Instead, Dialer should use TelecomManager#isInManagedCall, which only returns true if the device is in a managed call which Dialer would know about. Bug: 36991070 Test: none PiperOrigin-RevId: 167200903 Change-Id: I12ac7b893dcbfa2fc842ca5ab356fbbc490a098b
2017-09-06Added presubmit check to remove static imports from third_party java/calderwoodra
Test: http://screen/9eBrOUZj90T PiperOrigin-RevId: 167099613 Change-Id: I3ae96b376ced290ff9d1f328cfaf29b8f8fce979
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
2017-05-31Update Dialer to v10 RC45.Eric Erfanian
This release was created following the instructions at: go/dialer-aosp-release Subsequent dialer releases will follow as O bugs are fixed, until we reach our final RC. Version: 10 Candidate: RC45 Branch: dialer-android_release_branch/153304843.1 dialer-android_20170416.00/dialer-android_20170416.00_RC45 This release contains the following bug fixes since RC39: Bug: 38131932 38302993 38347350 38368993 38395481 62100344 Test: make, on device Change-Id: Ib4af5dcc58c684d51ea1f4628b301e40184b81b3
2017-05-26Set camera to null when disabling IMS video transmissionSailesh Nepal
From Tyler's investigation: In the past (Marshmallow days) we used to call setCamera(null) as well as sending the downgrade request. Stopping the video transmission is one thing but I think the modem implementation depends on the camera being nulled to clean up its resources. (This CL is a manual cherry pick of cl/157154988 from google3 to gerrit.) Bug: 38395481 Change-Id: I7f71c1ffb7194165b8968cd4a033ffea1af443ed
2017-05-23Update Dialer to v10 RC39Eric Erfanian
This release was created following the instructions at: go/dialer-aosp-release Subsequent dialer releases will follow as O bugs are fixed, until we reach our final RC. Version: 10 Candidate: RC39 Branch: dialer-android_release_branch/153304843.1 dialer-android_20170416.00/dialer-android_20170416.00_RC39 This release contains the following bug fixes since RC32: Bug: 38137349 38249439 38299262 38329114 Test: make Change-Id: I65f695db8aa20902fa60835d58b41cfdfe42704b
2017-05-15Update Dialer to v10 RC32Eric Erfanian
This release was created following the instructions at: go/dialer-aosp-release Subsequent dialer releases will follow as O bugs are fixed, until we reach our final RC. Version: 10 Candidate: RC32 Branch: dialer-android_release_branch/153304843.1 dialer-android_20170416.00/dialer-android_20170416.00_RC32 This release contains the following bug fixes since RC17: Bug: 33176679 33272455 3646510 36773894 37297649 37413780 37513689 37640315 37680595 37698062 37873639 37901752 37919295 37953423 38062852 38069600 38137349 38173549 38180252 38191514 Test: make, on device Change-Id: I4e4bb630082758e418ff24892b7db3142c6eb09a
2017-05-04Update Dialer to V10 RC16Eric Erfanian
This release was created following the instructions at: go/dialer-aosp-release Subsequent dialer releases will follow as O bugs are fixed, until we reach our final RC. Version: 10 Candidate: RC16 Branch: dialer-android_release_branch/153304843.1 dialer-android/dialer-android_20170416.00/dialer-android_20170416.00_RC16 This release contains the following bug fixes since RC00: Bug: 37324705 35304403 36067503 35304446 33203808 37280992 37346084 35766990 37481880 37424493 36470282 37347691 37519015 37168472 35805360 37545472 27704934 36515614 35766990 37577470 34739750 35801628 36788693 35264204 36708536 37628370 36904650 37314436 37642171 37530847 37637799 37666625 37548549 37648036 37636412 37323529 37630507 35919141 37198343 37548572 36178218 37640315 37663896 37720467 37275944 37710497 31634477 37744796 37348506 37744796 37568534 37672424 34872683 34873026 37681461 34873295 37748373 37526812 37618638 37663896 37536088 37727455 37165687 36651204 36900708 37323529 36902926 37256480 37328353 37432034 37436952 34093562 37720889 37321935 37780300 37781115 37755902 36588206 34258266 37290464 37698062 37618638 37473004 37432034 37918676 37870494 37722091 Test: make, on device Change-Id: I99e1a484ccd578c1f8a13e7a6a4b4952f0791297
2017-05-03This change reflects the Dialer V10 RC00 branch.Eric Erfanian
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
2017-04-06Update AOSP Dialer source from internal google3 repository atEric Erfanian
cl/152373142. Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/151342913 (3/27/2017) to cl/152373142 (4/06/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: I2fbc88cf6867b90ac8b65f75e5e34468988c7217
2017-03-27Update AOSP Dialer source from internal google3 repository atEric Erfanian
cl/151342913. Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/151128062 (3/24/2017) to cl/151342913 (3/27/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: I8d4855628b62e9067e71f32ed40317617a1e3b02
2017-03-27Update AOSP Dialer source from internal google3 repository atEric Erfanian
cl/151128062 Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/150756069 (3/21/2017) to cl/151128062 (3/24/2017). Notable this release: - Explicitly enumerate host and target dependencies. - Update proguard flag references. This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Bug: 33210202 36511925 Addresses 33210202 - Proguard support 36511925 - Compiler warnings when building against platform sdk Change-Id: I448ec3b3f2358886859cf7a4ef76a8fcef3244ae
2017-03-21Update AOSP Dialer source from internal google3 repository atEric Erfanian
cl/150756069 Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/150392808 (3/16/2017) to cl/150756069 (3/21/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: I0888b5db52efb28eb8194600e0c7804592f975f3
2017-03-20Revert "Update AOSP Dialer source from internal google3 repository at ↵Eric Erfanian
cl/150622237" This reverts commit 06b6b56e9eaa91ebf757ea641e38a9c885fa40bd. Change-Id: Ida8c5ee67669524dc63b9adc60a6dd392cb9b9a6
2017-03-20Update AOSP Dialer source from internal google3 repository atEric Erfanian
cl/150622237 Test: make, treehugger, on device testing. This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/150392808 (3/16/2017) to cl/150622237 (3/20/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: Id53e0e580a4ef73760a8afb7bb8c265ee27ad535
2017-03-17Update AOSP Dialer source from internal google3 repository at cl/150392808Eric Erfanian
Test: Treehugger Notable this release: * Reintroduce localization. This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from 3/15/2017 to cl/150392808 (3/16/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: Ia16d68469c2ca1ff42c7fa31d922bdb78c4e244a
2017-03-16Revert "Update dialer to tap green cl 150332012."Sailesh Nepal
This reverts commit 1019500220518fb5fb023fcb7d370ab3cbf12307. Change-Id: Ie6e4f81a995fca7345132b596521b0bd06ceffb9
2017-03-16Update dialer to tap green cl 150332012.Eric Erfanian
Test: Treehugger Change-Id: If2baab1d3fc2dee602a4f784bba532182e7174f5
2017-03-15Update Dialer source from latest green build.Eric Erfanian
* Refactor voicemail component * Add new enriched calling components Test: treehugger, manual aosp testing Change-Id: I521a0f86327d4b42e14d93927c7d613044ed5942
2017-03-01Update dialer sources.Eric Erfanian
Test: Built package and system image. This change clobbers the old source, and is an export from an internal Google repository. The internal repository was forked form Android in March, and this change includes modifications since then, to near the v8 release. Since the fork, we've moved code from monolithic to independent modules. In addition, we've switched to Blaze/Bazel as the build sysetm. This export, however, still uses make. New dependencies have been added: - Dagger - Auto-Value - Glide - Libshortcutbadger Going forward, development will still be in Google3, and the Gerrit release will become an automated export, with the next drop happening in ~ two weeks. Android.mk includes local modifications from ToT. Abridged changelog: Bug fixes ● Not able to mute, add a call when using Phone app in multiwindow mode ● Double tap on keypad triggering multiple key and tones ● Reported spam numbers not showing as spam in the call log ● Crash when user tries to block number while Phone app is not set as default ● Crash when user picks a number from search auto-complete list Visual Voicemail (VVM) improvements ● Share Voicemail audio via standard exporting mechanisms that support file attachment (email, MMS, etc.) ● Make phone number, email and web sites in VVM transcript clickable ● Set PIN before declining VVM Terms of Service {Carrier} ● Set client type for outbound visual voicemail SMS {Carrier} New incoming call and incall UI on older devices (Android M) ● Updated Phone app icon ● New incall UI (large buttons, button labels) ● New and animated Answer/Reject gestures Accessibility ● Add custom answer/decline call buttons on answer screen for touch exploration accessibility services ● Increase size of touch target ● Add verbal feedback when a Voicemail fails to load ● Fix pressing of Phone buttons while in a phone call using Switch Access ● Fix selecting and opening contacts in talkback mode ● Split focus for ‘Learn More’ link in caller id & spam to help distinguish similar text Other ● Backup & Restore for App Preferences ● Prompt user to enable Wi-Fi calling if the call ends due to out of service and Wi-Fi is connected ● Rename “Dialpad” to “Keypad” ● Show "Private number" for restricted calls ● Delete unused items (vcard, add contact, call history) from Phone menu Change-Id: I2a7e53532a24c21bf308bf0a6d178d7ddbca4958