Fix KeyboardLayoutTest and support multi-user CTS testing

Always run as SYSTEM to prevent cts failures when the current user
isn't user 0

Test: atest KeyboardLayoutTest
Test: atest KeyboardLayoutManagerTests
Bug: 268571576
Bug: 263752542
Change-Id: I67b7bf9b3a07ac5533496f89e0dab3582a519b76
This commit is contained in:
Vaibhav Devmurari
2023-02-20 19:16:55 +00:00
parent b9991d2a97
commit 903574217b
2 changed files with 4 additions and 4 deletions

View File

@@ -343,9 +343,9 @@ final class KeyboardLayoutManager implements InputManager.InputDeviceListener {
private void visitAllKeyboardLayouts(KeyboardLayoutVisitor visitor) {
final PackageManager pm = mContext.getPackageManager();
Intent intent = new Intent(InputManager.ACTION_QUERY_KEYBOARD_LAYOUTS);
for (ResolveInfo resolveInfo : pm.queryBroadcastReceivers(intent,
for (ResolveInfo resolveInfo : pm.queryBroadcastReceiversAsUser(intent,
PackageManager.GET_META_DATA | PackageManager.MATCH_DIRECT_BOOT_AWARE
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE)) {
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE, UserHandle.USER_SYSTEM)) {
final ActivityInfo activityInfo = resolveInfo.activityInfo;
final int priority = resolveInfo.priority;
visitKeyboardLayoutsInPackage(pm, activityInfo, null, priority, visitor);

View File

@@ -167,8 +167,8 @@ class KeyboardLayoutManagerTests {
Mockito.`when`(context.packageManager).thenReturn(packageManager)
val info = createMockReceiver()
Mockito.`when`(packageManager.queryBroadcastReceivers(Mockito.any(), Mockito.anyInt()))
.thenReturn(listOf(info))
Mockito.`when`(packageManager.queryBroadcastReceiversAsUser(Mockito.any(), Mockito.anyInt(),
Mockito.anyInt())).thenReturn(listOf(info))
Mockito.`when`(packageManager.getReceiverInfo(Mockito.any(), Mockito.anyInt()))
.thenReturn(info.activityInfo)