Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64f878e0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add RoleManager into the system."

parents 1ed25931 b7776685
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -103,6 +103,8 @@ java_defaults {
        "core/java/android/app/backup/IRestoreObserver.aidl",
        "core/java/android/app/backup/IRestoreSession.aidl",
        "core/java/android/app/backup/ISelectBackupTransportCallback.aidl",
        "core/java/android/app/role/IRoleManager.aidl",
        "core/java/android/app/role/IRoleManagerCallback.aidl",
        "core/java/android/app/slice/ISliceManager.aidl",
        "core/java/android/app/slice/ISliceListener.aidl",
        "core/java/android/app/timedetector/ITimeDetectorService.aidl",
@@ -259,6 +261,7 @@ java_defaults {
        "core/java/android/os/storage/IStorageEventListener.aidl",
        "core/java/android/os/storage/IStorageShutdownObserver.aidl",
        "core/java/android/os/storage/IObbActionListener.aidl",
        "core/java/android/rolecontrollerservice/IRoleControllerService.aidl",
        ":keystore_aidl",
        "core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl",
        "core/java/android/service/autofill/IAutoFillService.aidl",
+13 −0
Original line number Diff line number Diff line
@@ -7287,6 +7287,18 @@ package android.app.job {
}
package android.app.role {
  public final class RoleManager {
    method public android.content.Intent createRequestRoleIntent(java.lang.String);
    method public boolean isRoleAvailable(java.lang.String);
    method public boolean isRoleHeld(java.lang.String);
    field public static final java.lang.String ROLE_DIALER = "android.app.role.DIALER";
    field public static final java.lang.String ROLE_SMS = "android.app.role.SMS";
  }
}
package android.app.slice {
  public final class Slice implements android.os.Parcelable {
@@ -9631,6 +9643,7 @@ package android.content {
    field public static final java.lang.String PRINT_SERVICE = "print";
    field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
    field public static final java.lang.String RESTRICTIONS_SERVICE = "restrictions";
    field public static final java.lang.String ROLE_SERVICE = "role";
    field public static final java.lang.String SEARCH_SERVICE = "search";
    field public static final java.lang.String SENSOR_SERVICE = "sensor";
    field public static final java.lang.String SHORTCUT_SERVICE = "shortcut";
+34 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ package android {
    field public static final java.lang.String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
    field public static final java.lang.String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
    field public static final java.lang.String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
    field public static final java.lang.String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
    field public static final java.lang.String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
    field public static final java.lang.String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
    field public static final java.lang.String MANAGE_USB = "android.permission.MANAGE_USB";
@@ -293,6 +294,8 @@ package android.app {
  public class AppOpsManager {
    method public static java.lang.String[] getOpStrs();
    method public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, java.lang.String, int[]);
    method public static java.lang.String opToPermission(java.lang.String);
    method public void resetUidMode(java.lang.String, int, boolean);
    method public void setMode(java.lang.String, int, java.lang.String, int);
    method public void setUidMode(java.lang.String, int, int);
    field public static final java.lang.String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
@@ -802,6 +805,23 @@ package android.app.job {

}

package android.app.role {

  public final class RoleManager {
    method public void addRoleHolderAsUser(java.lang.String, java.lang.String, android.os.UserHandle, java.util.concurrent.Executor, android.app.role.RoleManagerCallback);
    method public void clearRoleHoldersAsUser(java.lang.String, android.os.UserHandle, java.util.concurrent.Executor, android.app.role.RoleManagerCallback);
    method public java.util.Set<java.lang.String> getRoleHoldersAsUser(java.lang.String, android.os.UserHandle);
    method public void removeRoleHolderAsUser(java.lang.String, java.lang.String, android.os.UserHandle, java.util.concurrent.Executor, android.app.role.RoleManagerCallback);
    field public static final java.lang.String EXTRA_REQUEST_ROLE_NAME = "android.app.role.extra.REQUEST_ROLE_NAME";
  }

  public abstract interface RoleManagerCallback {
    method public abstract void onFailure();
    method public abstract void onSuccess();
  }

}

package android.app.usage {

  public final class CacheQuotaHint implements android.os.Parcelable {
@@ -1148,6 +1168,7 @@ package android.content.pm {
    method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(android.content.Intent, int, android.os.UserHandle);
    method public abstract void registerDexModule(java.lang.String, android.content.pm.PackageManager.DexModuleRegisterCallback);
    method public abstract void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
    method public void replacePreferredActivity(android.content.IntentFilter, int, java.util.List<android.content.ComponentName>, android.content.ComponentName);
    method public abstract void revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    method public abstract boolean setDefaultBrowserPackageNameAsUser(java.lang.String, int);
    method public void setHarmfulAppWarning(java.lang.String, java.lang.CharSequence);
@@ -4511,6 +4532,19 @@ package android.provider {

}

package android.rolecontrollerservice {

  public abstract class RoleControllerService extends android.app.Service {
    ctor public RoleControllerService();
    method public abstract void onAddRoleHolder(java.lang.String, java.lang.String, android.app.role.RoleManagerCallback);
    method public final android.os.IBinder onBind(android.content.Intent);
    method public abstract void onClearRoleHolders(java.lang.String, android.app.role.RoleManagerCallback);
    method public abstract void onRemoveRoleHolder(java.lang.String, java.lang.String, android.app.role.RoleManagerCallback);
    field public static final java.lang.String SERVICE_INTERFACE = "android.rolecontrollerservice.RoleControllerService";
  }

}

package android.security.keystore {

  public abstract class AttestationUtils {
+34 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.app;

import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.SystemService;
@@ -1536,6 +1537,19 @@ public class AppOpsManager {
        return sOpPerms[op];
    }

    /**
     * Retrieve the permission associated with an operation, or null if there is not one.
     *
     * @param op The operation name.
     *
     * @hide
     */
    @Nullable
    @SystemApi
    public static String opToPermission(@NonNull String op) {
        return opToPermission(strOpToOp(op));
    }

    /**
     * Retrieve the user restriction associated with an operation, or null if there is not one.
     * @hide
@@ -1982,6 +1996,26 @@ public class AppOpsManager {
        }
    }

    /**
     * Resets given app op in its default mode for app ops in the UID.
     * This applies to all apps currently in the UID or installed in this UID in the future.
     *
     * @param appOp The app op.
     * @param uid The UID for which to set the app.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    @SystemApi
    public void resetUidMode(String appOp, int uid, boolean force) {
        int code = strOpToOp(appOp);
        if (!(opAllowsReset(code) || force)) {
            return;
        }
        int mode = opToDefaultMode(code);
        setUidMode(code, uid, mode);
    }

    /** @hide */
    public void setUserRestriction(int code, boolean restricted, IBinder token) {
        setUserRestriction(code, restricted, token, /*exceptionPackages*/null);
+39 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.app.role;

import android.app.role.IRoleManagerCallback;

/**
 * @hide
 */
interface IRoleManager {

    boolean isRoleAvailable(in String roleName);

    boolean isRoleHeld(in String roleName, in String packageName);

    List<String> getRoleHoldersAsUser(in String roleName, int userId);

    void addRoleHolderAsUser(in String roleName, in String packageName, int userId,
            in IRoleManagerCallback callback);

    void removeRoleHolderAsUser(in String roleName, in String packageName, int userId,
            in IRoleManagerCallback callback);

    void clearRoleHoldersAsUser(in String roleName, int userId, in IRoleManagerCallback callback);
}
Loading