summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/main/impl
AgeCommit message (Collapse)Author
2018-03-15Adjust bottom nav margins, sizes, ect.calderwoodra
Test: n/a PiperOrigin-RevId: 189274795 Change-Id: I495e326ce74568d8add739275562284ef12e276f
2018-03-15Resolve all build resource conflicts.calderwoodra
For simplicity, instead of resolve the nui shortcut string, I deleted it since it isn't used anymore. Test: build log PiperOrigin-RevId: 189260472 Change-Id: I67d5a49d78916a8960e41ad1c7b7f59efad6d718
2018-03-15Register ShowBlockReportSpamDialogReceiver in MainActivity.linyuh
Bug: 73830902 Test: Manual PiperOrigin-RevId: 189222303 Change-Id: I0397986d784d28e7948b39778319e3936f6c55e9
2018-03-14Split CallDetailsActivitylinyuh
Bug: 74202944 Test: Existing tests PiperOrigin-RevId: 189095432 Change-Id: I13015ee6c5767edd95b78c3fb2e7338495e9e1d7
2018-03-13Fixed overlapping fragments issue.calderwoodra
Fast consercutive calls to #showFragment can have undesirable effects because fragment manager doesn't handle transactions sychronously. This CL resolves one of the scanrios where voicemail fetch status was calling #showFragment nearly simulataniously to the #onHandleIntent call. This issue may show itself again and I'm looking into more long term solutions but we should be fine in the short term since the all of our fragment logic is implemented. Bug: 74051208,74621909 Test: manual PiperOrigin-RevId: 188956984 Change-Id: I0796e31b03e0b749ae7e81f82859ea6f814a5fb5
2018-03-13Removed references to MainActivity since they weren't necessary.calderwoodra
Test: existing PiperOrigin-RevId: 188928916 Change-Id: I2b6fb73545194fa175526a77ce2a76b1d23c049d
2018-03-12Keyboard and search now close when appropriate.calderwoodra
Keyboard should close when: - requeting permission - placing a call - leaving the app Search should close when: - placing a call - leaving the app Bug: 74235853 Test: search closing onPause tests already exist (MainActivityOldPeerSearchIntegrationTest#placingCallFromSearchClosesSearch) PiperOrigin-RevId: 188812026 Change-Id: Iaee084c59b4c514d10375deff5d73d5a456ef9df
2018-03-08Bring back new navigation screen event logging.yueg
Test: MainActivityOldPeerTest PiperOrigin-RevId: 188409482 Change-Id: I0c132c49d63b9af849522851c55f51d431faa603
2018-03-07Combine fragment hide/show transactions into one transaction.roldenburg
My hypothesis is that trying to commit multiple seperate transactions back to back causes the fragment container to get into a weird state. So this change has two parts: - Disable preloading call log - Combine the seperate hide/show transactions into one transaction - Don't call conflicting transactions (i.e. hide then immediately show) Bug: 74051208 Test: existing tests, manual PiperOrigin-RevId: 188215791 Change-Id: I699fc02f1e2716bc019a29dc047ee4bc0d52df35
2018-03-06NUI loggingyueg
- Add screen events for 4 tabs, dialpad and search. - Add impressions for opening MainActivity with tabs/dialpad (non user tab selection). - Add impression for VVM visible. Bug: 72525843 Test: MainActivityOldPeerTest, MainSearchControllerTest PiperOrigin-RevId: 188090249 Change-Id: Ifdf3519f07d7230f20b5d82691a96747b1944d63
2018-03-01Implemented DialerFloatingActionButtoncalderwoodra
Implemented wrapper class for FloatingActionButton to resolve some of FloatingActinButton's many issues. One of which is alllowing clicks while animating that was causing a crash in NUI. This change also fixes an issue with the dialpad exit animation. Bug: 73995512 Test: Robolectric and Espresso don't support these kinds of tests very well PiperOrigin-RevId: 187556390 Change-Id: I4cb7c2346a0ef09f2f3d8b48e7e14d01460cd1a7
2018-03-01Rename NUI logging prefix from NUI_ to MAIN_yueg
Bug: 72525843 Test: none PiperOrigin-RevId: 187500135 Change-Id: Iaa73b9355a6b5c299f73fd113eb1f74a3eb47dd4
2018-03-01Added same primes metrics that existed in Dialtacts to NUI.calderwoodra
Test: n/a PiperOrigin-RevId: 187442952 Change-Id: I9463e2c976102276ebc5886531397ad0cf160b78
2018-02-28Preload call log fragment on app start.calderwoodra
Default is set to true but if we see issues with startup latency we can disable this server side. Test: n/a PiperOrigin-RevId: 187419851 Change-Id: I6d1debfed86dbcaf3ee73ec0906e514a2687e2c0
2018-02-28Some small bug fixes in NUI.calderwoodra
- Never show the dialpad chooser in MainActivity. - If the call log changed while dialer was in the background, it would trigger the content observer to fetch the new info, which would request it's parent that wasn't there. Now we register/unregister them in onResume/onPause. This is safe to do because we force refresh the data onResume anyways, so any changes will still be shown. Bug: 73972084,73975555,73995512 Test: manual PiperOrigin-RevId: 187407058 Change-Id: Iae86dabbcb852398bb2b9df4627e234261ab8030
2018-02-28Parity of OldMainActivityPeer with ListsFragment for VMuabdullah
This CL helps to ensure that when the VVM settings toggle is turned on or off, or a sim is swapped, inserted or removed the VM tab disappears and appears, just like it currently does. When a VM tab disappears we also move to the speed dial index. Bug: 73123614,73998717 Test: N/A PiperOrigin-RevId: 187400703 Change-Id: I76a0b43da86713caa67956413a39299c7ecbc8d1
2018-02-27Do not show the voicemail tab if the VM toggle is turned off.uabdullah
Bug: 73123614 Test: N/A PiperOrigin-RevId: 187255950 Change-Id: I9ab50a7a8052f325f1743721bf6432e6c4787a4e
2018-02-27Fab now hides/shows correctly when you enter and leave the voicemail tab.calderwoodra
Test: manual, going between tabs hides/shows the fab properly when ToS is (in)visible. PiperOrigin-RevId: 187253210 Change-Id: Ied9ea44892786268b9dfa68816840dfbfc74aa6e
2018-02-27Fixed some a11y issues in MainActivity.calderwoodra
- main fragments are no longer detected by talkback while search is open. - FAB now has a content description Bug: 73587831,73891132 Test: tap PiperOrigin-RevId: 187248081 Change-Id: I5a8fe2df23542d19c935cba77d1337ec753064af
2018-02-27Implement contacts promo in NUI.yueg
Bug: 72525950 Test: ContactsPromoFragmentTest, MainSearchControllerTest, OldGoogleMainActivityPeerTest PiperOrigin-RevId: 187224361 Change-Id: Idc43255ccc673c6c5c17b70d1f367d1a4802bfd0
2018-02-26Added Call History activity to MainMenu.calderwoodra
Test: MainActivityOldPeerIntegrationTest PiperOrigin-RevId: 187080344 Change-Id: I1c9fd942a4c198c9a914d6aefe7c4cc638f39c01
2018-02-26Implement logic of bottom sheet options related to spam numbers.linyuh
Bug: 70989605 Test: ShowBlockReportSpamDialogNotifierEndToEndTest + Manual PiperOrigin-RevId: 187047450 Change-Id: I23c3929135bcfe5c14fe317ef65f628dc126027f
2018-02-24Cancel Old SpeedDial contact loaders when they are reset.calderwoodra
This prevents to many loaders running at the same time and crashing the application for using too many threads at once. Also made a few UI changes: - Change Android nav bar color to #FFF - Move badges down 2dp - Limit badges to 9+ (instead of 99+, added flag to configure this) - search bar no longer has rounded corners when expanded Bug: 72525324 Test: MainActivityOldPeerTest PiperOrigin-RevId: 186894920 Change-Id: I36fc5d8794440b707184d54de427db5910ec5b8e
2018-02-24Fixed a few bugs in NUI Main Activity.calderwoodra
- Normalized the search query returned from DialpadFragment - Dial button now updates when given a psuedo emergency number - 'Clear frequents' now displays and functions properly in the menu - Added simulator to the menu Bug: 72525324 Test: added tests for clear frequents (only prod feature). PiperOrigin-RevId: 186875815 Change-Id: I3bad3c71b355b987fc85777550bfa1de5028c3a4
2018-02-22NUI bug fixes: handling intents and onActivityResult.calderwoodra
- Handle Calls.CONTENT_TYPE intents - Handle Add Call intents - Handle onActivityResults Bug: 72525324,72525840 Test: implemented PiperOrigin-RevId: 186523438 Change-Id: Ia014e5e10ee0be2f32a09df79b3ade12d09814e9
2018-02-22Fixed some Dialer theming bugs in NUI.calderwoodra
- URL links are now blue - Raised buttons are now blue w/ white text - android nav bar is white - call log actions/icons are the correct colors - search bar hint text is the correct color Bug: 72525324 Test: screenshot PiperOrigin-RevId: 186484088 Change-Id: I1863a28e1ea9bf16863f42299afca319a6bdcc97
2018-02-22When there is no VM support hide the tab in the Old Main Activityuabdullah
In the case where the user is not able to dial into the voicemail tab, or there exists another voicemail app, or VVM is not supported, we do not want to show the VM tab. This CL does not update the activity when a sim is inserted/removed. Bug: 73123614 Test: Unit tests PiperOrigin-RevId: 186433072 Change-Id: I0396b1e15c9a4740eee721af89dbfdf95696cace
2018-02-22Fixed some bugs in NUI search.calderwoodra
- Nearby places promo now displays properly - Dialpad now properly handles dial intents - placing calls from search now closes search - placing calls from search now closes the keyboard - toolbar shadow is now visible when search is started from the dialpad. Bug: 72525324 Test: MainActivityOldPeerSearchIntegrationTest PiperOrigin-RevId: 186390952 Change-Id: I7e10ef0499c787da2d1820cae915f2d42645303b
2018-02-22Fixed some issues in NUI search bar.calderwoodra
- search bar is now the correct height - search bar hint now updates for Google Dialer - search bar now properly slides up when in dialpad search Bug: 72525324 Test: GoogleMainActivityOldPeerIntegrationTest PiperOrigin-RevId: 186379302 Change-Id: If5ad570c89c6a784fa17df422d88e68c30356712
2018-02-22Fix a few UI issues based around multiselect in new nav.calderwoodra
- No longer crashes when entering mw-mode while in multiselect - Configuration changes now properly restore bottom nav visibility - toolbar shadow is now only visible in search Bug: 72525324 Test: MainActivityOldPeerSearchIntegrationTest PiperOrigin-RevId: 186037379 Change-Id: I5fc00c8091e85fc67482b2131944fb776626d06f
2018-02-22Do no preload dialpad fragment when opening search through search bar.calderwoodra
If the dialpad is preloaded it steals focus from the search bar. Aside from this, I believe this change also caused other regressions and makes the code harder to understand. Test: tap PiperOrigin-RevId: 185883795 Change-Id: Idbaca1df50ed02a698eb454cbb9de26a11e35f05
2018-02-22Add logging to NUI.yueg
Including: - switching tabs - touch search list - press back button - click search bar and voice button - click FAB Test: MainActivityOldPeerTest, MainSearchControllerTest PiperOrigin-RevId: 185875596 Change-Id: Ie7824ce2f7a2570327abdb35cef1538cad786e73
2018-02-22Implemented hangouts connection into GoogleMainActivity.calderwoodra
Bug: 72525950 Test: disabled GoogleDialtactsActivity and was able to place a call over wifi. PiperOrigin-RevId: 185867741 Change-Id: Id24b2318a8557a1b3262ff99b62303f4555728ed
2018-02-14Mark calls as read in new call log.zachh
Playing with the existing app, the missed call becomes unbolded when: 1) Expanding the row. The closest analog of this is in the new UI is opening the bottom sheet, I've done that. 2) Swiping away from the call history tab. This can't be done in NewCallLogFragment because it doesn't know if the user is selected a new tab or pressed Home. So, I implemented this in NewMainActivityPeer. 3) After viewing the call log for 3(ish) seconds and leaving the activity pressing Home/Back. This is best done in NewCallLogFragment#onResume since MainActivity doesn't always know when the fragment is being displayed (it could be done after the user comes back to the app after pressing Home for example). Note that the notification is also removed in all of these cases. Also note that dismissing the notification makes the call unbolded (but this case already appears to be handled via the system call log content observer). Also, as part of writing tests for this, I made TestCallLogProvider more realistic. Bug: 70989622 Test: manual PiperOrigin-RevId: 185457438 Change-Id: Ib360d3bc73083bd1a018ed98e2b7d9a69fb7fafb
2018-02-12Fixed some search UI nits.calderwoodra
- Search bar text no longer extends underneath the X/clear button. - Dialpad text is now preserved when it is lowered then raised again without leaving the search UI. - Search bar now has a shadow in the search UI Bug: 73088433 Test: tests for dialpad text logic PiperOrigin-RevId: 185350273 Change-Id: Ie4c968cba4f187af81121aa40d43c26a762cdd2b
2018-02-09Implemented NUI menu items.calderwoodra
Bug: 72526274 Test: implemented PiperOrigin-RevId: 185046520 Change-Id: I4740c0f4cadb39058a197f270f4fb0ad54846a69
2018-02-09Implemented GoogleMainSearchController to customize menu to GoogleDialer.calderwoodra
This change doesn't implement any of the menu actinos, it just abstracts some components so that the GoogleDialer toolbar menu can show help and feedback (and thus, AOSP won't). Bug: 72526274 Test: implemented PiperOrigin-RevId: 185033936 Change-Id: I30f8cde6705145ef95efcfc82973a8aa2b16e4ee
2018-02-09Deleted some unused classescalderwoodra
Test: tap PiperOrigin-RevId: 184876627 Change-Id: I8db7e08b3fe2f652f8733ecba7f8bc99803944fc
2018-02-06Implemented GoogleMainActivity.calderwoodra
This Activity is only visible if you flip the flag in the AndroidManifest. Bug: 72525324 Test: implemented PiperOrigin-RevId: 184719387 Change-Id: I88d7ee1be537cbe5aa5cd4ee5a8f84d56bddb757
2018-02-05Updated bottom nav to match redlines.calderwoodra
Bug: 72525324 Test: manual PiperOrigin-RevId: 184615350 Change-Id: Ic5701d67111e38f73dfa4be31dd89115ad7f5bb8
2018-02-05Missed calls now go to MainActivity if you have the component enabled.calderwoodra
This CL has a few changes of varying relevance: Most Relevance: - MissedCallNotifications will open MainActivity if the component is enabled (Meaning the launcher is in their app drawer and the flag is flipped). - Implemented show tab intent (open MainActivity directly to a specific tab) - Tests Some Relevance: - Implemented checking for ACTION_DIAL intents (dialpad will open immediately) - Tests Not Relevant but nice QoL changes: - Added tests for missed calls being marked as read - Makes espresso tests more horizontal to reduce timeouts - Bug: 72525550,72525615 Test: implemented PiperOrigin-RevId: 184600627 Change-Id: If96a44ce252e97c022ebc1b58fa783b3326035e7
2018-02-02Implemented drag to remove in NUI with old favorites.calderwoodra
This change moves the remove button to overlap the search bar instead of reside underneath it since we no longer have top tabs. Bug: 72722364 Test: manual PiperOrigin-RevId: 184347110 Change-Id: I5bfa70fec9dd7ee6ee0b7270039931f9277291f4
2018-02-02Implemented multiselect in NUI for VisualVoicemailFragment.calderwoodra
This solution has a couple hacks in it because the DialtactsActivity has a non-support ActionBar and MainActivity has a support Toolbar. When multiselect is implemented for NewVoicemailFragment, we should be careful to use support action mode instead of non-support action mode so that the transitions and styling are seamless and consistent. Bug: 72722083 Test: manual PiperOrigin-RevId: 184343414 Change-Id: Id16652de2d0add7b7c304d1cedb429fe9b1cf338
2018-02-02Split MainActivity into two peers, old and new to keep logic isolated.calderwoodra
This change updates MainActivity to defer lifecycle callbacks and other relevant methods to which ever peer is active, old or new. The old peer implements the logic for the old fragments. The new peer implements the logic for the new fragments. MainActivity implements the logic that is shared or common between the two like last tab, post call, search, dialpad, ect. Bug: 72525324 Test: pending PiperOrigin-RevId: 184317828 Change-Id: Ie73733f2a3837c9d63e54cf5b142984633340731
2018-01-31Implemented Last tab in NUI.calderwoodra
Now when the user exits Dialer NUI, next time they open Dialer they will return to the same location they were before. This change also preserves active tab through configuration changes. Bug: 72068052,72722083 Test: MainActivityIntegrationTest PiperOrigin-RevId: 184085830 Change-Id: Ic6d3bf7c9089b38d480dfc658127eec6c9c55bfb
2018-01-31Added old voicemail to NUI activity.calderwoodra
Bug: 72722364 Test: existing PiperOrigin-RevId: 184083186 Change-Id: Ia51a50b343f75eec74a02dc6b4383341f939793d
2018-01-31Implemented missed call/voicemail notifications in NUI.calderwoodra
This CL shows and updates the missed call/voicemail count in the bottom nav. It also clears the call log notifications when the user either leaves the call log fragment or closes the activity after 3 seconds of browsing the call log. Bug: 72525595 Test: tba PiperOrigin-RevId: 184071058 Change-Id: I540c9e3d815e022b5e311cb02a3995e241b8a984
2018-01-30Added old call log to NUI.calderwoodra
Bug: 72618828 Test: existing PiperOrigin-RevId: 183902491 Change-Id: I079aca188b52c29c12b3cae7e57bf71a4e883898
2018-01-30Add old speed dial fragment to NUI.calderwoodra
Bug: 72618868 Test: existing PiperOrigin-RevId: 183896896 Change-Id: I9b90aaa02e1c40f38fbbe636f4e51cfd01c570f6
2018-01-30Added badge count feature to bottom nav.calderwoodra
This Change doesn't actually fetch the badge counts, but it's now possible to set badge counts. Bug: 72525595 Test: manual PiperOrigin-RevId: 183887322 Change-Id: I452ca6352133befc8cc2a39c44cd84a33fd66d42
2018-01-30Update FragUtils to encourage better readability in Activities.calderwoodra
Bug: 72525324 Test: existing PiperOrigin-RevId: 183776841 Change-Id: Ia78002d3da823a228cf5a29f93cd53ad21105f94
2018-01-26Implemented Post Call in NUI.calderwoodra
Bug: 72525658 Test: PostCallIntegrationTest PiperOrigin-RevId: 183441836 Change-Id: Ie1f8da1a7e24b22c5aa79cfa2a1261beb23579a1
2018-01-26Pressing dial with an empty dialpad now queries the last number in NUI.calderwoodra
Bug: 72526019 Test: manual PiperOrigin-RevId: 183425741 Change-Id: Ied1b369d00baefe02db04ade26bee9faac4f829c
2018-01-26Add voice search to NUI.calderwoodra
Bug: 72525718 Test: MainActivityIntegrationTest PiperOrigin-RevId: 183418364 Change-Id: I30a4b7fe3e8a82c1b5cddcd747bd01ebd127b624
2018-01-24Add flag to enable NUI shortcut.calderwoodra
Bug: 64655802 Test: n/a PiperOrigin-RevId: 183149638 Change-Id: Idc58efced8f70311eccd67f403bc5bd98f3f8518
2018-01-23Pressing back button twice really quickly no longer crashes dialer.calderwoodra
Bug: 72319656 Test: manual PiperOrigin-RevId: 182947143 Change-Id: I70ed303ba8cdb64591ab6debf60eef540aacea73
2018-01-18Search, Dialpad, BottomBar and Toolbar now persist state through rotation.calderwoodra
Bug: 64655802 Test: MainActivityIntegrationTest PiperOrigin-RevId: 182460232 Change-Id: I59b5f6417dd4f1c2b56a9b8d08b9e12e0c51c411
2018-01-18Fixed regression with search not reacting properly to on touch events.calderwoodra
There are a few interesting UX niceties that we support in search: 1) When in regular search with an empty query, close the UI if the user touches the blank space. 2) When in regular search with a non-empty query, hide the keyboard if the user touches the the list so they can see all results. 2) When in dialpad search with an empty query, close the UI if the user touches the blank space. 3) When in dialpad search with a non-empty query, hide the dialpad so the user can see the full list of results. This change also adds logic to transfer the dialpad query to the search bar. Bug: 64655802 Test: MainActivityIntegrationTest PiperOrigin-RevId: 182434126 Change-Id: Iabb73b0018fa20e2811010a73a35d3aa3b35343b
2018-01-17Search query is now shared with the Search Fragment in NUI.calderwoodra
This change also adds the logic for triggering SmartDialDatabase updates in Activity#onResume so that Dialpad search has results it can show. Bug: 181512198 Test: n/a PiperOrigin-RevId: 182272002 Change-Id: I3f7f7795df5038c37c1c26e23f4fc816d515e41f
2018-01-17Moved SearchController into its own class.calderwoodra
It was starting to get pretty big and it's probably safe to say it deserves its own file now to declutter the main activity. Bug: 181512198 Test: existing PiperOrigin-RevId: 182264121 Change-Id: Id3314839bcd2fa10f48cc1f0df0bf202ce36ea3a
2018-01-17Updated toolbar and dialpad interactions in NUI.calderwoodra
Toolbar, Dialpad, Bottom Nav, FAB and Search now all show and hide properly according to the state of the application. Follow up CLs will include: - saving/restoring state - sending query to search fragment to display results Bug: 181512198 Test: MainActivityIntegrationTest PiperOrigin-RevId: 182259200 Change-Id: I1309d8df2a5425bf051e52a459a1f78e1157fe08
2018-01-12Added Dialpad to NUI.calderwoodra
This change adds the existing dialpad to the new UI and the animation logic required to show/hide it along with the toolbar. A follow up CL will come afterwards to combine these animations with the toolbar expanding/collapsing. known issue: bottom nav appears over the dialpad. Bug: 181512198 Test: MainActivityTest PiperOrigin-RevId: 181777370 Change-Id: Ief1591174ebca3a709df6d1d38c8b8ecbdc1878e
2018-01-12Added search bar animations to NUI toolbar.calderwoodra
Bug: 181512198 Test: MainActivityIntegrationTest PiperOrigin-RevId: 181771027 Change-Id: Id2b6d35cec928cbd2fed8ad75a9da007af9e826e
2018-01-10Added Search Bar to NUI.calderwoodra
This change only adds the views but doesn't implement any logic or functionality. That will come in a future CL. A decision was made here about whether to create a new search bar or reuse the old one. I opted to make a new one to avoid breaking the old one while it's still being used. Bug: 64655802 Test: n/a PiperOrigin-RevId: 181512198 Change-Id: Ib377b1d99f4eb8100204ac9a110dc5899bced392
2018-01-09Implemented Bottom Nav in Dialer NUI.calderwoodra
Bug: 64655802 Test: existing PiperOrigin-RevId: 181339724 Change-Id: I05c48d0a046010baf6b6593de3b934fdaf3e9f08
2017-12-22Fixed crash in UiListener when launching activity with screen off.zachh
When launching MainActivity with the screen off (e.g. from Android Studio) the application would crash due to: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState Also use FragmentPagerAdapter in MainPagerAdapter as the number of tabs is small and can be stored in memory. Test: manual PiperOrigin-RevId: 179734952 Change-Id: Ib2ca9674f3174493da55bbbf0ef4053fcf73ab47
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-09-27Setup recycler view for new voicemail uiuabdullah
Screenshot:http://screen/RK42CXn5uB6 Bug: 64882313,33006245 Test: VoicemailFragmentTest, NewVoicemailCallLogAdapterTest, NewVoicemailCallLogViewHolderTest PiperOrigin-RevId: 170129401 Change-Id: Ib82357763bd9cf9f215804225be009650402fe84
2017-09-22Update package assets and strings.Eric Erfanian
Test: TH Change-Id: I48e807f3eafbc82401b2674a2610b20bf118c275
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