Commit Graph

568 Commits

Author SHA1 Message Date
Daniel Kim
ba16af7804 Merge "Update the proximity feature to return proximity levels" 2022-11-14 19:02:44 +00:00
Daniel
2419ded7bb Update the proximity feature to return proximity levels
The original proximity feature which returned the distance in meters was
determined to be too privacy-invasive. AttentionManagerService continue
to receive proximity in distance from Attention Service, but
HotwordDetectedResult will map it
to different proximity levels, near and far. These proximity levels will be used in HotwordDetectionConnection. Use a RequiredServiceRule to make sure we only run the test if the device has the attention service

Bug: 253326426
Test: atest CtsVoiceInteractionTestCases
Change-Id: I4d55564c39d48dd1869d747beb37f81170c102f6
2022-11-14 00:21:23 +00:00
TreeHugger Robot
12e866c13e Merge "Add trusted hotword metrics for unexpected IPC Exceptions." 2022-11-09 05:41:42 +00:00
lpeter
164ae7497b Add trusted hotword metrics for unexpected IPC Exceptions.
Bug: 244389975
Test: build pass
Test: atest CtsVoiceInteractionTestCases
Change-Id: I81f856d69e537bb487582fe0e675c857477a7c4a
2022-11-08 02:09:49 +00:00
Mark Punzalan
8e71589cb9 Merge "Copy data in HotwordAudioStream ParcelFileDescriptors" 2022-11-07 21:47:00 +00:00
Matt Gilbride
7bf5af6f6e Merge "VoiceInteraction - call PermissionEnforcer helper on methods annotated with @EnforcePermission" 2022-11-04 20:22:25 +00:00
mattgilbride
fc67e19bff VoiceInteraction - call PermissionEnforcer helper on methods annotated with @EnforcePermission
Migrates all existing java methods annotated with @EnforcePermission
such that they call the super.<methodName>_enforcePermission
method provided by PermissionEnforcer.

This required by the @EnforcePermission annotation, but is currently a no-op, and will be switched on with ag/20325484.

Bug: 234083358
Test: TH
Change-Id: Ib2a5f22cb4558a325cb7f11dd35c453afdb887d2
2022-11-03 14:05:31 +00:00
Alex Dadukin
c398da3964 SoundTriggerLogger replaced with utils.EventLogger
The class was replaced with EventLogger for deduplication purposes

Bug: b/254234346
Test: I don't think there are any tests for soundtrigger
Change-Id: I1e80a3b31696d010aca8d267af713a9e7ff6a6e6
2022-11-02 15:08:29 +00:00
Mark Punzalan
924ea41799 Copy data in HotwordAudioStream ParcelFileDescriptors
Bug: 244595867
Test: TODO - Manual E2E test for now, CTS tests later
Change-Id: I02050cc39146e93e9dca1f3db6e0b5b894e85dd6
2022-10-31 22:01:38 +00:00
lpeter
d7f17038f3 Correct VALIDATION_TIMEOUT_MILLIS value to 3000 ms
By trusted hotword design doc, the VALIDATION_TIMEOUT_MILLIS value
should be 3000 ms. We correct the VALIDATION_TIMEOUT_MILLIS.

Test: atest CtsVoiceInteractionTestCases
Bug: 193232191
Change-Id: I4e8f3fbaeb305373e4b964a45e5e26b3e3684bd5
2022-10-25 13:21:16 +00:00
lpeter
ec669ddecd Refactor updateState method for trusted hotword
Test: atest CtsVoiceInteractionTestCases
Bug: 193232191
Change-Id: I781f9595e9c5016ba81e478e7f550d805699f7fb
2022-10-12 17:55:32 +08:00
Peter Li
29bb3a3428 Inform Assistant visible activity when the stage of activity lifecycle is invoked.
By the original design, we register the activity event in the
ActivityManagerService. After getting the activity event, we will
query current visible activities and report them to Assistant.
Assistant will start to get direct actions of those visible
activities. But sometimes they can not get the direct actions
due to the stage of activity lifecycle before onStart().

