From 01f6f18575f7986878d251a57abfeef40e4d5ff9 Mon Sep 17 00:00:00 2001 From: Richard MacGregor Date: Mon, 9 Dec 2024 10:17:53 -0800 Subject: Followup fixes for RoleManager test api Followup fixes for RoleManager get/setDefaultHoldersForTest and is/setRoleVisibleForTest LOW_COVERAGE_REASON=b/382484309 Relnote: N/A Flag: com.android.permission.flags.cross_user_role_enabled Bug: 381315745 Test: atest RoleManagerTest Test: atest RoleManagerMultiUserTest Change-Id: I19ddcd4a71682f89ccf32322833db3404f46c86f --- framework-s/java/android/app/role/IRoleManager.aidl | 9 +++++---- framework-s/java/android/app/role/RoleManager.java | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'framework-s/java') diff --git a/framework-s/java/android/app/role/IRoleManager.aidl b/framework-s/java/android/app/role/IRoleManager.aidl index dc5bc8cb4..cf98a6016 100644 --- a/framework-s/java/android/app/role/IRoleManager.aidl +++ b/framework-s/java/android/app/role/IRoleManager.aidl @@ -85,11 +85,12 @@ interface IRoleManager { boolean isApplicationVisibleForRoleAsUser(in String roleName, in String packageName, int userId); - List getDefaultHoldersForTest(in String roleName); + List getDefaultHoldersForTestAsUser(in String roleName, int userId); - void setDefaultHoldersForTest(in String roleName, in List packageNames); + void setDefaultHoldersForTestAsUser(in String roleName, in List packageNames, + int userId); - boolean isRoleVisibleForTest(in String roleName); + boolean isRoleVisibleForTestAsUser(in String roleName, int userId); - void setRoleVisibleForTest(in String roleName, boolean visible); + void setRoleVisibleForTestAsUser(in String roleName, boolean visible, int userId); } diff --git a/framework-s/java/android/app/role/RoleManager.java b/framework-s/java/android/app/role/RoleManager.java index 42445b4d6..65b513e9d 100644 --- a/framework-s/java/android/app/role/RoleManager.java +++ b/framework-s/java/android/app/role/RoleManager.java @@ -1189,7 +1189,8 @@ public final class RoleManager { public List getDefaultHoldersForTest(@NonNull String roleName) { Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); try { - return mService.getDefaultHoldersForTest(roleName); + return mService.getDefaultHoldersForTestAsUser(roleName, + mContext.getUser().getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -1203,9 +1204,10 @@ public final class RoleManager { * not persisted. *

* Throws {@link IllegalArgumentException} if role is not a test role + * Throws {@link NullPointerException} if packageNames is {@code null} * * @param roleName the name of the role to set test default holders for - * @param packageNames a list of package names of the default holders or {@code null} to unset + * @param packageNames a list of package names of the default holders, or an empty list to unset * * @hide */ @@ -1215,10 +1217,12 @@ public final class RoleManager { @UserHandleAware @FlaggedApi(com.android.permission.flags.Flags.FLAG_CROSS_USER_ROLE_ENABLED) public void setDefaultHoldersForTest( - @NonNull String roleName, @Nullable List packageNames) { + @NonNull String roleName, @NonNull List packageNames) { Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + Objects.requireNonNull(packageNames, "packageNames cannot be null"); try { - mService.setDefaultHoldersForTest(roleName, packageNames); + mService.setDefaultHoldersForTestAsUser(roleName, packageNames, + mContext.getUser().getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -1245,7 +1249,8 @@ public final class RoleManager { public boolean isRoleVisibleForTest(@NonNull String roleName) { Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); try { - return mService.isRoleVisibleForTest(roleName); + return mService.isRoleVisibleForTestAsUser(roleName, + mContext.getUser().getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -1272,7 +1277,8 @@ public final class RoleManager { public void setRoleVisibleForTest(@NonNull String roleName, boolean visible) { Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); try { - mService.setRoleVisibleForTest(roleName, visible); + mService.setRoleVisibleForTestAsUser(roleName, visible, + mContext.getUser().getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } -- cgit v1.2.3-59-g8ed1b