summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/InCallActivity.java
AgeCommit message (Collapse)Author
2018-06-07Set the preferred SIM when InCallActivity is not visible.linyuh
Bug: 109653872 Test: N/A (InCallActivity is not testable, similar to cl/194824783). PiperOrigin-RevId: 199662982 Change-Id: I4effa2454246d852837d0878246898537f799980
2018-06-06Supported two RTT calls at same time.wangqi
Bug: 109738484 Test: manual PiperOrigin-RevId: 199524711 Change-Id: Ia75c41004179da5eae17b6acbc952d652e8d7480
2018-06-05Dismiss RTT request dialog if RTT is already active.wangqi
On VZW, RTT request will be accepted by modem automatically, in which case the dialog will be useless and should be dismissed. User won't see the dialog in this case since it's not visible yet when dismissed. This is a workaround since change in modem/telecom is not feasible at this point. Bug: 80259700 Test: manual PiperOrigin-RevId: 199334017 Change-Id: Ie5fb40e7a11975a423135ad7e5e6ef2dddbac56b
2018-06-01Inlined ConfigProviderBindings.get() and removed ConfigProviderBindings.zachh
It no longer provides any value, so just use dagger directly. Bug: 80441695 Test: tap PiperOrigin-RevId: 198806461 Change-Id: Id607abb65b77633bce511ad0c943ac19453a85d5
2018-05-22Fix bug that SpeakEasyFragment is added again after recreate of InCallActivity.wangqi
Bug: 79885898 Test: manual PiperOrigin-RevId: 197630981 Change-Id: Ib4ace31c7c207f5ee9f69aee148ddf49021da37b
2018-05-21Set navigation bar color when dialpad is visible.wangqi
Instead of fake a black bar on voice incall UI, the more reliable way is to set navigation bar color. Bug: 79902234 Test: manual PiperOrigin-RevId: 197475300 Change-Id: I96085700e633570ef385386cdf366d758e50a6e2
2018-05-11Update logging in incallactivity.uabdullah
Bug: 194611503 Test: Unit Test PiperOrigin-RevId: 196190392 Change-Id: I11fc1a02bd89207bf1c2d12f2821ef4447529c6e
2018-05-04More refactoringerfanian
Test: unit PiperOrigin-RevId: 195188099 Change-Id: Ie2273229c257a9a767715831c15d90a6985fdda8
2018-04-30Refactor PreferredAccountWorker to provide the dialog to be shown.twyen
When dual SIM selection support is added to In Call UI it was a rush order and codes are duplicated. This CL moves the duplicated logic into PreferredAccountWorker so the same dialog can be shown for both. TEST=manual Bug: 69675796,72618783 Test: manual PiperOrigin-RevId: 194845320 Change-Id: Id283ca7616580b0efd4e8f02e63691c70ee7f93c
2018-04-30Don't show dialog if in call activity is not visible.twyen
UiListener nulls out the callbacks onDetach(), which is after onSaveInstanceState(). TEST=N/A InCallActivity is not testable. Bug: 78517857 Test: N/A InCallActivity is not testable. PiperOrigin-RevId: 194824783 Change-Id: I2c4f41cf58a498a841f69ef078e58d07ec5b3c5a
2018-04-28Move DialerCall.State to an independent package.wangqi
This refactoring will remove dependency on incall/call package for those classes only dependent on DialerCall.State. The benefit is to remove unnecessary dependency and avoid potential loop dependency in the future. Test: presubmit PiperOrigin-RevId: 194594382 Change-Id: I6b3241bcf10a0a15c495c3c90a13f174c32e3f72
2018-04-25Show post char dialog without InCallActivity.yueg
Bug: 74022483 Test: InCallPresenterTest PiperOrigin-RevId: 194275941 Change-Id: If5a40a9778e3c0f5a05c7e33f365cb609bf6e74a
2018-04-25Use UI listener for preferred account worker in in call UItwyen
Before this CL it is ran on a non-UI task, where the callback might happen after the activity has already ended. TEST=manual Bug: 78517857 Test: manual PiperOrigin-RevId: 194169377 Change-Id: I0011019cb31b0b2c01c9d774776fb44dcac4d8c6
2018-04-25Add "enabled" to SelectPhoneAccountDialogFragment.twyen
This is used to inform the user an account cannot be used right now. On most dual SIM devices, only a single SIM can make calls at the same time. The UI will be implemented in a followup CL. This CL also packs the parameters of SelectPhoneAccountDialogFragment into a proto. There are too many arguments and it needs structured representation. TEST=TAP Bug: 69675796,72618783 Test: TAP PiperOrigin-RevId: 194139636 Change-Id: I7d9f92c73b650654fff28ba625a2c8e3dfa0b96c
2018-04-25Show international call on wifi dialog without InCallActivity.yueg
Bug: 74022483 Test: InCallPresenterTest PiperOrigin-RevId: 194125192 Change-Id: Ie7c50554079fe3a0a23b18ac44fc81b913c3e619
2018-04-17More improvements call flow.erfanian
Bug: 73774461,73774884,73775516,73775590,73775873 Test: unit/manual PiperOrigin-RevId: 193236364 Change-Id: I03726ed7e5a3383f6e8632fb2cf9b948c3203f87
2018-04-11Update logic for incoming and active calls.erfanian
Bug: 73774461,73774884,73775516,73775590 Test: unit PiperOrigin-RevId: 192456945 Change-Id: I0f0b44e56550939d4af16297bd305297e6c74310
2018-04-05Implement background calling.yueg
Bug: 74022483 Test: InCallPresenterTest PiperOrigin-RevId: 191825857 Change-Id: I9c70290da32484faf42a2a25fd6b22ba706cb63e
2018-04-05Fix leak of InCallActivity's DecorView and stuck on disconnection bug.wangqi
This is caused by not dismissing error dialog when recreating InCallActivity. The dialog will be shown again after recreating. Bug: 71376489,77152802 Test: manual PiperOrigin-RevId: 191775030 Change-Id: I07ef5041979c0bbb2d44df9e41b55f0ac41e9339
2018-04-04Remove null check.erfanian
Bug: 77486043 Test: unit tests PiperOrigin-RevId: 191660058 Change-Id: Ia68c8b06e266950cb964a796ea338e4bbc1d6b07
2018-04-04Better support for multi call.erfanian
Bug: 73775453,73775590 Test: unit tests PiperOrigin-RevId: 191657758 Change-Id: If1ae5505185191f04fd57aa828ae5bcc9c21b173
2018-04-03Implement dialog for responding RTT request.wangqi
Bug: 67596257 Test: manual PiperOrigin-RevId: 191365412 Change-Id: Ida741a837d6495c0d5f51b748f4d6c09a1beafec
2018-03-30Add upgrade to RTT call button.wangqi
This button has higher priority over add call button if RTT is enabled. Bug: 67596257 Test: ButtonChooserIntegrationTest PiperOrigin-RevId: 191129313 Change-Id: I5a3302a0970e77a933439749e0e559a691235523
2018-03-28Remove unnecessary call to StatusBarNotifier.updateNotification().yueg
The call for incoming call is covered in StatusBarNotifier.onStateChange(). The two calls in InCallActivity is not useful (maybe is before notification becoming foreground). Test: manual PiperOrigin-RevId: 190845157 Change-Id: I0f84f15cfda5294566fa8976e09aac5163f85aa9
2018-03-26Remove obsolete methods in CompatUtils and rename it as "LocaleUtils".linyuh
Test: Existing tests PiperOrigin-RevId: 190516504 Change-Id: I5fa9e123b45beb9728257ecd160a348fb3f4732c
2018-03-26Remove obsolete version checks and compat utilities after min SDK was bumped ↵linyuh
up to N. Test: Existing tests PiperOrigin-RevId: 190508397 Change-Id: Ia5f33e45af1d1cc666fec5f43efa564b2b68c193
2018-03-20Add more boilerplate to the incallui.erfanian
Bug: 73774242 Test: unit tests where they exist PiperOrigin-RevId: 189853302 Change-Id: Ibf3431cc0d7716c2c53c7ea165dfc130102a1bc7
2018-03-08Add support of dialpad in RTT call.wangqi
This change also dismiss overflow menu when any button is clicked inside it. Bug: 67596257 Test: manual PiperOrigin-RevId: 188424236 Change-Id: I90b803d592f12525cdb8727aaeebc45c3da5dcdd
2018-03-07Handle preferred SIM for ACTION_CALLtwyen
Previously preferred SIM is handled only by precall, which covers dialing with dialer or with the special receiver contacts uses. If a third party app uses ACTION_CALL or telecomManager.placeCall(), then the in call UI will be launched directly and the old account selection dialog will be used without preferred SIM support. In this CL logic from CallingAccountSelector is refactored out so InCallActivity can use it for the dialog. Bug: 73718976 Test: Unit tests, In call UI not covered. PiperOrigin-RevId: 188214007 Change-Id: Ifaacf982a3e98601dc362b649c3501d4ee96e63e
2018-02-22Moved metrics related methods out of LoggingBindings.zachh
Test: existing PiperOrigin-RevId: 186413083 Change-Id: I96c88c46b0ecc01167b655fa30fc47aaa6a9e351
2018-02-22Implement read/write text stream to RttCall.wangqi
This change also: 1. Add simulator support of RTT request during call (always accept at this moment, will add random accept/decline in the future) 2. Fix bugs of putting RTT call in background and back to call Bug: 67596257 Test: Simulator PiperOrigin-RevId: 185920527 Change-Id: I51016fa6cf1ccc8a5a21335f9dacf286ae393706
2018-02-22Add simulator RTT call.wangqi
This change will also: 1. Disable proximity sensor for RTT call 2. Update RTT call screen, including colors and banner buttons Bug: 67596257 Test: presubmit PiperOrigin-RevId: 185541897 Change-Id: I571373efbb8ced4ee2ad94879e9d37bed33b6a28
2018-02-05Remove bubble v1.yueg
Bug: 67605985 Test: manual PiperOrigin-RevId: 184358120 Change-Id: I17288da2b059f18bd51247e27aa174c7994e6f05
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-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-09InCallActivity should not call onUiShowing(false) when recreating.yueg
InCallActivity recreates when onNewIntent() and is not visible. Althought onPause() is called, we should not call onUiShowing(false) since the activity is going to be visible. The extra call confuses bubble animation. Bug: 67605985,71746139 Test: InCallActivityTest PiperOrigin-RevId: 181343690 Change-Id: I4d540be0e3e38400322f9b9c3e71e50b1f85977c
2017-12-18Allow orientation change when receiving video upgrade request in the in-call UI.linyuh
Bug: 67764843 Test: Manual PiperOrigin-RevId: 179463451 Change-Id: Iee1999c673a0b6f67d8e538745c23e75865a5262
2017-12-15Turning on the screen when audio stream of an incoming call is directed ↵linyuh
through Bluetooth. Bug: 70638560 Test: InCallActivityTest PiperOrigin-RevId: 179261692 Change-Id: I269c8573592e6ff6083efc201e6bede74a01ee06
2017-12-12InCallActivity#isDialpadVisible() now returns the correct value.calderwoodra
Bug: 64657832 Test: manual/logging PiperOrigin-RevId: 178824989 Change-Id: I202389123732c05680ba329313e889437fb4a806
2017-11-21Merge what's left in InCallActivityCommon into InCallActivity.linyuh
Bug: 69272096 Test: None PiperOrigin-RevId: 176443652 Change-Id: I90da4789deb4b6337a38cfe010b8aee5090d35e0
2017-11-18Merge the following methods in InCallActivityCommon into InCallActivity:linyuh
01. handleDialerKeyDown(int, KeyEvent), 02. onBackPressed(boolean), 03. onDestroy(), 04. onKeyDown(int, KeyEvent), 05. onKeyUp(int, KeyEvent), 06. onPause(), 07. onSaveInstanceState(Bundle), 08. onStart(), 09. onStop(), 10. updateNavigationBar(boolean), and 11. updateTaskDescription(). Note that InCallActivityCommon#handleDialerKeyDown(int, KeyEvent) is merged into InCallActivity#onKeyDown(int, KeyEvent). This is part of the effort to delete InCallActivityCommon. Bug: 69272096 Test: None PiperOrigin-RevId: 176161247 Change-Id: I6e74c7feec5414fb4bc58814eef3bd297d6eb96f
2017-11-18Merge the following methods in InCallActivityCommon into InCallActivity:linyuh
1. maybeShowErrorDialogOnDisconnect(DisconnectMessage), 2. onDialogDismissed(), 3. showErrorDialog(Dialog, CharSequence), 4. showInternationalCallOnWifiDialog(DialerCall), 5. showWifiFailedDialog(DialerCall), and 6. showWifiToLteHandoverToast(DialerCall). Renaming in InCallActivity: 1. "maybeShowErrorDialogOnDisconnect" -> "showDialogOrToastForDisconnectedCall", 2. "onHandoverToWifiFailed" -> "showDialogOrToastForWifiHandoverFailure", 3. "onInternationalCallOnWifi" -> "showDialogForInternationalCallOnWifi", and 4. "onWiFiToLteHandover" -> "showToastForWiFiToLteHandover". This is part of the effort to delete InCallActivityCommon. Bug: 69272096 Test: None PiperOrigin-RevId: 175991784 Change-Id: I0b31bd93437e633d2f77b09982e0c7fc94ad8a32
2017-11-18Move the following methods from InCallActivityCommon to InCallActivity:linyuh
1. enableInCallOrientationEventListener(boolean) 2. isDialpadVisible() 3. getDialpadFragment() This is part of the effort to delete InCallActivityCommon. Bug: 69272096 Test: None PiperOrigin-RevId: 175898158 Change-Id: Ib0f58dbe35d528a475268a86b2af4119e7cfa381
2017-11-18Move InCallActivityCommon#dismissPendingDialogs to InCallActivity.linyuh
This is part of the effort to delete InCallActivityCommon. Related instance variables remain in InCallActivityCommon for now as they are used in several other places. Temporary getters/setters are added in InCallActivityCommon so that InCallActivity has access to these instance variables. Bug: 69272096 Test: None PiperOrigin-RevId: 175853702 Change-Id: Iaeb96c8ad7acb628393dd5c775ad7f3b40940a2b
2017-11-18Move InCallActivityCommon#dismissKeyGuard to InCallActivity.linyuh
This is part of the effort to delete InCallActivityCommon. There are 25 references to InCallActivityCommon in InCallActivity and we will remove them one at a time. Bug: 69272096 Test: None PiperOrigin-RevId: 175718978 Change-Id: I0713bd28c2d34791045be2bb851003000b88abca
2017-11-11Fix previous usage of LoggingBinding with Logger class.weijiaxu
Test: In dialer lab. PiperOrigin-RevId: 174781953 Change-Id: I987c0d191a7c5613debb857bab9438d0c1aa20a7
2017-11-01Add more log entries in loggingBinding.weijiaxu
Test: Run in dialer lab PiperOrigin-RevId: 174075702 Change-Id: Ib663dc34d2c0c9e737c6d5f13b16d2b42b714127
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-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-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-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-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-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-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-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-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