We change the logic to make sure that the stage of visible
activity that we reported to the Assistant is after onStart().

Bug: 235296082
Test: atest VoiceInteractionSessionVisibleActivityTest
Test: atest android.app.activity.ActivityThreadClientTest
Test: atest android.view.DisplayTest
Test: atest android.window.ConfigurationHelperTest
Test: atest android.window.SizeConfigurationBucketsTest
Change-Id: Ie439ff3706dab35e875c1eb995a67fa73aec4d76
2022-09-29 15:20:10 +00:00
Felipe Leme
32edbf20cc Merge "Further fixes on VIMS.onPreCreatedUserConversion()" 2022-09-28 00:45:11 +00:00
Felipe Leme
63da68c191 Further fixes on VIMS.onPreCreatedUserConversion()
Previously, when onRoleHoldersChanged() was called in a pre-created
user, VoiceInteractionManagerService (A.K.A. VIMS) would store that
user id and call the method again when the pre-converted user is
converted to a real user (on onPreCreatedUserConversion()), as the
assistant role holders is not available for pre-created users.

But if the system restarts between the user pre-creation and
conversion, onPreCreatedUserConversion() would log a warning and
do nothing.

So, this CL gets rids of the "save the user id" part, and simply
re-call onRoleHoldersChanged() whenever a pre-created user is
converted.

Test: manual verification on automotive builds
Bug: 242254421

Change-Id: Id933b2bc4f887da8b2f4959955bd174ed5879a47
2022-09-27 05:46:50 +00:00
Daniel Kim
c03340cbcb Merge "Disable proximity result for hotword" into tm-qpr-dev am: 4e528edd31 am: c031c0feb2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20001718

Change-Id: I02e1d839409d3f00d1ad07f094d5b637af3904e6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-26 08:43:35 +00:00
Daniel Kim
4e528edd31 Merge "Disable proximity result for hotword" into tm-qpr-dev 2022-09-26 08:12:46 +00:00
TreeHugger Robot
e1b8f01e2b Merge "Add Logging of the UI Latency for hotword invocation" into tm-qpr-dev am: 7ca15df236 am: cc6597d2d1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20021705

Change-Id: I79c45f77d1ac9c97eaa8f6a8f9318b1d73d40060
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-24 05:16:51 +00:00
Nicholas Ambur
0cf35e854e Add Logging of the UI Latency for hotword invocation
Log the UI latency with UIActionLatencyReported atom. We plan to
calulate the latency from when the SoundTrigger HAL emits an event to
when the VoiceInteraction system UI view is shown.

Test: device_config put latency_tracker enabled true; verify traces
and latency is logged in WW.
Bug: 247879896

Change-Id: I3edb91691e81f8f23660c0823a6388338fe926ad
2022-09-23 18:13:14 -07:00
Daniel
4dd69f2ebb Disable proximity result for hotword
Introducing a flag to gate the Attention Service usage by Hotword
Detection Service. The Attention Service will be disabled by default.

Bug: 247890608
Test: atest CtsVoiceInteractionTestCases
Change-Id: Ic8a6a11b2a0843a96f135b360f10f7fef5fce274
2022-09-22 22:55:09 +00:00
TreeHugger Robot
765a65bf37 Merge "Call enforceCallingPermission instead of annotation EnforcePermission" 2022-09-19 11:05:16 +00:00
lpeter
3cc7d7d5a5 Call enforceCallingPermission instead of annotation EnforcePermission
These test cases failed after this change (ag/19194476).
It uses @android.annotation.EnforcePermission instead
of calling enforceCallingPermission.

When using @android.annotation.EnforcePermission, it
will trigger noteOP, so we can’t use the noteOp
mechanism to fix this bug.

After reverting back to use enforceCallingPermission,
the test cases will pass.

Bug: 242103120
Test: atest HotwordDetectionServiceBasicTest
Change-Id: I5cb6a2a33a3fadd2bcbfc6edece80da743684398
2022-09-12 16:20:49 +08:00
lpeter
0d7aa31d35 Rename the methods to easier understand what they do
Because it is not clear to understand what these two methods do,
we rename them.
(1)updateVisibleActivitiesLocked()
(2)updateVisibleActivitiesChangedLocked

