summaryrefslogtreecommitdiff
path: root/java/com/android
AgeCommit message (Collapse)Author
2017-08-09Add logging to Dialer Key/Value backup implemenation.uabdullah
For Dolly our logging proved to be immensely valuable tool to identify the the framework bug. We were able to co-relate the issue with the backup and restore logging. We are adding this again for Key Value backup and restore. Bug: 64363054 Test: DialerPersistentBackupAgentTest PiperOrigin-RevId: 164754911 Change-Id: I15f97e1a2301703ced85df8f808cf20aae59c25e
2017-08-09Clean up geo location data usage from libphonenumber.wangqi
This change will centralize getting geo location data for a phone number thus enable us to disable it completely by compiling it out. Bug: 64394643 Test: none PiperOrigin-RevId: 164754103 Change-Id: Ie4b526a05f8b4445ee0507683cd238659273c953
2017-08-09Added remote directories to the new search fragment.calderwoodra
When Dialer users search for contacts, if they have an enterprise account on their device, they can also search for enterprise/remote contacts. This change adds the directory queries/results to the new search fragment. screenshot: http://screen/S9mpsvnwtCv Bug: 37209462 Test: javatests/.../searchfragment/remote PiperOrigin-RevId: 164681686 Change-Id: I88bc5bceb4c745d8f6f7d9651929d49100283756
2017-08-09Abstracted search cursors in SearchCursor interfacecalderwoodra
This change should help with separating concerns between each module in searchfragment/. Now cursors returned from each CursorLoader are expected to insert their own headers if they want to. This also simplifies the logic in SearchCursorManager and allows for easier implementation of new cursors. Future CLs will include abstracting ViewHolders and CursorLoaders. Bug: 37209462 Test: existing PiperOrigin-RevId: 164676135 Change-Id: Ib50090c3990c903cfd78f3a168032edd88f0fe56
2017-08-09a11Y for select all buttonuabdullah
Add content description for select all button. Screenshot: http://screen/kmYYExHOuTp Bug: 63917180 Test: Manual, refer to screenshot PiperOrigin-RevId: 164672361 Change-Id: If34f754f68824664270d7a76b1cb17da2f8ef01c
2017-08-09Fixed crash with decline with SMS.calderwoodra
If a user declined a call with SMS while the answer fragment wasn't attached, they would get a crash. This change checks to see if the fragment has been attached or detached before attempting to show the menu. This crash was added by cl/154094855 which fixed another issue that had been around since v6. Bug: 64380468 Test: none PiperOrigin-RevId: 164670788 Change-Id: I37f9c28ab0bb24da630f7f7897ecff55ae859837
2017-08-09Implement Selectiontwyen
Selection can be used to make complex SQL queries more readable, and pass around incomplete selections for appending. See cl/162013087 for usage Test: SelectionTest PiperOrigin-RevId: 164618236 Change-Id: Ice035211f6b02858255a9e7d18215c9282bf28e9
2017-08-09New Search Fragment no longer crashes when the device is rotated.calderwoodra
In the new search fragment, if you rotated the device, a crash would occur because we were prematurly closing the cursors on our own. Since the cursors are managed by CursorLoaders, we don't actually need to close the cursors ourselves and can leave that to the framework. Bug: 37209462 Test: SearchFragmentIntegrationTest PiperOrigin-RevId: 164562508 Change-Id: Id33274ccb23d026dab352e754a5f03ab834d9d14
2017-08-09Implement Dialer K/V Backup and Restore.Eric Erfanian
This CL ensures that Restore works correctly (to unblock us for ODR system image). As restore happens on the system image and the logic cannot be updated via PlayStore, this CL is time sensitive, to ensure we can get it into the ODR system drop. This CL only backups com.android.dialer.app_preferences.xml for now, but can always be changed to update more shared preference files when needed via an playstore update. Since we are using PersistentBackupAgentHelper, we don't have to worry about not being able to restore additional backed up shared preference files from the future, as PersistentBackupAgentHelper will allow us to restore all the shared preferences that were ever backed up via Key/Value. Currently I added an end to end unit test, and tested restore via "adb shell bmgr restore com.google.android.dialer", which restored the stored data sets. A follow up CL will include additional files to backup and impression logging. Bug: 64363054 Test: DialerPersistentBackupAgentTest PiperOrigin-RevId: 164524465 Change-Id: I5bd65215a42744ba4149a9359e443679306b6cc0
2017-08-09Remove stale TODO.erfanian
Test: NONE PiperOrigin-RevId: 164524149 Change-Id: I7ab941d2d96093647dda3e5321776f43da59ab2b
2017-08-09Move TelphonyManagerCompat outside of contacts/common.erfanian
This class will be used for Assisted Dialing. #turndowncontactscommon Bug: 64205446,37208802 Test: TAP PiperOrigin-RevId: 164510740 Change-Id: I5dec67d2182b33bf2057953aab69e3b561af5708
2017-08-09Added permission revoked screen for new search fragmentcalderwoodra
screenshot: http://screen/WpQJZ0Xy1gi Bug: 37209462 Test: NewSearchFragmentTest PiperOrigin-RevId: 164407405 Change-Id: I3c66dc289524573e687266217b57b19a8ded8c9c
2017-08-09New search fragment now animates and moves with the search box and dialpad.calderwoodra
video: https://drive.google.com/open?id=0B2Hce9qilHmvYTlqVGU0OTNxNjQ Bug: 37209462 Test: SearchFragmentIntegrationTest PiperOrigin-RevId: 164319452 Change-Id: Icc5669be87e97ba5d0e23fc99bada28ca7d2335a
2017-08-09Update Directory POJO to use AutoValue and removed type attribute.calderwoodra
Bug: 37209462 Test: RemoteDirectoriesCursorLoaderTest PiperOrigin-RevId: 164295668 Change-Id: I5d9c54fa748d19f09b62a33ff12a7de8a71d64d3
2017-08-09Fix strict mode crash on ContactLoader.wangqi
Bug: 64314754 Test: manual PiperOrigin-RevId: 164294241 Change-Id: Ic5d56fc0c1e52eb70ab8b8a22a3ad2cefe03cabf
2017-08-09Remove Dialer Backup and Restore Codeuabdullah
We want to clean up all the Dialer Backup and Restore. This includes the existing Dolly backup code for settings/preferences (causes a crash) and the Hangouts K/V Backup (does not work). The idea is to just have a clean simple K/V backup and restore for dialer, which will be in a follow up CL. Bug: 64363054 Test: Manual. Builds successfully. PiperOrigin-RevId: 164225991 Change-Id: Ic71cfaeed37a5c9f0002d8d12db757f19c0ddf1e
2017-08-04Updated new search filtering criteria to better match current implementationcalderwoodra
There were two outstanding issues in the new search criteria: - Contacts named "Brandon" would be filtered out by query "b" - Contacts named "Bob" would NOT be filtered out by query "o" This isn't how our current implementation of search worked and these issues are resolved by this change by ignoring case sensitivity and doing suffix checks on names instead of #contains checks. Bug: 37209462 Test: QueryFilterUtilTest, SearchContactCursorTest PiperOrigin-RevId: 164214145 Change-Id: I367ed0d862809d28491ae53e7dd8e1a24c824ec9
2017-08-04Fix buttom mapping issue for wifi handoff.erfanian
Introduce the concept of a "mutually exclusive button". Buttons that conflict with a "mutually exclusive button" that is eligible to be placed, will never be placed. Bug: 37275934 Test: unit tests. PiperOrigin-RevId: 164210228 Change-Id: I64af6065c89d143a331ea226f9a6cb1004b5a155
2017-08-03A possible fix for wrong duration.yueg
We have much longer duration than expected especially on NE1 devices. Although we can't reproduce it, we should not reset duration if a call is already disconnected. Bug: 63930386 Test: none PiperOrigin-RevId: 164191850 Change-Id: I851d9cc9ce64a7df32bd388e45f6613372670d81
2017-08-03Updated enterprise briefcase assetAndroid Dialer
Updated android enterprise briefcase asset for: Dialer, Contacts, OTAConfig, Messgenger screenshots: contacts search https://screenshot.googleplex.com/zwHRua8Erob dialer calllog https://screenshot.googleplex.com/qmPUzSHXbvC messenger screenshot https://screenshot.googleplex.com/HTK8btSQvJB otaconfig notification https://screenshot.googleplex.com/OY8qUzns6N5 otaconfig statusbar https://screenshot.googleplex.com/GJP7dCjTMiG Bug: 36497538 Test: Manual PiperOrigin-RevId: 164121167 Change-Id: I095241c01c121a5a59ae932a012878047c143ebf
2017-08-03Call Composer tabs hidden from a11y when hidden from sight.calderwoodra
When the share and call button was visible, users using talkback could reach the media icons hidden underneath. Bug: 62649310 Test: manual PiperOrigin-RevId: 164088069 Change-Id: Ic9cd23a78790c119d6d4d2f6e9d6e62c24e20120
2017-08-03Lightbringer video calling now no longer overrides IMS video calling.calderwoodra
If a user has IMS video calling and Lightbringer video calling enabled, when they searched for a contact through dialer search, they would perform a lightbring video call. This was unintended as IMS should have priority. Bug: 64125770 Test: ContactListItemViewTest PiperOrigin-RevId: 164058129 Change-Id: Ib2919857ffebd71d7911011274df0a6d07960d5f
2017-08-03Devices in other locales no longer crash in GalleryComposerFragment.calderwoodra
Devices with other default locales would translate '1' and this would cause an no such column exception in SQLite. Bug: 64137857 Test: manual PiperOrigin-RevId: 164048836 Change-Id: I4ecd070f8d38a82ca6567fb23b660d5ebe1f1f18
2017-08-03Fix undismissed bubble text for two continuous call.yueg
If a new call is placed before hiding the current bubble, bubble text will not be reset and the new bubble shows with the text. Fixing it by using different hide method for onUiShowing() and onDisconnect() (reset after disconnecting). Test: ReturnToCallControllerTest, BubbleTest PiperOrigin-RevId: 164048596 Change-Id: I7259df57da3aba51960bfb7bb1ea5f840c9501e0
2017-08-03Getting network color in call details now assumes a hexidecimal valuecalderwoodra
Previously when setting the color of a network in call details, we assumed the values were stored as String resource values when in fact they were hexidecimal integer values. Now we directly set the color instead of doing a resource lookup. screenshot: http://screen/d3tQNGBkKNX Bug: 64300111 Test: CallDetailsActivityTest PiperOrigin-RevId: 164042030 Change-Id: I858e3665253139b8aab4e4c063bfc4c419f33cc9
2017-08-03Reapply Screen timeout when in call activity is recreatedtwyen
Previously the keep screen on flag is only applied the the activity once when the video call is created. The flag will be lost when the activity is recreated, such as rotating the screen. In this CL, the keep screen on state is persisted in the InCallPresenter, and will be reapplied every time the activity is created. The flag will be cleared when the call is finished or when the video call has ened Bug: 64101648,63917358 Test: InCallPresenterTest PiperOrigin-RevId: 164030247 Change-Id: Ie90f8dd0dfc9b542d691296c729dc3342a8bc2ad
2017-08-02Prevent new voicemail notifications from being cleared if a voicemail is ↵twyen
expanded Binding a view holder to an expanded voicemail will attempt to mark the voicemail as read and all voicemails as old. If a new voicemail is received when a voicemail is expanded, the new voicemail will cause a rebind and the notification will be canceled right away. In this CL, voicemails will only be marked as old if the expanded voicemail was not already read. Bug: 64211487 Test: CallLogAsyncTaskUtilTest PiperOrigin-RevId: 163912108 Change-Id: Ibe82fe85984d84aad1a674219ca984fdd10c6d89
2017-08-02Make NumberInCallHistoryWorker class Private.erfanian
Test: TAP PiperOrigin-RevId: 163911841 Change-Id: I454a649e8e31e744de99c2d9599f5bf291c729f1
2017-08-01Fix the blurry contact photo.wangqi
A high res sync update request should be sent to trigger the photo sync. Without this request, the contact photo will stay in low res until user action to trigger it in other ways such as click on quick contacts or open it in contacts app. Bug: 62390496 Test: manual PiperOrigin-RevId: 163905019 Change-Id: Iaf47934df02dc15f75e806505dfd425402fde07c
2017-08-01Prevent voicemail from playing when call is in progresstwyen
Visual voicemail playback uses the phone stream, which will cause all sort of audio conflict in a call. This CL forces voicemail playback to fail if a call is in progress. Bug: 63584851 Test: manual - play voicemail while in call, "Cannot play voicemail" shown. PiperOrigin-RevId: 163899919 Change-Id: I7350f6904b5a76f9c21a1d541f3c1f39271a5608
2017-08-01Handle null in voicemail config statustwyen
The VVM tab is shown when there are more then one "active" voicemail sources in the voicemail status table. A configuration status of 0 is active, and 1 is inactive. If the configuration state is null, getInt() will return 0 which maps to active, and incorrectly showing the VVM tab. In this CL, null is checked first. The helper class is also made static. Bug: 64122858 Test: VoicemailStatusHelperTest PiperOrigin-RevId: 163858350 Change-Id: I3fca52aaca92492f1969092e2d9f443677cb3b8d
2017-08-01Set thread stats tag before getContent() when downloading map.zachh
Failing to set the tag before invoking getContent() causes a strict mode violation. Bug: 64080588 Test: none PiperOrigin-RevId: 163785889 Change-Id: Id08886616f353b93df47d090abc9c0b68a09954e
2017-08-01Pressing the ime action button with no text no longer crashes PostCallActivity.calderwoodra
Bug: 64172993 Test: manual PiperOrigin-RevId: 163764485 Change-Id: Id66bc075e98cae0bcdb42e1ad82b403e7e0ae0d1
2017-08-01Do not show "Call" option for Restricted / Private numbersroldenburg
These numbers cannot be called back so don't show the button. Bug: 64103891 Test: GoogleCallLogAdapter PiperOrigin-RevId: 163758778 Change-Id: Ic5d9bd3abe38ff8a9ac84da6c453c924cb1dd6ca
2017-08-01Log bubble expansion and return to call.yueg
Test: BubbleTest PiperOrigin-RevId: 163758306 Change-Id: I391fe411822f01cf29075eab7cf42aeb676fd424
2017-08-01Add full phone permission groups checks.erfanian
Move to the new ExecutorFactory classes. Bug: 63711921 Test: unit test PiperOrigin-RevId: 163752136 Change-Id: I33bc1e415bd3c48d593be753939d9ba42d8ba156
2017-08-01Fix crash placing Fi calls on dogfoodroldenburg
We added a new proguard flag recently and for some reason it is causing issues with Fi calling on dogfood builds. I'm fixing the crash here and will work with Zach to determine why this is causing issues. The new flag that is causing trouble was added in http://cl/163521622 Bug: 64206675 Test: manual (mulitple builds confirming no longer crashes) PiperOrigin-RevId: 163736443 Change-Id: Id30188699f7e9a40fbe23df18700b7104e1b551a
2017-08-01Fix bug where CDMA generic conference showed wrong durationmaxwelb
There was an issue with the duration shown in the InCallUI when a CMDA generic conference was ended early. This resulted in the duration showing as a huge number, rather than the proper value. This issue is a regression caused by cl/157138159, which attempts to only start the timer once. This CL fixes the issue by ensuring that the Chronometer's base is reset every time the timer row updates, instead of just once when start is called. This matches the logic from prior to cl/157138159. Repro steps: 1) Disable advanced calling on device with Verizon SIM 2) Place call from DUT to device A 3) Accept call on device A 4) Place call from DUT to device B 5) Before answering the call on device B, hang up the added call on DUT. Results (without fix): InCallUI switches to generic conference view (Phone number/name changes to "Incall"). Duration becomes a huge number. See https://drive.google.com/open?id=0B5N2YRME1XrUeDJWYnRBWGRQM00 Results (with fix): InCallUI switches to generic conference with proper duration. See https://drive.google.com/open?id=0B5N2YRME1XrUaDRtcjRWX3BxMTA Bug: 64099380 Test: Manual, see steps PiperOrigin-RevId: 163735661 Change-Id: I98bcd6517b55a21b58e4b32b00d66fdba4c45143
2017-08-01Save dismissed state for legacy voicemail notificationtwyen
TelephonyManager will resend legacy voicemail notifications during connectivity changes with a "is_refresh" flag. Such notifications has already been shown before and should not alert the user. Previously the notification will be set to onlyAlertOnce, but if the user dismissed it it will be shown again. In this CL, if the notification is dismissed, the state will be persisted and the notification will not be shown again. The state will be cleared when a new voicemail arrived and the user will be notified again. Since telephony sends is_refresh=false during boot up, the state will also be cleared with a reboot. Bug: 62229933 Test: LegacyVoicemailNotificationReceieverTest PiperOrigin-RevId: 163728161 Change-Id: I7ec6b5a88fed26e0a4459b8803eeba9a37b7b32b
2017-08-01Implement Duo disclosuretwyen
The duo disclosure takes priority over the nearby places, and will be shown if all the conditions are met: Disclosure enabled by flag show_duo_disclosure (default:false) Duo module is enabled Is in the call log tab Disclosure is not dismissed. The auto dismiss after 24 hours is not implemented. The help center article points to dialer_duo_disclosure which is not created yet. Test: GoogleCallLogAdapterTest PiperOrigin-RevId: 163714903 Change-Id: I724c6961af2912108c81d69a23d84682b721a58c
2017-07-31Add some trace information for incall.wangqi
This will help us better understanding where it spends time for bringing up an incoming call ui. The overhead is very light that could be ignored. Bug: 62426694 Test: none PiperOrigin-RevId: 163544107 Change-Id: I5520ed2b4b8085b8611af15e2c15c4c774446bec
2017-07-28Don't enable strict mode in non-bugfood builds.zachh
There were some calls to StrictMode#enableDefaults in our codebase that were not guarded by bugfood checks. In testing, #enableDefaults causes warnings to be printed that otherwise would not. This CL makes it so that we never call enableDefaults on non-bugfood builds, and cleans up and consolidates our usage of strict mode logic by introducing a new class called DialerStrictMode. Test: none PiperOrigin-RevId: 163521622 Change-Id: I841b4198a5dd6084ee104dc6907165e3379d0451
2017-07-28Fix NPE and ClassCastException in logging People API lookup error.yueg
Logger.get() returns a LoggingBindingsStub object instead of a LoggingBindingsImpl object under strict mode, and we should not log when it happens. WANT_LGTM=kedars LOG_STORAGE_INCREASE(GB/week): 0 Test: manual PiperOrigin-RevId: 163404058 Change-Id: Ibd466a811126c45eb26bc033367cc86a77066b3f
2017-07-27Center quickContactBadge instead of cropping.erfanian
Use the drawable dimensions to control clipping. Before: Adjusting the screen size from default to largest would trigger a view reflow. However, because the bitmap asset was already cached, and the rounding of the tile was based on the bitmap size, the new, larger drawable would only undergo a partial circular crop. Now: We scale the image uniformly and center it. Also, use the drawable dimensions to control clipping dimensions. Bug: 63864703 Test: manual PiperOrigin-RevId: 163376680 Change-Id: Ic678dff2b18d3308c859818f187a42afd6563e10
2017-07-27Fix bubble text overflow.yueg
When we calculate transition end values, primaryText might be invisible and causing primaryButton size smaller than expected. Fix it by always using larger size (primaryText size). Conference call ended twice, before: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKamYzVTVrbVpBWWM After: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKck9WUm5IUlI2QVU Test: ChangeOnScreenBoundsTest, BubbleIntegrationTest PiperOrigin-RevId: 163375425 Change-Id: I251d0e96546742247ee3ce463f0aade65fe302bb
2017-07-27Handle null phone account handle for calllog filteringtwyen
cl/163140580 filters out audio call from Duo, but will also remove fi voicemails because fi writes null phone account handle. null NOT LIKE x returns null. null OR x returns x. This CL limits the filter only to the call log, and handles the null phone account handle. Bug: 64060628 Test: manual, leave voicemails in fi. Automated tests in a future CL. Test call log database in progress(see cl162013087) PiperOrigin-RevId: 163284363 Change-Id: I69ba6cbadbd1a02f05405ca0f5273b0a5ea0e5e9
2017-07-27Do not show voicemail transcription ToS if feature is disabledroldenburg
We'll want to cherry-pick this onto v11. Bug: 64073371 Test: manual, verified with QA across multiple scenarios (Fi, Verizon, forced flag enabled) PiperOrigin-RevId: 163282286 Change-Id: I4b9456ec9a8ed978e93866a5c9dcab46848fee58
2017-07-27Attempt to fix bug that voicemail or emergency number is changed during a call.wangqi
This is caused by handling phone number change during a call. This change will remember if it's a voicemail/emergency number after phone number changes and continue to show it as voicemail/emergency number. Bug: 64009408,63716219 Test: SimulatorConnectionService and real device. PiperOrigin-RevId: 163276696 Change-Id: Ibcde9ab9b61dc683de3d77dddca789ade3e895ba
2017-07-26Handle null number on row expandmaxwelb
As discovered in b/63711486 it's possible for the number to null when we expand a call log row. Since the EnrichedCallManagerImpl checks that the number isn't null when we check capabilities, this crashes when EC is enabled. This CL fixes the issue by checking for the null value and working around it as needed. Since the DialerContact proto requires non-null numbers, I had to protect it's call as well. There's no affect on CallDetailsActivity and CallComposerActivity since the proto will return the empty string if number is unset. Bug: 63711486 Test: GoogleCallLogAdapterTest PiperOrigin-RevId: 163225329 Change-Id: Id30ad5076523987f1cc93b803d52e85daa6c0e20
2017-07-26Added cursor loader to load contacts from a remote directory in contact search.calderwoodra
When Dialer users search for contacts, if they have an enterprise account on their device, they can also search for enterprise/remote contacts. This change adds the cursor loader needed to get a list of contacts from a specific remote directory. Bug: 37209462 Test: RemoteContactsCursorLoaderTest PiperOrigin-RevId: 163154108 Change-Id: Ieae2cb2c03e759d7ed6cfdfa2f72a4190d8b844d
2017-07-26Fix bug that dialpad is not shown when return from "use touch tone key" in ↵wangqi
dialpad choose. This is caused by saved instance state overriding values of showing dialpad from intent extra when incall activity is being recreated. Bug: 62046691 Test: manual PiperOrigin-RevId: 163148086 Change-Id: Ice8974d7ee90ca3adcefca5946ec7489837d0bf6
2017-07-26Filter out Duo audio callsroldenburg
Without this CL, Duo audio calls show in the Dialer call log and will either start phone calls or Duo video calls based on Duo integration being available or not. Carriers do not want OTT audio calling in the Dialer call log so we should filter the audio calls out. Bug: 63089358 Test: Manual: Placed duo audio and video calls, verified they showed without the patch, verified correct calls were filtered out with it. Will want QA verification over other test scenarios including multi-sim if we were to put this into OC-DR. PiperOrigin-RevId: 163140580 Change-Id: I83c3659f6c356522b62d9ced2002a808ea958c95
2017-07-26Added cursor loader to load the list of remote directories in contact search.calderwoodra
When Dialer users search for contacts, if they have an enterprise account on their device, they can also search for enterprise/remote contacts. This change adds the cursor loader needed to get the list of all remote directories associated with the accounts on the device. Bug: 37209462 Test: DirectoryCursorLoaderTest PiperOrigin-RevId: 163139517 Change-Id: If5e626507d5c337633a678fff5e8dac59f85658e
2017-07-26Fix bug that cannot add call if there are multiple calling account.wangqi
Repro steps: 1. setup multiple calling account (multi-sim or sip etc.) 2. make a ongoing call 3. click "Add call" 4. make another call in dialer This is caused by recreating incall activity when adding new call that will go through its lifecycle thus disconnecting the call with account selection states automatically. It's a regression caused by cl/162562378. Bug: 64014929 Test: manual PiperOrigin-RevId: 163138094 Change-Id: Ia979f7d63bd85cfaa6550c58e552759d66ec937c
2017-07-25Refresh capabilities when temporarily unavailablemaxwelb
See go/ec-temp-unavailable. This CL fixes the issues when we get enriched call capabilities for users who are temporarily unavailable. Bugle sends an indication that this is the case through the ACTION_CALL_CAPABILITIES_UPDATE intent, which is saved as part of the capabilities. When users click on a call log row, we check if the capabilities were temporarily unavailable and if that's the case, we request the capabilities again. This ensures that we don't cache the temporarily unavailable capabilities forever. manual Bug: 62609419,37726219 Test: EnrichedCallManagerImplTest, EnrichedCallBroadcastReceiverTest, PiperOrigin-RevId: 163126355 Change-Id: I45be6f883d9c6596d20382250c220a90fbf5e996
2017-07-25Automated g4 rollback of changelist 161418474.maxwelb
*** Reason for rollback *** Checking if this broke the uses-library value for pixel devices *** Original change description *** Update merge strategy. The legacy strategy is deprecated. * Don't allow cleartext traffic in the voicemail module. This was being overridden, anyway. Bug: 62339559 Test: See below. PiperOrigin-RevId: 163109133 Change-Id: Id04c51bf3fcb66314c7b27ad96d38b3cae0df230
2017-07-25Fixed bug where app could crash when clearing call history.zachh
Bug: 63686780 Test: ClearCallLogDialogTest PiperOrigin-RevId: 163096437 Change-Id: Ifc416b8c0ff1baa6ddbef11c26b548af2eb3fc64
2017-07-25Remove dependency on the DIRTY flag for marking voicemails as readtwyen
Previously the DIRTY flag is used to track which voicemails has local changes that need to be uploaded to the server. The DIRTY flag is updated by the content provider and is super janky. Whenever dialer writes to the calllog or the voicemail provider the dirty flag is cleared. When the user modified a voicemail entry, an upload is issued and blindly marking all locally read or deleted items on the server. The content on the server was never check during an upload. After this CL, the DIRTY flag is ignored. Upload and download is now always done together. The list of voicemails on hte sever will be downloaded first, and if any voicemail is read locally but not on the server then it will be uploaded. As the full sync when the user opens the voicemail tab was implemented, this additional transaction cost should be neglectable. Bug: 62867500 Test: Auto test ETA Christmas, 2030. Manual: mark voicemail as read/delete voicemail. PiperOrigin-RevId: 163093305 Change-Id: I09e918f32b9b1ffdad80731f7c25f894be2826f3
2017-07-25Disable camera as alternative to pausing for TMOroldenburg
Pause is not supported on TMO for IMS video calls so we need to disable and re-enable the camera instead. Bug: 62962221 Test: ImsVideoTechTest PiperOrigin-RevId: 163088983 Change-Id: I9b8ba0db877f972f27396969d9e06d54c466d1d1
2017-07-25Added RecyclerView.ViewHolder for remote contacts in search list.calderwoodra
When Dialer users search for contacts, if they have an enterprise account on their device, they can also search for enterprise/remote contacts. This change adds the viewholder that shows these contacts to the user. Bug: 37209462 Test: RemoteContactViewHolderTest PiperOrigin-RevId: 162793301 Change-Id: Ifa409f49c8a0069b0753a138f4762830921cb3f7
2017-07-25Check for contacts permission before mutating contacts.erfanian
Before: PhoneNumberInteraction only checked if it could Read CONTACT. This resulted in a crash when setting super primary number preferences. After: PhoneNumberInteration checks for R/W. Any missing, required permissions are now granted. Steps to reproduce: 1) Add a contact with two different numbers. 2) Mark that contact as a favorite. 3) Long press on the dialer icon, long press on the contact, and add them as an icon to your screen. 4) Tap on the icon 5) Grant contact permissions. 6) App crashes. Bug: 63668172 Test: on device, unit tests PiperOrigin-RevId: 162761620 Change-Id: Ic9aefbb8101bc73294eb871cc9684b0464d4bdcd
2017-07-25Fix distorted view of call history.wangqi
This is caused by no background color is set for the call log activity. This is regression caused by cl/162392495. Bug: 63899078 Test: manual PiperOrigin-RevId: 162758117 Change-Id: I3fbeffa7e5ba2a1149c425c00384ed9dbb330549
2017-07-25Disable swap button until second call is active.wangqi
Before the other party answers the call, the swap button won't work for second call. Screenshots: https://screenshot.googleplex.com/MTjD6VHEdxd https://screenshot.googleplex.com/cVEuoTnRAZ8 Bug: 63083257 Test: manual PiperOrigin-RevId: 162633661 Change-Id: I79ebcece059fd256e50edb7509ac1703c3145dac
2017-07-25Converted a few straggling instances of FallibleAsyncTask to DialerExecutors.zachh
This is an effort to eventually delete FallibleAsyncTask, since people still occasionally use it by accident. There are still some instances of FallibleAsyncTask in p13n code which will be cleaned up in a later CL. Test: existing PiperOrigin-RevId: 162633637 Change-Id: I79b57dc6284952145f62f556799d15a31888bdea
2017-07-25Fix bug that pending account select call prevents new call being made.wangqi
If user press home button to hide the incall ui with pending account select dialog, the call will stuck on SELECT_PHONE_ACCOUNT states and no new call would be allowed to be made. This change will disconnect the pending call in this case to allow new calls being made. Bug: 63600434 Test: manual PiperOrigin-RevId: 162562378 Change-Id: I0334f95305d7c9714bcfb691772299c34b1a278e
2017-07-25Fix non-normalized number bug with FuzzyPhoneNumberMatchermaxwelb
This CL fixes a bug with the FuzzyPhoneNumberMatcher implementation. The logic should be that if the last 7 digits of two numbers match, we treat them as the same. The issue was that if we found digits that didn't match between the number, we reported them as not matching, even if they had 7 digits in common. This CL also makes some quality of life changes: - Renames FuzzyNumberMatcher to FuzzyPhoneNumberMatcher to match the class name. - Abstracts the logic of the FuzzyPhoneNumberMatcher into another well named method, so it's more clear how the code works. While I didn't check too carefully, I believe this will also help out issues with capability flakiness in: - b/62609419 | maxwelb | RCS very unstable when on cellular. Bug: 63564400,62609419 Test: FuzzyPhoneNumberMatcherTest PiperOrigin-RevId: 162552340 Change-Id: Ie091d985a34a16000750f6050bde6bb0ea7da4e5
2017-07-25Removed duplicate quick contact string.calderwoodra
Quick contact descriptions are added in the ContactPhotoManager, so we can remove this string duplicate and its only use. Test: manual talkback testing PiperOrigin-RevId: 162514532 Change-Id: Ic8345a30b6d69017e72fffa1469b96b10e69cdf8
2017-07-25Pause voicemail playback when headphone is unpluggedtwyen
Bug: 34512128 Test: VoicemailAudioManagerTest PiperOrigin-RevId: 162505938 Change-Id: Ie097c0e04562ea5bf915ec61cd686b5ae5e1791c
2017-07-25Handle corrupted persistent logtwyen
Previously if the log is corrupted for any reason(interrupted writes, cosmic rays, bad programming skills), the log reader will get an incorrect entry length and try to read a few GB of data. In this CL a prefix and postfix is added to each log entry. If it doesn't match or if the entry length is dubious, the logs will be purged. All existing logs will be purged upon sending feedback as a result of the new format. Bug: 63678731 Test: PersistentLoggerTest PiperOrigin-RevId: 162504759 Change-Id: I85f39fbc6e9738b9fb0a251131b77d8a15fe44f6
2017-07-25Move CallComposerActivity's DialerExecutor to onCreatemaxwelb
As per the documentation, DialerExecutors.createUiTaskBuilder is meant to be called in onCreate. As a side effect of this change, if at some point we support sending both an image and text at the same time, the code will not work. This is not currently planned, so this CL stays simple, rather than adding the complexity of plumbing the old MultimediaData through CopyAndResizeImageWorker. Bug: 63714992 Test: CallComposerActivityIntegrationTest, manually placed EC call PiperOrigin-RevId: 162498272 Change-Id: I710e94284b2235684a27afbfa12ea8ddef0690de
2017-07-25Contacts adapter now checks if cursor is closed.calderwoodra
Bug: 63696987 Test: ContactsAdapterTest PiperOrigin-RevId: 162423318 Change-Id: Ia43bda7857576b4e838372eef79edb1fa233571f
2017-07-25Remove unnecessary background in call log.wangqi
Background in call log fragment is same as the activity. It's unnecessary and only reduces rending performances. Verified by hand that it looks same as before. GPU Overdraw: Before: https://screenshot.googleplex.com/y1HNFiae1j7 After: https://screenshot.googleplex.com/mQFxyWEhkFm Performance test: Before: Total frames rendered: 668 Janky frames: 35 (5.24%) 50th percentile: 7ms 90th percentile: 11ms 95th percentile: 16ms 99th percentile: 73ms Number Missed Vsync: 18 Number High input latency: 1 Number Slow UI thread: 35 Number Slow bitmap uploads: 0 Number Slow issue draw commands: 2 After: Total frames rendered: 736 Janky frames: 32 (4.35%) 50th percentile: 6ms 90th percentile: 11ms 95th percentile: 13ms 99th percentile: 61ms Number Missed Vsync: 15 Number High input latency: 0 Number Slow UI thread: 31 Number Slow bitmap uploads: 0 Number Slow issue draw commands: 3 Test: manual PiperOrigin-RevId: 162392495 Change-Id: I726cd06518d282abe68eb1ff16db82c9a3e6d291
2017-07-25Replace usages of private AppCompat resourcesAndroid Dialer
Use the android.R.dimen values for the large icon size rather than the private resources added by AppCompat. Fixes failures when pushing the new version of the Support Library in cl/162311018 Bug: 33042051 Test: manual inspection PiperOrigin-RevId: 162376626 Change-Id: I1d0107543df36365325812612d3330e96051ad0a
2017-07-25Ignore SIM removed event when the system is shutting downtwyen
When the SIM is removed, the VVM account will be deactivated to protect user data. When the system is shutting down, the modem shutdown process will be interpreted as SIM removal and the event will be sent. This causes VVM to return to "not activated" state every time the phone is rebooted. If the phone is booted without signal or in airplane mode, the VVM tab will be missing since activation is not attempted without signal. In this CL, BOOT_COMPLETED and ACTION_SHUTDOWN will be used to store the "shutting down" state in a shared preference. If the SIM is removed between ACTION_SHUTDOWN and BOOT_COMPLETED, it will be ignored. SIM removal in FBE is already ignored. SIM removal in power off state is never handled. If the broadcasts are missed (which is improbable), removing the SIM will not remove the VVM tab, until removing it again after the next boot. Bug: 63642638 Test: OmtpServiceTest PiperOrigin-RevId: 162298120 Change-Id: I8e093607529de75c28a4869861f18d28406f8042
2017-07-25Fix bubble for video call upgrade and multiple voice call.yueg
To make sure bubble is dismissed on video call connected but isn't dismissed on non-last multiple voice call disconnected. Receive upgrade, declined and accepted: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKMFc4aDRFdi1xYTQ Request upgrade, declined and accepted: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKelZZSURwTjBiYnM Multiple voice call: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKNEhNWGdzWFAtTlE Test: manual PiperOrigin-RevId: 162288587 Change-Id: Idfa8efa3eb96980ab17694b8fe4d31fa8eb3e18d
2017-07-25Fixed issue where calls longer than 60 minutes would be truncated.calderwoodra
SimpleDateFormatter cannot display times longer than 60 minutes. If a time is longer than 60 minutes, it will display the time % 60. This change accounts for that and replaces the truncated time with the correct time. Bug: 63709810 Test: CallEntryFormatterTest PiperOrigin-RevId: 162284780 Change-Id: Ib01b135c028b5d59637850e873e5a218f9c39ae8
2017-07-25Remove "?" icon from unknown call notification.erfanian
Bug: 34801244 Test: unit test PiperOrigin-RevId: 162280134 Change-Id: I8179e2fe44817559c3497039ec69cb2b75b61b55
2017-07-25Fixed '1' dialpad button to be aligned with '2' and '3'calderwoodra
The voicemail icon was rendering at 24 dp with 2dp of padding above it. Removed the padding and reduced the icon to 16dp. screenshots: before: http://screen/Dx2zcVsX10y after (portrait): http://screen/RUnQP8CR65t after (land): http://screen/aKCdMTLkOnU Bug: 62517731 Test: screenshots PiperOrigin-RevId: 162278290 Change-Id: Iaaf65d9bac3920ff1755da85b6f85752654d86b8
2017-07-25Move ContactPhotoManager code and related utilties out of contacts/common.Eric Erfanian
Bug: 37208805 Test: compiler, on device PiperOrigin-RevId: 162268272 Change-Id: I98d63d063b9a4dff6a1b1b7462378ef7d0139bd2
2017-07-25Hide contacts recyclerview when the last contact is deleted.calderwoodra
When a user would delete their last contact, the contacts fragment would show a list with the old contact and the empty contacts background view underneath it. Test: ContactsFragmentTest PiperOrigin-RevId: 162267124 Change-Id: I294f2fe06f08ba6bd31148681647ffe3d536e1bf
2017-07-25Replaced video calling/camera permission dialog with a toast.calderwoodra
Since we are given the camera permission by default for video calling, we don't need to request it from the framework. But, for privacy reasons, we still need to tell the user that we have it. Since we're changing the preference for call composer, v10.1 users will see this this toast again if they've never made a video call. The toast is shown in the following situations: 1. If a user receives a video call 2. If a user makes a video call 3. If the user opens call composer The toast doesn't show: 1. If the user has already seen the toast anywhere before 2. If the user has revoked the system permission and grants it with a system dialog Bug: 36608790,63405063 Test: manual PiperOrigin-RevId: 162258610 Change-Id: Ie93413c9c2e1f083919e7183eb920100b06fd4a4
2017-07-25Merge changes I9b4919e9,I15419178,Ib0f46aed,If592be8cEric Erfanian
* changes: Fix Lightbringer call upgrading when Dialer was not in memory before the call Handle null host for secret code Dont start a service to cancel missed call notifications, use DialerExecutor instead Fix NPE when user click on call log.
2017-07-24Merge "Add simulator to manually override voicemail carrier configs"Eric Erfanian
2017-07-24Fix Lightbringer call upgrading when Dialer was not in memory before the callroldenburg
We need to load reachability data if we do not already have it when checking for upgrade. Previously we only did this for reachability. Bug: 63757003 Test: LightbringerImplTest PiperOrigin-RevId: 162246049 Change-Id: I9b4919e938b814ea18dc5107967bb6de7a945c19
2017-07-24Handle null host for secret codetwyen
The "host" is the number in the "*#*#NUMBER#*#*" format. It was assumed that it could never be null, but silent crash reports proved it wrong. Repro steps are unknown. Bug: 63711549 Test: PawSecretCodeListenerTest PiperOrigin-RevId: 162232903 Change-Id: I15419178099cea7f05c1c9ed5cd595a01ae8db2b
2017-07-24Dont start a service to cancel missed call notifications, use DialerExecutor ↵roldenburg
instead We cannot start services while in the background on O. Currently, we start a service to cancel missed call notifications in the onStop of our Activity. This is when we are going into the background so it is not safe (as we have seen from the crashes). Bug: 63633461 Test: CallLogNotificationsServiceTest PiperOrigin-RevId: 162029424 Change-Id: Ib0f46aed848ba0898af8cbee1c114b1e41f3ae32
2017-07-24Fix NPE when user click on call log.wangqi
This is caused by null tag of videoCallButtonView when expanding action view. Bug: 63710739 Test: none PiperOrigin-RevId: 162011496 Change-Id: If592be8cd9b05c369e2ff8b51610d93af48834f1
2017-07-24Add simulator to manually override voicemail carrier configsEric Erfanian
This allow new carriers to test their values or help debug/QA for situations like disabling prefetch. Bug: 63013427 Test: N/A use at your own risk. PiperOrigin-RevId: 162003756 Change-Id: Ifb227163bc3f2a94c1c07cc60fdc3a031fd625c8
2017-07-24Update ECCapabilities for temporarily unavailable statusmaxwelb
This CL makes a number of changes to include temporarily unavailable statuses (go/ec-temp-unavailable) as part ECCapabilities. - Adds isTemporarilyUnavailable methods, which will be set by ECBroadcastReceiver upon getting a capabilities update. - Adds a builder to ECCapabilities as there are now 4 booleans that are set upon construction. - Changes the names of getters on ECCapabilities, which was required to get autovalue to correctly generate the builder. - Adds an ALL_CAPABILITIES constant to match the NO_CAPABILITIES constant. Bug: 62609419 Test: Existing tests, ECCapabilitiesTest PiperOrigin-RevId: 161890511 Change-Id: I967a9a14793ac12101ecfed59e5f7af1217faf3b
2017-07-24Fix order of TextAppearance style in incall ui.wangqi
This is just a code style clean up. Test: none PiperOrigin-RevId: 161885792 Change-Id: I6827f562faeca92f304efbfdb2ff35c918915a26
2017-07-24Use a shared thread pool for spam transport.zachh
Before, we were creating a custom thread pool for spam transport, which isn't necessary. Instead, we can just use an application wide thread pool. Also fixed some instances where we were not clearing the thread stats tag after opening the socket. Test: manually launched app with data cleared and observed no crash PiperOrigin-RevId: 161882076 Change-Id: I39bdd31cf5fa8a974d7535e861ec0716c85986f3
2017-07-24Reorganized dialer traffic stats tags.zachh
We now have googledialer, aosp dialer, and voip registries for traffic tags which should always be used to avoid reusing tags. There are comments in each file about the reserved tag ranges. Note that this moves some traffic tags from one value to another. Traffic data is cleared across device restarts so that shouldn't be a problem. Test: unit tests verify no conflicts PiperOrigin-RevId: 161848949 Change-Id: I5b51e6242494a0bc211748f793a415a5fead5097
2017-07-24Fix bubble for video call upgrade.yueg
Bubble showed call ended text and didn't dismiss when requesting/receiving video call upgrade. Fix it by showing text only when call is really disconnected and always hiding. Request upgrade, declined and then accepted: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKZURkNWVOMnNnZHc Receive upgrade, declined and then accepted: https://drive.google.com/a/google.com/file/d/0Bz1rQbdSCWSKWGhJbi1uR004REE Test: manual PiperOrigin-RevId: 161750763 Change-Id: Iefb58edfbfffc33ee5231ef4928f31202e2880f4
2017-07-24Fixes the Hebrew translation for calls <60s in length.calderwoodra
The Hebrew translation had an extra single quotation causing an UnboundQuotationException. This change fixes that temporarily by looking for that specific translation and adjusting it. This change should be reverted once the translation is corrected. Test: release build in hebrew results in no crash, manual test PiperOrigin-RevId: 161730025 Change-Id: Ifb171e3e795e91a93096493ec770ae339a6ed12f
2017-07-24Move contacts common LetterTile class into its own package.Eric Erfanian
A subsequent change will move the ContactPhotoManager related code, eventually enabling the removal of contacts/common. Bug: 37208805 Test: TAP PiperOrigin-RevId: 161724700 Change-Id: Ice0789951ae544f6e27bcdaab0c032b218c83613
2017-07-13Set CallDetailsActivity exported to false.erfanian
Bug: 37846172 Test: on device PiperOrigin-RevId: 161720359 Change-Id: I2df2036c6d9941d37511f450f58682cf07e774b0
2017-07-13Cache video state to avoid performance issue.wangqi
This is temporary solution to avoid expansive operation for frequent method calls. In long term we should figure out a better way for such cases. Bug: 62424638,62426694 Test: manual PiperOrigin-RevId: 161717598 Change-Id: I75e6589174b81ae611893e5435a94e7f629f500f
2017-07-13Contacts headers now update properly when you fast scroll backwards slowly.calderwoodra
video: https://drive.google.com/open?id=0B2Hce9qilHmvdl8xY1hmcDZ0R3M Test: manual PiperOrigin-RevId: 161713747 Change-Id: I8185ca897a82479ef7c552a1ce6891e31c4c5aad
2017-07-13Adjust call composer for dimensions so all items fit on screen for large dpi.calderwoodra
screenshots: default sizes: before: http://screen/u29zyepX0OM after: http://screen/tXGSUbNfWAE large sizes: before: http://screen/NH3OmGDRyBp after: http://screen/W6DVopCxMUp Bug: 63156716 Test: screenshots PiperOrigin-RevId: 161693857 Change-Id: I8310336080ae080dc586dcf21d4966260880a627
2017-07-13Display correct string for Lightbringer calls in call detailsroldenburg
Without this change, all video calls are referred to as just "video call". This CL uses the Lightbringer interface to allow customizing that text. Before: https://drive.google.com/open?id=0B7uuA4cyYX0xeVZCTGtMUUtoRVU After: https://drive.google.com/open?id=0B7uuA4cyYX0xMnFhbTBXMDI2VW8 Bug: 63138393 Test: CallTypeHelperTest PiperOrigin-RevId: 161692812 Change-Id: I36dc1a1fae96dddee91c5efb8892c4a6c7ef67ca