summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-18[SP 2025-09-01] cleanup: Fix permission protection of ↵banksia-dev Daniel Norman
setObservedMotionEventSources The previous permission protection was done inside a Binder clear identity call, meaning that it used the permissions of system_server instead of the permissions of the calling AccessibilityService. Bug: 419110583 Test: atest AccessibilityServiceInfoTest Flag: EXEMPT security bugfix Change-Id: If64838388fa31bdc9abb0896d4011bfef8501a7c
2025-09-18[SP 2025-09-01] Prevent root from getting unverified attributions from non ↵ Nate Myren
system apps Similar to shell, system server, and other packages, the root UID bypasses attribution tag registration requirements. This can be exploited by a malicious proxy app. Also fixes a bug which caused an unverified proxy app's attribution tag to be erroneously called "valid" if "finishProxyOp" was called for a non-system proxy app, and one of the special proxied apps Bug: 416491779 Test: atest AppOpsMemoryUsageTest Flag: EXEMPT see bug (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ab99cde450cf900767a641ddcf71f4a42e771334) Merged-In: I9b44465554e10b803bc9b4ab76130aaf9933f605 Change-Id: I9b44465554e10b803bc9b4ab76130aaf9933f605
2025-09-18[SP 2025-09-01] Ensuring valid packageName when granting slice permission Sunny Goyal
Bug: 401256328 Test: atest SliceManagerTest Flag: EXEMPT bugfix Change-Id: I8e28097c0570922d9fb9ec9588b45bf4361a5020
2025-09-18[SP 2025-09-01] Calculate how much memory is used per account. Dmitry Dementyev
Prevent storing new data in AccountManager DB if too much storage is used. Test: manual Bug:273501008 Flag: EXEMPT security fix. Change-Id: I88a0fef8e2e7bc232768bd5f7aa3f4bf87cb1c2c (cherry picked from commit 6b8138ca5279b89d99884092cd3a5ca777f027be)
2025-09-18[SP 2025-09-01] Don't allow hiding SysUi Pavel Grafov
Hiding SystemUI makes the phone impossible to use even when done inside managed profile. Bug: 328182084 Test: manual with custom DPC Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:befa3c99b9571d8f28f4974e0c4adfe538eeba66) Merged-In: I847cb6d69db4924b2b3ddb741ac61a8f065e7c78 Change-Id: I847cb6d69db4924b2b3ddb741ac61a8f065e7c78
2025-09-18[SP 2025-09-01] PrintSpooler: Require empty output for PDF Benjamin Gordon
When saving to PDF, request a truncated output stream in case the user selects to overwrite an existing file. Bug: 423815728 Test: Overwrite existing PDF Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d65493c65a94415208d4be2454181f214fb2ed03) Merged-In: Id598cd1a9d2456566f3905432eb7b5ffeab9d33e Change-Id: Id598cd1a9d2456566f3905432eb7b5ffeab9d33e
2025-09-18[SP 2025-09-01] Don't allow SdkSandbox to bypass systemUid check. Aseem Kumar
Test: atest Flag: EXEMPT security fix Bug: 397438392 Change-Id: I1003ac2a795c869aaeb292692b2681c7a5c8d12e (cherry picked from commit d400709160c8374d83a15dc7623b11434c08c4c6)
2025-09-18[SP 2025-09-01] Avoid mixups between different CPSes in ZenModeConditions Matías Hernández
A couple of places in ZenModeConditions assumed that condition id uniquely determines ConditionProviderService, which is not correct. Additionally, verify that only system zen rules can be handled by system CPSes (schedule, event, etc). Bug: 391894257 Test: atest ZenModeConditionsTest Flag: EXEMPT Bug fix Change-Id: I7bff4b04674b5f247bd3b8b6920af029ef8098f5 Merged-In: I7bff4b04674b5f247bd3b8b6920af029ef8098f5 (cherry picked from commit 5cb0ae9c43e2262ad37f599de4c65bb31841f936)
2025-09-18[SP 2025-09-01] Implement onNullBinding() in autofill service connection Haoran Zhang
With this fix, an autofill service which returns null in onBind() will no longer stay bound by system_server and will no longer be able to launch activities from the background. Flag: EXEMPT security bugfix Test: sts-tradefed run sts-dynamic-develop -m StsHostTestCases -t android.security.sts.Bug_401545800 Bug:b/401545800 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d883efa912c0a39c46437074576cffb7078ac455) Merged-In: Ieb3e63fe2ac1f440be3d164730ef3110209ec1a6 Change-Id: Ieb3e63fe2ac1f440be3d164730ef3110209ec1a6
2025-09-18[SP 2025-09-01] Prevent non-system ShutdownActivity from being launched by ↵ Dmitri Plotnikov
BatteryService Bug: 380885270 Test: adb shell dumpsys battery set temp 1001 Flag: EXEMPT bug fix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8cda6fda96c420588a5f8f5112522cfde14659b4) Merged-In: I6c00b47d424d81712bd9634c31de4b7d2e9cbe31 Change-Id: I6c00b47d424d81712bd9634c31de4b7d2e9cbe31
2025-09-18[SP 2025-09-01] Trim oversized strings in setId and setConversationId Alisa Hung
Flag: EXEMPT bugfix Test: android.app.NotificationChannelTest Test: cts NotificationChannelTest Bug: 419014146 Change-Id: Id721d3123ee8d38753f550fe57ba0f5d15d743ac (cherry picked from commit a9a1b4365b8d6def5b36fed7dd9caf2389fe0a51)
2025-09-18[SP 2025-09-01] Check DPC package validity during package updates Rubin Xu
Bug: 384514657 Bug: 414603411 Test: manual Flag: EXEMPT bugfix Merged-In: I0c629c138059a71786e82b4653de9cef7e951aad Merged-In: I1743c111f8e8b5f4c1f878a61b88b8f1ed6b86a1 Change-Id: I1743c111f8e8b5f4c1f878a61b88b8f1ed6b86a1
2025-09-18[SP 2025-09-01] DevicePolicyManager: ignore invalid proxy settings Rubin Xu
Ignore exceptions thrown when invalid proxy settings are being applied, in order to avoid breaking callers performing potentially security-sensitive operations (like removing an ActiveAdmin) Bug: 365975561 Test: manual Flag: EXEMPT bugfix Merged-In: I496b9ce7a0bbb1e6c245682be57b7357bb432d42 Change-Id: I496b9ce7a0bbb1e6c245682be57b7357bb432d42 (cherry picked from commit 2ea32931ef9a06a762b8cf21584f156140672472)
2025-09-18[SP 2025-09-01] [RESTRICT AUTOMERGE] Disallow PINNED in setLaunchWindowingMode Hongwei Wang
- Throw security exception if setLaunchWindowingMode is called with WINDOWING_MODE_PINNED - Deprecated also test cases that are irrelevant after this change Flag: EXEMPT security fix Bug: 388029380 Test: atest PinnedStackTests \ SafeActivityOptionsTest \ TaskLaunchParamsModifierTests Change-Id: I9d37d41af3d86f785fd5d85503b544552b39cac4
2025-09-18[SP 2025-09-01] Move BP window to Keyguard_dialog Austin Delgado
Bug: 384727394 Test: UdfpsControllerTest Test: UdfpsControllerOverlayTest Flag: EXEMPT bugfix Change-Id: Ifce421be7997eca4323a2e0412abca5753b6b787 (cherry picked from commit 47fd897138eb2c9ee3a25ca35970d34178226f6a)
2025-09-18[SP 2025-09-01] Limits the display name to 1024 characters Evan Chen
Bug: 418773283 Test: cts Flag: EXEMPT bugfix Change-Id: I29e050c498e813e291af213ce4ddc590559c8b7d
2025-09-18[SP 2025-09-01] Unexport ControlsActivity Behnam Heydarshahi
Also do not draw non-system windows on top of ControlsSettingsDialog Bug: 404256832 Flag: EXEMPT bugfix Test: atest ControlsSettingsDialogManagerImplTest Change-Id: I63e98794e1a93e3c208ee421654d73542d2bd34a (cherry picked from commit 0042369de2a626f462b3d0dff8db2294aa24ffec)
2025-09-18[SP 2025-09-01] Use consistent animation when forcibly hiding non system overlay Riddle Hsu
There are several non system overlay window types. When hiding the windows with animation, their specified exit animations may be used. This avoids ugly jump cut and inconsistent duration when these windows are requested to be hidden. Bug: 408215749 Flag: EXEMPT bugfix Test: Show multiple windows with different overlay types and window animations by non system apps. Launch Settings and check the windows are fading out in a short time. (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dd71ab6ba3950978bd28dc38fecec236cf1153ea) Merged-In: Ie7bb2663892d608715aa077e2170eae4c03a4e36 Change-Id: Ie7bb2663892d608715aa077e2170eae4c03a4e36
2025-09-18[SP 2025-09-01] Do not allow custom animation of untrusted Toast Riddle Hsu
Since target API level 30 (Android 11), regular text toast is shown by SystemUI (See#CHANGE_TEXT_TOASTS_IN_THE_SYSTEM). While legacy apps and deprecated custom view show the toast in its own processes, so force the default animation style for these usages to avoid unexpected animation duration. Such when setForceHideNonSystemOverlayWindowIfNeeded is triggered, the regular Toast displayed by SystemUI won't be affected (because SystemUI has internal permission), and the untrusted Toast can be hidden in a short time (config_longAnimTime=500ms) instead of a customized duration. Bug: 408215749 Flag: EXEMPT bugfix Test: Show a Toast with modified WindowManager.LayoutParams#windowAnimations (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3beed7b34e54f2147aef9e9e5bbb413527b399fa) Merged-In: Ib2844dedebfa3ec9fc8333af3f66bb07cd4d3d7f Change-Id: Ib2844dedebfa3ec9fc8333af3f66bb07cd4d3d7f
2025-09-18[SP 2025-09-01] Don't show dismissible keyguard in app pinning mode Beverly
On foldables, if the "Continue using apps on fold" is set to "Swipe up to continue", when closing the device, a dismissible keyguard will show. If this setting is set, and there's a pinned app, instead of showing the dismissible keyguard on fold, we keep the screen on with the app displayed. This keeps the app pinned and in the same security state as when it was unfolded. Bug: 404252173 Flag: EXEMPT bugfix Test: manually (given settings described above), pin app, fold; observe app still shows with screen on Change-Id: I61e2014b9d21862859090707e5531a61bf966fc3 (cherry picked from commit 14f874decfdd5616b9fb3804154dd2560ebad0a1)
2025-09-18[SP 2025-09-01] Fix starting the activity with incorrect pid/uid Louis Chang
Starts the activity in the same thread vs. in the frame callback. Bug: 406763872 Test: am start-in-vsync Flag: EXEMPT bugfix Change-Id: Ida3648fb8a4c7e4801b024622f7e5f1110184a0d (cherry picked from commit fca9c788b3364017b021544ec9594b43c93c9d29) Change-Id: Ifb5e130a1e73e076233b6d78e2ab7bc118dce35b
2025-09-18[SP 2025-08-01] Defer remove splash screen while device is locked wilsonshih
...and activity does not request showWhenLocked. The splash screen won't contains secure information, so it's safe to declared as showWhenLocked. But before remove starting window, if the activity does not request showWhenLocked and device is locked, try to trigger unoccluding animation, and keep app window hide until transition animation finish. Bug: 378088391 Bug: 383131643 Test: run simulate app repeatly, verify the app content won't be visible during transition animation. Merged-In: Id4db3772950059803883d00f9dd6b94aa98382f0 Change-Id: Id4db3772950059803883d00f9dd6b94aa98382f0
2025-05-07Merge cherrypicks of ['googleplex-android-review.googlesource.com/33419866'] ↵ Android Build Coastguard Worker
into 25Q2-release. Change-Id: I1a683267af38e0d7229f3d4681eada94d6988901
2025-05-07Add api for cts test to ignore plmn list from storage Aishwarya Mallampati
Bug: 415139661 Test: make Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5ad9e39e17de307d62e5044189e50cb635954957) Merged-In: I1b72121e6170741d363af2d6b26db7840ae9298d Change-Id: I1b72121e6170741d363af2d6b26db7840ae9298d
2025-05-01Merge cherrypicks of ['googleplex-android-review.googlesource.com/32828426'] ↵ Android Build Coastguard Worker
into 25Q2-release. Change-Id: If14877818a4cbf4088cb09eb8848f243bb0088b1
2025-05-01Fix a race condition when testing trade-in mode. David Anderson
It's possible for trade-in mode to race with normal userdebug adbd when using "tradeinmode testing start". We previously tried to fix this using property triggers, but it's cleaner to simply set the tradeinmode persist property before rebooting. Bug: 381182849 Flag: EXEMPT bugfix Test: adb shell tradeinmode testing start (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a5590c89745001afea1b1aaad665204e1ea5a03b) Merged-In: Ibb07c379f0947721a11c6fc521bf3c784b54016c Change-Id: Ibb07c379f0947721a11c6fc521bf3c784b54016c
2025-04-30Merge cherrypicks of ['googleplex-android-review.googlesource.com/33316225', ↵ Android Build Coastguard Worker
'googleplex-android-review.googlesource.com/33327509'] into 25Q2-release. Change-Id: Icd03a150140d8957e96d22ec46d8eec7badb7332
2025-04-30Fix bug of unable to suspend packages after reboot Rubin Xu
Make copy of an immutable collection before operating on it. Bug: 408976950 Flag: EXEMPT bugfix Test: suspend packages with TestDPC, reboot device and try suspend / unsuspend again. (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d2b4b028971ced322a7052cfa5c270d6bc9d62d7) Merged-In: I7b6fe55a0a41d74492579f6f99987fab9467c898 Change-Id: I7b6fe55a0a41d74492579f6f99987fab9467c898
2025-04-30Silence easter egg notifications. Dan Sandler
Bug: 412622628 Flag: EXEMPT bugfix Test: adb shell am start -n com.android.egg/.landroid.MainActivity (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:21fb0e179ff72dfe2ba3aa36b980616c0e8d38a3) Merged-In: Id27b0b244580e97a00fa6269e4abd9424329e7be Change-Id: Id27b0b244580e97a00fa6269e4abd9424329e7be
2025-04-30[coastguard skipped] Merge sparse cherrypicks from ↵ Android Build Coastguard Worker
sparse-13425744-L97400030011689433 into 25Q2-release. COASTGUARD_SKIP: Iead9c06835a227ae870ba71d70a9e9461ef64be9 COASTGUARD_SKIP: I49b425dc1c7d50cd7ef1e0dbea4b880633dd021c Change-Id: Iee447d138c0ad0206133f722b8cfe0c8efe27f1c
2025-04-30Merge cherrypicks of ['googleplex-android-review.googlesource.com/33320898'] ↵ Android Build Coastguard Worker
into sparse-13425744-L97400030011689433. SPARSE_CHANGE: Iead9c06835a227ae870ba71d70a9e9461ef64be9 Change-Id: I49b425dc1c7d50cd7ef1e0dbea4b880633dd021c
2025-04-30Whiskey icon patch Jay Wang
Bug: 406894719 Test: local test (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d3c4a764721ee8936b9bfcddedd2189f4c44cfbe) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:923b10bd201074c4bd49857030a89572769e5f7b) Merged-In: Iead9c06835a227ae870ba71d70a9e9461ef64be9 Change-Id: Iead9c06835a227ae870ba71d70a9e9461ef64be9
2025-04-24Merge cherrypicks of ['googleplex-android-review.googlesource.com/32944241'] ↵ Android Build Coastguard Worker
into 25Q2-release. Change-Id: I6fdec5ceb471d794cb8525dfde12865839f62a56
2025-04-24UserSwitchingDialog timeout shouldn't remove all callbacks and messages. Yasin Kilicdere
The UserSwitchingDialog's timeout mechanism incorrectly removes all callbacks and messages. This causes unexpected behavior, notably the loss of a crucial post message (linked in the bugs). Bug: 409311749 Bug: 406689907 Test: atest UserControllerTest Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:82fc90457b122310ebcc4315958985db8db714bf) Merged-In: I4e353d751ea211cac2c1014c7b201da4d1cd1f7f Change-Id: I4e353d751ea211cac2c1014c7b201da4d1cd1f7f
2025-04-23[coastguard skipped] Merge sparse cherrypicks from ↵ Android Build Coastguard Worker
sparse-13392877-L45400030011494577 into 25Q2-release. COASTGUARD_SKIP: I8ddb9c2c8a815f0268bf6a05f45732a2e077827a COASTGUARD_SKIP: I48f4121bf0cac84cce54cfa32f7ec5b14c0a9a90 COASTGUARD_SKIP: Iead9c06835a227ae870ba71d70a9e9461ef64be9 Change-Id: I3c61a142ffca401819ed49d076e86db7b5715e26
2025-04-23Merge cherrypicks of ['googleplex-android-review.googlesource.com/33062870', ↵ Android Build Coastguard Worker
'googleplex-android-review.googlesource.com/33113932'] into sparse-13392877-L45400030011494577. SPARSE_CHANGE: I48f4121bf0cac84cce54cfa32f7ec5b14c0a9a90 SPARSE_CHANGE: Iead9c06835a227ae870ba71d70a9e9461ef64be9 Change-Id: I8ddb9c2c8a815f0268bf6a05f45732a2e077827a
2025-04-23Whiskey icon Jay Wang
Bug: 406894719 Test: local test (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e938747540d823eedac92fb6646ee8c3223d7d76) Merged-In: Iead9c06835a227ae870ba71d70a9e9461ef64be9 Change-Id: Iead9c06835a227ae870ba71d70a9e9461ef64be9
2025-04-23Change charging string in keyguard Jay Wang
Charging speed won't be meaningful when the battery is in a bad state, so only provide the general charging info in this case. Bug: 406894719 Flag: EXEMPT bugfix Test: local test (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:906118b6e60ba4e152ae8884ec44ec48d3187f0d) Merged-In: I48f4121bf0cac84cce54cfa32f7ec5b14c0a9a90 Change-Id: I48f4121bf0cac84cce54cfa32f7ec5b14c0a9a90
2025-04-22Merge cherrypicks of ['googleplex-android-review.googlesource.com/33132884', ↵ Android Build Coastguard Worker
'googleplex-android-review.googlesource.com/33175634'] into 25Q2-release. Change-Id: Ib730adef8c222bc80879376e4c7891edf56df2a5
2025-04-22[Intrusion Logging] Fix INetdEventCallback in disable Liz Prucka
The INetdEventCallback CALLBACK_CALLER_DEVICE_POLICY is registered, but the incorrect callback was removed. Bugfix so the correct callback is toggled. Bug: 412330307 Test: atest android.security.cts.IntrusionDetectionManagerTest Ignore-AOSP-First: security feature Flag: EXEMPT: bugfix in localized component (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:609dd77d532761620249061b93850e596915c518) Merged-In: I46ee5844dc2ebf3d4e41af699d93fede5c70dd7c Change-Id: I46ee5844dc2ebf3d4e41af699d93fede5c70dd7c
2025-04-22[res] Fix a crash for the apps doing a bad thing Yurii Zubrytskyi
Some apps started crashing after the CL that changed one of the parameters of ZipAssetsProvider constructor from time_t to timespec. Apparently they dlsym() and call that constructor, even when it's not a public or somehow supported API. This CL puts one back for them so they at least don't stop working all at once, and instead it just logs an error so the developers could at least know they're doing a BAD THING. + fix the timespec operator== to actually compare nanoseconds. Bug: 406670650 Test: run the app and ensure it launches Flag: EXEMPT bugfix - a dummy symbol that's unflaggable (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:481f13eaff6a88cbe9b8b9da65f52bc26ba440bd) Merged-In: I85e03985d7303f4e0f943441da57cf0f50230db6 Change-Id: I85e03985d7303f4e0f943441da57cf0f50230db6
2025-04-21Merge cherrypicks of ['googleplex-android-review.googlesource.com/32740902'] ↵ Android Build Coastguard Worker
into 25Q2-release. Change-Id: I9603256482e5a5e07154d38c50aff050cf49f591
2025-04-21Fix crash in SettingsSpinnerAdapter David Liu
getItem(position) will return T but not String. It'll always crash if T is not String. Bug: 406736217 Test: manual Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:075cf4e48461614bb97c10edab3c7fd1a397000d) Merged-In: Ic85341cd66770792ad986fa34a461d9eed95dc18 Change-Id: Ic85341cd66770792ad986fa34a461d9eed95dc18
2025-04-18Merge cherrypicks of ['googleplex-android-review.googlesource.com/33076942'] ↵ Android Build Coastguard Worker
into 25Q2-release. Change-Id: I25e553cce3976ca2ec7e5f463563b12dbf5414dd
2025-04-18[B&R]Fix temperature unit not restored Allen Su
1.Add measurement unit into B&R 2.Return filtered list due to u extension Flag: EXEMPT bugfix Bug: 403231848 Bug: 407886693 Test: atest SettingsHelperTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:bc3fc6158fffac4eba53f33f40c80fef39594eab) Merged-In: I5070bc023090076c2a173327b855be212889a753 Change-Id: I5070bc023090076c2a173327b855be212889a753
2025-04-17Merge cherrypicks of ['googleplex-android-review.googlesource.com/32575879', ↵ Android Build Coastguard Worker
'googleplex-android-review.googlesource.com/32891320'] into 25Q2-release. Change-Id: I8c4eb3f4cf17d381995f44ca0e8ddac9394ddb59
2025-04-17DreamService should execute runnables in place if already in main thread petsjonkin
Bug: b/394274826 Test: atest DreamServiceTest , manual testing Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:181c1789a3512e83514a12bd5d9980c36952e3aa) Merged-In: Ic302b534509d0eeabea567d95a2607a03801ee4d Change-Id: Ic302b534509d0eeabea567d95a2607a03801ee4d
2025-04-17Only update remote target, if visibility is different from input target Felix Stern
When syncing the visibility of the imeInputTarget to the (RemoteInsets)ControlTarget, without having an actual change, the upcoming call to updateClientVisibility will be ignored and we don't invoke the IMMS listener. Therefore, we should only sync the visibility when it's different between imeInputTarget and controlTarget - otherwise we can directly invoke the listener. Fix: 402547338 Fix: 405296840 Flag: android.view.inputmethod.refactor_insets_controller Test: atest ImeInsetsSourceProviderTest#testUpdateControlForTarget_remoteInsetsControlTargetUnchanged Test: manual: open view where controlTarget=RemoteInsetsControlTarget; Open another fullscreen app and request IME; close new window to return to RICT (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:43624020c81c27f67beb882d4cabb6ea041a6c89) Merged-In: I96ffe688ae5eb32e325f3f7c9c62b392f7287100 Change-Id: I96ffe688ae5eb32e325f3f7c9c62b392f7287100
2025-04-16Merge cherrypicks of ['googleplex-android-review.googlesource.com/32753793', ↵ Android Build Coastguard Worker
'googleplex-android-review.googlesource.com/32754356', 'googleplex-android-review.googlesource.com/32627908'] into 25Q2-release. Change-Id: I4f68886629a85d4c404dfc7e276b1ab2363c50b4
2025-04-16Revert "Update SCVH InputTransferToken when available" Android Culprit Assistant
This revert was created by Android Culprit Assistant. The culprit was identified in the following culprit search session (http://go/aca-get/78a373af-3d5f-4015-a25e-bcb24843f6a9). Bug: 405254118 Signed-off-by: boq-android-culprit-assistant@system.gserviceaccount.com (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c77468cfe08273d1d568e71e17b5fc4e20b8f6ff) Merged-In: Id09afebdfdb16d58c17da55c070a023e9aca9a1a Change-Id: Id09afebdfdb16d58c17da55c070a023e9aca9a1a