Bug: 235296082
Test: atest VoiceInteractionSessionVisibleActivityTest
Change-Id: Id7db3a0dc9c2a17276ae213223fa3dd6ae572b9f
2022-09-01 08:07:41 +00:00
Daniel Kim
dda0c6d0a5 Revert "Revert "Refactor ProximityUpdateCallbackInternal to inte..."
Revert submission 19600381-revert-17936037-hotword_proximity-ZZIDPDULZP

Test: atest CtsVoiceInteractionTestCases, atest CtsVoiceInteractionTestCases:android.voiceinteraction.cts.AlwaysOnHotwordDetectorTest#testAlwaysOnHotwordDetector_startRecognitionWithData -- --abi x86_64
Reason for revert: Including the fix for broken tests
Reverted Changes:
Ibfc659015:Revert "Refactor ProximityUpdateCallbackInternal t...
I1a03c21d5:Revert "Verify that proximity key is added to the ...
I6b79d9400:Revert "Add proximity state to the HotwordDetected...

Change-Id: Iee6ab086ccc3f27b95ee601d6be11231f300170c
Merged-In: Iee6ab086ccc3f27b95ee601d6be11231f300170c
2022-08-15 22:46:52 +00:00
Daniel Kim
aa972f2c88 Revert^2 "Add proximity state to the HotwordDetectedResult"
Reverting the previous revert commit which was merged to resolve the
broken tests. Adding a fix to the broken tests by surrounding
mAttentionManagerInternal with null checks.

dbe5ad1a72

Test: atest CtsVoiceInteractionTestCases, atest CtsVoiceInteractionTestCases:android.voiceinteraction.cts.AlwaysOnHotwordDetectorTest#testAlwaysOnHotwordDetector_startRecognitionWithData -- --abi x86_64
Change-Id: Ife5fb9220518a32a89494217f56932f290cce5f3
Merged-In: Ife5fb9220518a32a89494217f56932f290cce5f3
2022-08-15 22:45:55 +00:00
Daniel Kim
6529080276 Revert "Revert "Refactor ProximityUpdateCallbackInternal to inte..."
Revert submission 19600381-revert-17936037-hotword_proximity-ZZIDPDULZP

Test: atest CtsVoiceInteractionTestCases, atest CtsVoiceInteractionTestCases:android.voiceinteraction.cts.AlwaysOnHotwordDetectorTest#testAlwaysOnHotwordDetector_startRecognitionWithData -- --abi x86_64
Reason for revert: Including the fix for broken tests
Reverted Changes:
Ibfc659015:Revert "Refactor ProximityUpdateCallbackInternal t...
I1a03c21d5:Revert "Verify that proximity key is added to the ...
I6b79d9400:Revert "Add proximity state to the HotwordDetected...

Change-Id: Iee6ab086ccc3f27b95ee601d6be11231f300170c
2022-08-13 00:59:42 +00:00
Daniel Kim
e601349c0f Revert^2 "Add proximity state to the HotwordDetectedResult"
Reverting the previous revert commit which was merged to resolve the
broken tests. Adding a fix to the broken tests by surrounding
mAttentionManagerInternal with null checks.

dbe5ad1a72

Test: atest CtsVoiceInteractionTestCases, atest CtsVoiceInteractionTestCases:android.voiceinteraction.cts.AlwaysOnHotwordDetectorTest#testAlwaysOnHotwordDetector_startRecognitionWithData -- --abi x86_64
Change-Id: Ife5fb9220518a32a89494217f56932f290cce5f3
2022-08-13 00:59:42 +00:00
Daniel Kim
dbe5ad1a72 Revert "Add proximity state to the HotwordDetectedResult"
Revert submission 17936037-hotword_proximity

Reason for revert: https://buganizer.corp.google.com/issues/242223069
Reverted Changes:
If8c23a9c6:Refactor ProximityUpdateCallbackInternal to interf...
Ib0ad1da25:Verify that proximity key is added to the hotword ...
I71e9d3da9:Add proximity state to the HotwordDetectedResult

