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

Commit 428a59ab authored by Robert Berry's avatar Robert Berry Committed by Android (Google) Code Review
Browse files

Merge "Remove package name parameter from setRecoveryStatus"

parents 821d7cd8 bbe02ae8
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -4302,10 +4302,9 @@ package android.security.keystore.recovery {
    method public void recoverySecretAvailable(android.security.keystore.recovery.KeyChainProtectionParams) throws android.security.keystore.recovery.InternalRecoveryServiceException;
    method public void removeKey(java.lang.String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
    method public void setRecoverySecretTypes(int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
    method public void setRecoveryStatus(java.lang.String, java.lang.String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.content.pm.PackageManager.NameNotFoundException;
    method public void setRecoveryStatus(java.lang.String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
    method public void setServerParams(byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
    method public void setSnapshotCreatedPendingIntent(android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
    field public static final int RECOVERY_STATUS_MISSING_ACCOUNT = 2; // 0x2
    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
+8 −0
Original line number Diff line number Diff line
@@ -91,6 +91,14 @@ package android.os {

}

package android.security.keystore.recovery {

  public class RecoveryController {
    method public deprecated void setRecoveryStatus(java.lang.String, java.lang.String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.content.pm.PackageManager.NameNotFoundException;
  }

}

package android.service.notification {

  public abstract class NotificationListenerService extends android.app.Service {
+4 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import java.util.Map;
 * <p>A recovery agent requires the privileged permission
 * {@code android.Manifest.permission#RECOVER_KEYSTORE}.
 *
 * @deprecated Use {@link android.security.keystore.recovery.RecoveryController}.
 * @hide
 */
public class RecoveryController {
@@ -259,7 +260,9 @@ public class RecoveryController {
            @NonNull String packageName, @Nullable String[] aliases, int status)
            throws NameNotFoundException, InternalRecoveryServiceException {
        try {
            mBinder.setRecoveryStatus(packageName, aliases, status);
            for (String alias : aliases) {
                mBinder.setRecoveryStatus(alias, status);
            }
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        } catch (ServiceSpecificException e) {
+21 −14
Original line number Diff line number Diff line
@@ -65,8 +65,6 @@ public class RecoveryController {
    public static final int RECOVERY_STATUS_SYNCED = 0;
    /** Waiting for recovery agent to sync the key. */
    public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1;
    /** Recovery account is not available. */
    public static final int RECOVERY_STATUS_MISSING_ACCOUNT = 2;
    /** Key cannot be synced. */
    public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3;

@@ -290,24 +288,33 @@ public class RecoveryController {
    }

    /**
     * Updates recovery status for given key. It is used to notify keystore that key was
     * successfully stored on the server or there were an error. Application can check this value
     * using {@code getRecoveyStatus}.
     *
     * @param packageName Application whose recoverable key's status are to be updated.
     * @param alias Application-specific key alias.
     * @param status Status specific to recovery agent.
     * @throws InternalRecoveryServiceException if an unexpected error occurred in the recovery
     *     service.
     * @deprecated Use {@link #setRecoveryStatus(String, int)}
     * @removed
     */
    @Deprecated
    @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE)
    public void setRecoveryStatus(
            @NonNull String packageName, String alias, int status)
            throws NameNotFoundException, InternalRecoveryServiceException {
        setRecoveryStatus(alias, status);
    }

    /**
     * Sets the recovery status for given key. It is used to notify the keystore that the key was
     * successfully stored on the server or that there was an error. An application can check this
     * value using {@link #getRecoveryStatus(String, String)}.
     *
     * @param alias The alias of the key whose status to set.
     * @param status The status of the key. One of {@link #RECOVERY_STATUS_SYNCED},
     *     {@link #RECOVERY_STATUS_SYNC_IN_PROGRESS} or {@link #RECOVERY_STATUS_PERMANENT_FAILURE}.
     * @throws InternalRecoveryServiceException if an unexpected error occurred in the recovery
     *     service.
     */
    @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE)
    public void setRecoveryStatus(String alias, int status)
            throws InternalRecoveryServiceException {
        try {
            // TODO: update aidl
            String[] aliases = alias == null ? null : new String[]{alias};
            mBinder.setRecoveryStatus(packageName, aliases, status);
            mBinder.setRecoveryStatus(alias, status);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        } catch (ServiceSpecificException e) {
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ interface ILockSettings {
    void setSnapshotCreatedPendingIntent(in PendingIntent intent);
    Map getRecoverySnapshotVersions();
    void setServerParams(in byte[] serverParams);
    void setRecoveryStatus(in String packageName, in String[] aliases, int status);
    void setRecoveryStatus(in String alias, int status);
    Map getRecoveryStatus(in String packageName);
    void setRecoverySecretTypes(in int[] secretTypes);
    int[] getRecoverySecretTypes();
Loading