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

Commit b5533b69 authored by Song Chun Fan's avatar Song Chun Fan Committed by Android (Google) Code Review
Browse files

Merge changes from topic "verification_service_implementation" into main

* changes:
  [ADI][32/N] renaming an action constant
  [ADI][31/N] address API feedback on USER_RESPONSE_* constants
parents 203c8ae5 f56e6212
Loading
Loading
Loading
Loading
+4 −5
Original line number Original line Diff line number Diff line
@@ -4326,10 +4326,10 @@ package android.content.pm {
    method @FlaggedApi("android.content.pm.verification_service") @RequiresPermission(android.Manifest.permission.DEVELOPER_VERIFICATION_AGENT) public final boolean setDeveloperVerificationPolicy(int);
    method @FlaggedApi("android.content.pm.verification_service") @RequiresPermission(android.Manifest.permission.DEVELOPER_VERIFICATION_AGENT) public final boolean setDeveloperVerificationPolicy(int);
    method @FlaggedApi("android.content.pm.verification_service") @RequiresPermission(android.Manifest.permission.SET_DEVELOPER_VERIFICATION_USER_RESPONSE) public void setDeveloperVerificationUserResponse(int, int);
    method @FlaggedApi("android.content.pm.verification_service") @RequiresPermission(android.Manifest.permission.SET_DEVELOPER_VERIFICATION_USER_RESPONSE) public void setDeveloperVerificationUserResponse(int, int);
    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
    field @FlaggedApi("android.content.pm.verification_service") public static final String ACTION_CONFIRM_DEVELOPER_VERIFICATION = "android.content.pm.action.CONFIRM_DEVELOPER_VERIFICATION";
    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
    field @FlaggedApi("android.content.pm.sdk_dependency_installer") public static final String ACTION_INSTALL_DEPENDENCY = "android.content.pm.action.INSTALL_DEPENDENCY";
    field @FlaggedApi("android.content.pm.sdk_dependency_installer") public static final String ACTION_INSTALL_DEPENDENCY = "android.content.pm.action.INSTALL_DEPENDENCY";
    field @FlaggedApi("android.content.pm.verification_service") public static final String ACTION_NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE = "android.content.pm.action.NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE";
    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
@@ -4337,11 +4337,10 @@ package android.content.pm {
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_OPEN = 1; // 0x1
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_OPEN = 1; // 0x1
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_WARN = 2; // 0x2
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_WARN = 2; // 0x2
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_POLICY_NONE = 0; // 0x0
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_POLICY_NONE = 0; // 0x0
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL = 1; // 0x1
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT = 1; // 0x1
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_ERROR = 0; // 0x0
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_ERROR = 0; // 0x0
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY = 4; // 0x4
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY = 3; // 0x3
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_OK = 2; // 0x2
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY = 2; // 0x2
    field @FlaggedApi("android.content.pm.verification_service") public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY = 3; // 0x3
    field public static final String EXTRA_CALLBACK = "android.content.pm.extra.CALLBACK";
    field public static final String EXTRA_CALLBACK = "android.content.pm.extra.CALLBACK";
    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
    field @FlaggedApi("android.content.pm.archiving") public static final String EXTRA_DELETE_FLAGS = "android.content.pm.extra.DELETE_FLAGS";
    field @FlaggedApi("android.content.pm.archiving") public static final String EXTRA_DELETE_FLAGS = "android.content.pm.extra.DELETE_FLAGS";
+6 −15
Original line number Original line Diff line number Diff line
@@ -240,8 +240,8 @@ public class PackageInstaller {
     */
     */
    @SystemApi
    @SystemApi
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    public static final String ACTION_NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE =
    public static final String ACTION_CONFIRM_DEVELOPER_VERIFICATION =
            "android.content.pm.action.NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE";
            "android.content.pm.action.CONFIRM_DEVELOPER_VERIFICATION";


    /**
    /**
     * An integer session ID that an operation is working with.
     * An integer session ID that an operation is working with.
@@ -947,22 +947,14 @@ public class PackageInstaller {
     */
     */
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @SystemApi
    @SystemApi
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL = 1;
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT = 1;
    /**
     * This indicates that the user has acknowledged that installation cannot be completed due to
     * a failed / incomplete developer verification.
     * @hide
     */
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @SystemApi
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_OK = 2;
    /**
    /**
     * For an incomplete developer verification, the user has asked to retry the verification.
     * For an incomplete developer verification, the user has asked to retry the verification.
     * @hide
     * @hide
     */
     */
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @SystemApi
    @SystemApi
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY = 3;
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY = 2;
    /**
    /**
     * For an incomplete developer verification, the user has confirmed proceeding with the
     * For an incomplete developer verification, the user has confirmed proceeding with the
     * installation anyway.
     * installation anyway.
@@ -970,14 +962,13 @@ public class PackageInstaller {
     */
     */
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @FlaggedApi(Flags.FLAG_VERIFICATION_SERVICE)
    @SystemApi
    @SystemApi
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY = 4;
    public static final int DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY = 3;
    /**
    /**
     * @hide
     * @hide
     */
     */
    @IntDef(value = {
    @IntDef(value = {
            DEVELOPER_VERIFICATION_USER_RESPONSE_ERROR,
            DEVELOPER_VERIFICATION_USER_RESPONSE_ERROR,
            DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL,
            DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT,
            DEVELOPER_VERIFICATION_USER_RESPONSE_OK,
            DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY,
            DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY,
            DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY,
            DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY,
    })
    })
+1 −1
Original line number Original line Diff line number Diff line
@@ -74,7 +74,7 @@
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            </intent-filter>
            <intent-filter android:priority="1">
            <intent-filter android:priority="1">
                <action android:name="android.content.pm.action.NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE" />
                <action android:name="android.content.pm.action.CONFIRM_DEVELOPER_VERIFICATION" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            </intent-filter>
        </activity>
        </activity>
+6 −7
Original line number Original line Diff line number Diff line
@@ -21,10 +21,9 @@ import static android.content.pm.PackageInstaller.SessionInfo;
import static android.content.pm.PackageInstaller.SessionInfo.INVALID_ID;
import static android.content.pm.PackageInstaller.SessionInfo.INVALID_ID;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_OPEN;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_OPEN;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_WARN;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_POLICY_BLOCK_FAIL_WARN;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_ERROR;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_ERROR;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_INSTALL_ANYWAY;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_OK;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY;
import static android.content.pm.PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_RETRY;
import static android.content.pm.PackageInstaller.DeveloperVerificationUserConfirmationInfo.DEVELOPER_VERIFICATION_USER_ACTION_NEEDED_REASON_LITE_VERIFICATION;
import static android.content.pm.PackageInstaller.DeveloperVerificationUserConfirmationInfo.DEVELOPER_VERIFICATION_USER_ACTION_NEEDED_REASON_LITE_VERIFICATION;
import static android.content.pm.PackageInstaller.DeveloperVerificationUserConfirmationInfo.DEVELOPER_VERIFICATION_USER_ACTION_NEEDED_REASON_NETWORK_UNAVAILABLE;
import static android.content.pm.PackageInstaller.DeveloperVerificationUserConfirmationInfo.DEVELOPER_VERIFICATION_USER_ACTION_NEEDED_REASON_NETWORK_UNAVAILABLE;
@@ -129,7 +128,7 @@ public class ConfirmDeveloperVerification extends Activity {
                finish();
                finish();
            }).setNegativeButton(R.string.dont_install, (dialog, which) -> {
            }).setNegativeButton(R.string.dont_install, (dialog, which) -> {
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                        DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL);
                        DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT);
                finish();
                finish();
            }).setNeutralButton(R.string.install_anyway, (dialog, which) -> {
            }).setNeutralButton(R.string.install_anyway, (dialog, which) -> {
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
@@ -140,7 +139,7 @@ public class ConfirmDeveloperVerification extends Activity {
            // only allow retry
            // only allow retry
            builder.setPositiveButton(R.string.ok, (dialog, which) -> {
            builder.setPositiveButton(R.string.ok, (dialog, which) -> {
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                        DEVELOPER_VERIFICATION_USER_RESPONSE_OK);
                        PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT);
                finish();
                finish();
            }).setNegativeButton(R.string.try_again, (dialog, which) -> {
            }).setNegativeButton(R.string.try_again, (dialog, which) -> {
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
@@ -151,7 +150,7 @@ public class ConfirmDeveloperVerification extends Activity {
            // only allow bypass
            // only allow bypass
            builder.setPositiveButton(R.string.dont_install, (dialog, which) -> {
            builder.setPositiveButton(R.string.dont_install, (dialog, which) -> {
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                        DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL);
                        DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT);
                finish();
                finish();
            }).setNegativeButton(R.string.install_anyway, (dialog, which) -> {
            }).setNegativeButton(R.string.install_anyway, (dialog, which) -> {
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
@@ -167,7 +166,7 @@ public class ConfirmDeveloperVerification extends Activity {
                            : R.string.ok,
                            : R.string.ok,
                    (dialog, which) -> {
                    (dialog, which) -> {
                        mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                        mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                                DEVELOPER_VERIFICATION_USER_RESPONSE_OK);
                                PackageInstaller.DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT);
                        finish();
                        finish();
                    });
                    });
        }
        }
@@ -180,7 +179,7 @@ public class ConfirmDeveloperVerification extends Activity {


        mDialog.setOnCancelListener(dialog -> {
        mDialog.setOnCancelListener(dialog -> {
            mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
            mPackageInstaller.setDeveloperVerificationUserResponse(sessionId,
                    DEVELOPER_VERIFICATION_USER_RESPONSE_CANCEL);
                    DEVELOPER_VERIFICATION_USER_RESPONSE_ABORT);
            finish();
            finish();
        });
        });


+2 −2
Original line number Original line Diff line number Diff line
@@ -100,7 +100,7 @@ public class InstallStart extends Activity {
                PackageInstaller.ACTION_CONFIRM_PRE_APPROVAL.equals(intentAction)
                PackageInstaller.ACTION_CONFIRM_PRE_APPROVAL.equals(intentAction)
                || PackageInstaller.ACTION_CONFIRM_INSTALL.equals(intentAction)
                || PackageInstaller.ACTION_CONFIRM_INSTALL.equals(intentAction)
                || (Flags.verificationService()
                || (Flags.verificationService()
                && PackageInstaller.ACTION_NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE.equals(
                && PackageInstaller.ACTION_CONFIRM_DEVELOPER_VERIFICATION.equals(
                        intentAction));
                        intentAction));


        // If the activity was started via a PackageInstaller session, we retrieve the originating
        // If the activity was started via a PackageInstaller session, we retrieve the originating
@@ -217,7 +217,7 @@ public class InstallStart extends Activity {
        nextActivity.putExtra(PackageInstallerActivity.EXTRA_IS_TRUSTED_SOURCE, isTrustedSource);
        nextActivity.putExtra(PackageInstallerActivity.EXTRA_IS_TRUSTED_SOURCE, isTrustedSource);


        if (Flags.verificationService()
        if (Flags.verificationService()
                && PackageInstaller.ACTION_NOTIFY_DEVELOPER_VERIFICATION_INCOMPLETE.equals(
                && PackageInstaller.ACTION_CONFIRM_DEVELOPER_VERIFICATION.equals(
                        intentAction)) {
                        intentAction)) {
            nextActivity.setClass(this, ConfirmDeveloperVerification.class);
            nextActivity.setClass(this, ConfirmDeveloperVerification.class);
            nextActivity.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            nextActivity.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Loading