Change-Id: I6b79d9400671362dd63be1e2a0d05280003587d3
2022-08-11 22:00:59 +00:00
Daniel Kim
584eccfe95 Revert "Refactor ProximityUpdateCallbackInternal to interface"
Revert submission 17936037-hotword_proximity

Reason for revert: https://buganizer.corp.google.com/issues/242223069
Reverted Changes:
If8c23a9c6:Refactor ProximityUpdateCallbackInternal to interf...
Ib0ad1da25:Verify that proximity key is added to the hotword ...
I71e9d3da9:Add proximity state to the HotwordDetectedResult

Change-Id: Ibfc65901547d74d6fcfafc257653f49a17a98662
2022-08-11 22:00:59 +00:00
Daniel
ce62280d4b Refactor ProximityUpdateCallbackInternal to interface
Refactor ProximityUpdateCallbackInternal to interface. Also making sure
that the service unbinding happens when clear Attention Service command
is received.

Bug: 214395649
Test: atest CtsVoiceInteractionTestCases, atest CtsAttentionServiceDeviceTestCases
Change-Id: If8c23a9c68952e323fcb8eeb681e86b0e6119b18
2022-08-08 22:42:24 +00:00
Daniel
2bd78dee3a Add proximity state to the HotwordDetectedResult
HotwordDetectionConnection will interact with AttentionService to
receive updated proximity state. Then it will fill the
HotwordDetectedResult returned from Hotword service to set
proximity state.

Bug: 214395649
Test: atest CtsVoiceInteractionTestCases
Change-Id: I71e9d3da999cda2d9b17e3abc900fa42e4364c90
2022-08-08 22:42:23 +00:00
Felipe Leme
88f2307219 Fixed VIMS to postpone ASSISTANT rule change on pre-created users.
RoleService should not be calling onRoleHoldersChanged() on
pre-created users, but that behavior cannot be changed because its
implemented by a system app, and pre-created users APIs are hidden.

To test it:

$ adb shell pm create-user --pre-create-only  --guest
Success: created user id 12

$ adb shell pm create-user --guest ElGuesto
Success: created user id 12

$ adb shell cmd user list --all -v
4 users:

0: id=0, name=Driver, type=system.HEADLESS, flags=ADMIN|INITIALIZED|PRIMARY|SYSTEM (running)
1: id=10, name=Driver, type=full.SECONDARY, flags=ADMIN|FULL|INITIALIZED (running) (current)
2: id=11, name=null, type=full.SECONDARY, flags=FULL|INITIALIZED (pre-created)
3: id=12, name=ElGuesto, type=full.GUEST, flags=EPHEMERAL|FULL|GUEST|INITIALIZED (converted)

$ adb shell am switch-user 12

$ adb shell dumpsys voiceinteraction |egrep '(mBound|implementation)'
  mBound=true mService=android.service.voice.IVoiceInteractionService$Stub$Proxy@77da1bc

$ adb shell cmd voiceinteraction show

Test: see bove
Bug: 216141085
Bug: 226201975

Merged-In: I12d9bb32e144ecf91ee4b452affea0dcea546127
Change-Id: I12d9bb32e144ecf91ee4b452affea0dcea546127
(cherry picked from commit 39acca1d72)
2022-08-03 16:03:02 +00:00
Ivan Chiang
6c8dafdd06 Merge "Use noteOpNoThrow instead of checkOpNoThrow in AssistDataRequester" 2022-08-03 07:13:55 +00:00
Felipe Leme
39acca1d72 Fixed VIMS to postpone ASSISTANT rule change on pre-created users.
RoleService should not be calling onRoleHoldersChanged() on
pre-created users, but that behavior cannot be changed because its
implemented by a system app, and pre-created users APIs are hidden.

To test it:

$ adb shell pm create-user --pre-create-only  --guest
Success: created user id 12

$ adb shell pm create-user --guest ElGuesto
Success: created user id 12

$ adb shell cmd user list --all -v
4 users:

