Merge "Add RoleControllerManagerTest." into rvc-dev am: 447914fcfe am: 0b5b876873

Change-Id: Id1c4f5d777d03fcf9a07ccae128d42a6e08bc38b
This commit is contained in:
TreeHugger Robot
2020-04-29 06:07:36 +00:00
committed by Automerger Merge Worker
2 changed files with 30 additions and 0 deletions

View File

@@ -732,6 +732,11 @@ package android.app.role {
method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle); method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
} }
public class RoleControllerManager {
method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void isApplicationVisibleForRole(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void isRoleVisible(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
}
public final class RoleManager { public final class RoleManager {
method @RequiresPermission("android.permission.OBSERVE_ROLE_HOLDERS") public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle); method @RequiresPermission("android.permission.OBSERVE_ROLE_HOLDERS") public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);

View File

@@ -21,6 +21,7 @@ import android.annotation.CallbackExecutor;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SystemService; import android.annotation.SystemService;
import android.annotation.TestApi;
import android.app.ActivityThread; import android.app.ActivityThread;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
@@ -48,6 +49,7 @@ import java.util.function.Consumer;
* @hide * @hide
*/ */
@SystemService(Context.ROLE_CONTROLLER_SERVICE) @SystemService(Context.ROLE_CONTROLLER_SERVICE)
@TestApi
public class RoleControllerManager { public class RoleControllerManager {
private static final String LOG_TAG = RoleControllerManager.class.getSimpleName(); private static final String LOG_TAG = RoleControllerManager.class.getSimpleName();
@@ -73,6 +75,8 @@ public class RoleControllerManager {
* PackageManagerService lock in constructor. * PackageManagerService lock in constructor.
* *
* @see #createWithInitializedRemoteServiceComponentName(Handler, Context) * @see #createWithInitializedRemoteServiceComponentName(Handler, Context)
*
* @hide
*/ */
public static void initializeRemoteServiceComponentName(@NonNull Context context) { public static void initializeRemoteServiceComponentName(@NonNull Context context) {
sRemoteServiceComponentName = getRemoteServiceComponentName(context); sRemoteServiceComponentName = getRemoteServiceComponentName(context);
@@ -83,6 +87,8 @@ public class RoleControllerManager {
* name so that we can avoid acquiring the PackageManagerService lock in constructor. * name so that we can avoid acquiring the PackageManagerService lock in constructor.
* *
* @see #initializeRemoteServiceComponentName(Context) * @see #initializeRemoteServiceComponentName(Context)
*
* @hide
*/ */
@NonNull @NonNull
public static RoleControllerManager createWithInitializedRemoteServiceComponentName( public static RoleControllerManager createWithInitializedRemoteServiceComponentName(
@@ -113,6 +119,9 @@ public class RoleControllerManager {
} }
} }
/**
* @hide
*/
public RoleControllerManager(@NonNull Context context) { public RoleControllerManager(@NonNull Context context) {
this(getRemoteServiceComponentName(context), context.getMainThreadHandler(), context); this(getRemoteServiceComponentName(context), context.getMainThreadHandler(), context);
} }
@@ -128,6 +137,8 @@ public class RoleControllerManager {
/** /**
* @see RoleControllerService#onGrantDefaultRoles() * @see RoleControllerService#onGrantDefaultRoles()
*
* @hide
*/ */
public void grantDefaultRoles(@NonNull @CallbackExecutor Executor executor, public void grantDefaultRoles(@NonNull @CallbackExecutor Executor executor,
@NonNull Consumer<Boolean> callback) { @NonNull Consumer<Boolean> callback) {
@@ -141,6 +152,8 @@ public class RoleControllerManager {
/** /**
* @see RoleControllerService#onAddRoleHolder(String, String, int) * @see RoleControllerService#onAddRoleHolder(String, String, int)
*
* @hide
*/ */
public void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName, public void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName,
@RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
@@ -155,6 +168,8 @@ public class RoleControllerManager {
/** /**
* @see RoleControllerService#onRemoveRoleHolder(String, String, int) * @see RoleControllerService#onRemoveRoleHolder(String, String, int)
*
* @hide
*/ */
public void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName, public void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName,
@RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
@@ -169,6 +184,8 @@ public class RoleControllerManager {
/** /**
* @see RoleControllerService#onClearRoleHolders(String, int) * @see RoleControllerService#onClearRoleHolders(String, int)
*
* @hide
*/ */
public void onClearRoleHolders(@NonNull String roleName, public void onClearRoleHolders(@NonNull String roleName,
@RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
@@ -186,6 +203,8 @@ public class RoleControllerManager {
* *
* @deprecated Use {@link #isApplicationVisibleForRole(String, String, Executor, Consumer)} * @deprecated Use {@link #isApplicationVisibleForRole(String, String, Executor, Consumer)}
* instead. * instead.
*
* @hide
*/ */
@RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS) @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
public void isApplicationQualifiedForRole(@NonNull String roleName, @NonNull String packageName, public void isApplicationQualifiedForRole(@NonNull String roleName, @NonNull String packageName,
@@ -201,8 +220,11 @@ public class RoleControllerManager {
/** /**
* @see RoleControllerService#onIsApplicationVisibleForRole(String, String) * @see RoleControllerService#onIsApplicationVisibleForRole(String, String)
*
* @hide
*/ */
@RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS) @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
@TestApi
public void isApplicationVisibleForRole(@NonNull String roleName, @NonNull String packageName, public void isApplicationVisibleForRole(@NonNull String roleName, @NonNull String packageName,
@NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> {
@@ -216,8 +238,11 @@ public class RoleControllerManager {
/** /**
* @see RoleControllerService#onIsRoleVisible(String) * @see RoleControllerService#onIsRoleVisible(String)
*
* @hide
*/ */
@RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS) @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
@TestApi
public void isRoleVisible(@NonNull String roleName, public void isRoleVisible(@NonNull String roleName,
@NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> {