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

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

Merge "Autofill binding permission fixes." into oc-dev

parents f84467e1 decd887f
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -20,8 +20,7 @@ package android {
    field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
    field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
    field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
    field public static final java.lang.String BIND_AUTOFILL = "android.permission.BIND_AUTOFILL";
    field public static final java.lang.String BIND_AUTO_FILL = "android.permission.BIND_AUTO_FILL";
    field public static final java.lang.String BIND_AUTOFILL_SERVICE = "android.permission.BIND_AUTOFILL_SERVICE";
    field public static final deprecated java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
    field public static final java.lang.String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES";
    field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+1 −2
Original line number Diff line number Diff line
@@ -30,8 +30,7 @@ package android {
    field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
    field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
    field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
    field public static final java.lang.String BIND_AUTOFILL = "android.permission.BIND_AUTOFILL";
    field public static final java.lang.String BIND_AUTO_FILL = "android.permission.BIND_AUTO_FILL";
    field public static final java.lang.String BIND_AUTOFILL_SERVICE = "android.permission.BIND_AUTOFILL_SERVICE";
    field public static final deprecated java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
    field public static final java.lang.String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES";
    field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+1 −2
Original line number Diff line number Diff line
@@ -20,8 +20,7 @@ package android {
    field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
    field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
    field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
    field public static final java.lang.String BIND_AUTOFILL = "android.permission.BIND_AUTOFILL";
    field public static final java.lang.String BIND_AUTO_FILL = "android.permission.BIND_AUTO_FILL";
    field public static final java.lang.String BIND_AUTOFILL_SERVICE = "android.permission.BIND_AUTOFILL_SERVICE";
    field public static final deprecated java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
    field public static final java.lang.String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES";
    field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ public abstract class AutofillService extends Service {
    /**
     * The {@link Intent} that must be declared as handled by the service.
     * To be supported, the service must also require the
     * {@link android.Manifest.permission#BIND_AUTOFILL} permission so
     * {@link android.Manifest.permission#BIND_AUTOFILL_SERVICE} permission so
     * that other applications can not abuse it.
     */
    @SdkConstant(SdkConstant.SdkConstantType.SERVICE_ACTION)
+9 −4
Original line number Diff line number Diff line
@@ -83,14 +83,19 @@ public final class AutofillServiceInfo {
    }

    /**
     * Gets the meta-data as a TypedArray, or null if not provided, or throws if invalid.
     * Gets the meta-data as a {@link TypedArray}, or {@code null} if not provided,
     * or throws if invalid.
     */
    @Nullable
    private static TypedArray getMetaDataArray(PackageManager pm, ServiceInfo si) {
        // Check for permissions.
        if (!Manifest.permission.BIND_AUTOFILL.equals(si.permission)) {
            Log.e(TAG, "Service does not require permission " + Manifest.permission.BIND_AUTOFILL);
            return null;
        // TODO(b/37563972): remove support to BIND_AUTOFILL once clients use BIND_AUTOFILL_SERVICE
        if (!Manifest.permission.BIND_AUTOFILL_SERVICE.equals(si.permission)
                && !Manifest.permission.BIND_AUTOFILL.equals(si.permission)) {
            Log.w(TAG, "AutofillService from '" + si.packageName + "' does not require permission "
                    + Manifest.permission.BIND_AUTOFILL_SERVICE);
            throw new SecurityException("Service does not require permission "
                    + Manifest.permission.BIND_AUTOFILL_SERVICE);
        }

        // Get the AutoFill metadata, if declared.
Loading