0: id=0, name=Driver, type=system.HEADLESS, flags=ADMIN|INITIALIZED|PRIMARY|SYSTEM (running)
1: id=10, name=Driver, type=full.SECONDARY, flags=ADMIN|FULL|INITIALIZED (running) (current)
2: id=11, name=null, type=full.SECONDARY, flags=FULL|INITIALIZED (pre-created)
3: id=12, name=ElGuesto, type=full.GUEST, flags=EPHEMERAL|FULL|GUEST|INITIALIZED (converted)

$ adb shell am switch-user 12

$ adb shell dumpsys voiceinteraction |egrep '(mBound|implementation)'
  mBound=true mService=android.service.voice.IVoiceInteractionService$Stub$Proxy@77da1bc

$ adb shell cmd voiceinteraction show

Test: see bove
Bug: 216141085
Bug: 226201975

Change-Id: I12d9bb32e144ecf91ee4b452affea0dcea546127
2022-08-02 12:57:59 -07:00
Ivan Chiang
36e6fecf63 Use noteOpNoThrow instead of checkOpNoThrow in AssistDataRequester
To audit data access and verify the uid and package are consistent,
use noteOpNoThrow instead of checkOpNoThrow.

Bug: 187439908
Test: atest AssistDataRequesterTest
Test: atest CtsVoiceInteractionTestCases
Test: atest CtsAssistTestCases
Change-Id: Ib48040b5b55be09958da4398f4d663908573568c
2022-07-18 05:55:59 +00:00
mattgilbride
244522cfbc @EnforcePermission migrations - other services
Immediate calls to helper methods that themselves call
Context.enforceCallingOrSelfPermission.
Fixes applied by Android Lint (ag/18432857).

Bug: 232058525
Test: N/A
Change-Id: Id3418f038122fd8861e38812623d42a07bb6baf9
2022-07-11 19:47:21 +00:00
Hani Kazmi
4f221e5c51 Migrate Bundle/Intent APIs to new, type checked, variants
Part of go/safer-parcel. Follow up to ag/16639043. Migrates the following unsafe APIs:

* Parcel.readArray()
* Parcel.readParcelableArray()
* Bundle.getSerializable()
* Bundle.getParcelable()
* Bundle.getParcelableArrayList()
* Bundle.getParcelableArray()
* Bundle.getSparseParcelableArray()
* Intent.getSerializableExtra()
* Intent.getParcelableExtra()
* Intent.getParcelableArrayExtra()
* Intent.getParcelableArrayListExtra

Bug: 227458983
Test: m and presubmit pass
Change-Id: I72f206cb18eb5c669a7fff07a6845bed1c433fdb
2022-07-01 10:53:53 +00:00
Mark Punzalan
1564a67ab2 Enforce DSP detection timeout.
Also remove separate detectFromDspSourceForTest() method. It originally
was serving different results for testing, but now it is practically
identical to the non-test method. Removing it allows us to exercise the
same code path in CTS tests as in production.

Bug: 212744476
Test: atest CtsVoiceInteractionTestCases
Test: Verify hotword detection works on Pixel 6 Pro
Change-Id: Ibb0c4f49fbfa64ed6c7362d355466a480c5979e2
2022-06-24 23:13:06 +00:00
lpeter
33694beb37 Add metrics for software and external source detections.
We add more metrics for software detection and
external source detection.

Android Metrics Design Review : eldar/276723226

Verify the metrics logs manually as below:

Step 1: m statsd_testdrive
Step 2: statsd_testdrive 434
Step 3: run the test
Step 4: We can see the log as below after 1 minutes from Step 2.

hotword_detector_events {
    event: EXTERNAL_SOURCE_DETECTED
}

hotword_detector_events {
    event: ON_DISCONNECTED
}

hotword_detector_events {
    event: START_EXTERNAL_SOURCE_DETECTION
}

Bug: 207717787
Bug: 233704035
Test: build pass
Test: manual. The logs are expected after following test steps
Change-Id: Ib268902d63c580cec9cbd65a3816fd5ba003eaff
(cherry picked from commit 37f8b3ec2b)
2022-06-16 08:54:54 +00:00
lpeter
37f8b3ec2b Add metrics for software and external source detections.
We add more metrics for software detection and
external source detection.

