Don't require MANAGE_ROLE_HOLDERS when removing CDM associatons

Bug: 260374250
Test: CTS test
Change-Id: I4478364cb1b7f295f6750d23bafe0c051a1119d3
This commit is contained in:
Evan Chen
2023-02-16 21:26:34 +00:00
parent f79a7cebfa
commit 7d27732fef

View File

@@ -27,6 +27,7 @@ import android.annotation.UserIdInt;
import android.app.role.RoleManager;
import android.companion.AssociationInfo;
import android.content.Context;
import android.os.Binder;
import android.os.UserHandle;
import android.util.Log;
import android.util.Slog;
@@ -84,7 +85,9 @@ final class RolesUtils {
Slog.i(TAG, "Removing CDM role holder, role=" + deviceProfile
+ ", package=u" + userId + "\\" + packageName);
roleManager.removeRoleHolderAsUser(deviceProfile, packageName,
final long identity = Binder.clearCallingIdentity();
try {
roleManager.removeRoleHolderAsUser(deviceProfile, packageName,
MANAGE_HOLDERS_FLAG_DONT_KILL_APP, userHandle, context.getMainExecutor(),
success -> {
if (!success) {
@@ -92,6 +95,9 @@ final class RolesUtils {
+ " from the list of " + deviceProfile + " holders.");
}
});
} finally {
Binder.restoreCallingIdentity(identity);
}
}
private RolesUtils() {};