Android Metrics Design Review : eldar/276723226

Verify the metrics logs manually as below:

Step 1: m statsd_testdrive
Step 2: statsd_testdrive 434
Step 3: run the test
Step 4: We can see the log as below after 1 minutes from Step 2.

hotword_detector_events {
    event: EXTERNAL_SOURCE_DETECTED
}

hotword_detector_events {
    event: ON_DISCONNECTED
}

hotword_detector_events {
    event: START_EXTERNAL_SOURCE_DETECTION
}

Bug: 207717787
Bug: 233704035
Test: build pass
Test: manual. The logs are expected after following test steps
Change-Id: Ib268902d63c580cec9cbd65a3816fd5ba003eaff
2022-06-15 20:39:50 +08:00
Jack Wang
7adc7ef75c Merge "Grant client app visibility with UID from activity record" into tm-dev am: 7a1dd2e61c am: ac7d47c9a8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18674418

Change-Id: Iabddbfdd1e73f4657a41e6bc6a8575f6e90ad044
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-06 18:43:36 +00:00
Jack Wang
7a1dd2e61c Merge "Grant client app visibility with UID from activity record" into tm-dev 2022-06-06 16:10:48 +00:00
Jack Wang
d2b102f072 Grant client app visibility with UID from activity record
this also fixes an NPE b/234828308

Bug: 226167520
Test: atest android.voiceinteraction.cts
Change-Id: Ibe20fb4da91fa80f8539bb19c90515167bf6e85b
Merged-In: Ibe20fb4da91fa80f8539bb19c90515167bf6e85b
2022-06-06 16:10:29 +00:00
Jack Wang
ac2dfa8b28 Merge "Grant client app visibility with UID from activity record" 2022-06-02 15:19:42 +00:00
Jack Wang
a57b3bd002 Grant client app visibility with UID from activity record
Bug: 226167520
Test: atest android.voiceinteraction.cts
Change-Id: Ibe20fb4da91fa80f8539bb19c90515167bf6e85b
2022-06-02 14:51:05 +00:00
TreeHugger Robot
199d93fd54 Merge "Postpone the request direct actions before onStart" into tm-dev am: 0d84708056 am: cf05c79ea0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18628126

Change-Id: Ibbfcc51b996298ce0880e4a95dbbb042aedeb75d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-01 04:11:34 +00:00
TreeHugger Robot
e7b3536cec Merge "Postpone the request direct actions before onStart" into tm-dev am: 0d84708056 am: b29e4ce242
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18628126

Change-Id: Idae62c8453c27a0b0b4c800afa1a7c9e52fbf2c8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-01 04:11:04 +00:00
TreeHugger Robot
0d84708056 Merge "Postpone the request direct actions before onStart" into tm-dev 2022-06-01 03:29:35 +00:00
lpeter
f8342c8db5 Postpone the request direct actions before onStart
By the original design, we register the activity event in the
ActivityManagerService. After getting the activity event, we will
query current visible activities and report them to Assistant.
Assistant will start to get direct actions of those visible
activities. But sometimes they can not get the direct actions
due to the stage of activity lifecycle before onStart().

We will postpone the request direct actions a few times
before onStart().

Bug: 224789902
Test: atest CtsVoiceInteractionTestCases
Change-Id: If7cd52c5ba749523e575c0be5595e8f20704c4f2
2022-05-31 14:59:42 +08:00
TreeHugger Robot
00d502f5a3 Merge "Add support for onReject and onError for external hotword." into tm-dev am: 90579f32b3 am: ddb61b7bbf
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18308197

Change-Id: I0a5e1da74b3d5096b518cda16d8911a05debe047
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-26 18:01:49 +00:00
TreeHugger Robot
72d9e091c4 Merge "Add support for onReject and onError for external hotword." into tm-dev am: 90579f32b3 am: 5ec4c563ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18308197

Change-Id: Ic3ec74aaaa851b3860e7bddcab1decc9a9db34e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-26 17:46:37 +00:00