summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt3
-rw-r--r--api/system-current.txt3
-rw-r--r--api/test-current.txt3
-rw-r--r--core/java/android/service/autofill/AutofillService.java2
-rw-r--r--core/java/android/service/autofill/AutofillServiceInfo.java13
-rw-r--r--core/res/AndroidManifest.xml8
-rw-r--r--services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java4
7 files changed, 18 insertions, 18 deletions
diff --git a/api/current.txt b/api/current.txt
index 37855269a577..66cf2c61b1e4 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -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";
diff --git a/api/system-current.txt b/api/system-current.txt
index ee1dad333b77..7699cfcc298a 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -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";
diff --git a/api/test-current.txt b/api/test-current.txt
index 3d5114dffeed..c8829b01013c 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -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";
diff --git a/core/java/android/service/autofill/AutofillService.java b/core/java/android/service/autofill/AutofillService.java
index 32b078f67e95..416455d596be 100644
--- a/core/java/android/service/autofill/AutofillService.java
+++ b/core/java/android/service/autofill/AutofillService.java
@@ -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)
diff --git a/core/java/android/service/autofill/AutofillServiceInfo.java b/core/java/android/service/autofill/AutofillServiceInfo.java
index 0f4824e47fa9..e64eb0d62992 100644
--- a/core/java/android/service/autofill/AutofillServiceInfo.java
+++ b/core/java/android/service/autofill/AutofillServiceInfo.java
@@ -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.
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 55cea703c14d..3f6826d77dce 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -2486,13 +2486,11 @@
to ensure that only the system can bind to it.
<p>Protection level: signature
-->
- <permission android:name="android.permission.BIND_AUTOFILL"
+ <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
android:protectionLevel="signature" />
- <!-- TODO(b/35956626): temporary until clients change to BIND_AUTOFILL
- <p>Protection level: signature
- -->
- <permission android:name="android.permission.BIND_AUTO_FILL"
+ <!-- @hide TODO(b/37563972): remove once clients use BIND_AUTOFILL_SERVICE -->
+ <permission android:name="android.permission.BIND_AUTOFILL"
android:protectionLevel="signature" />
<!-- Must be required by hotword enrollment application,
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
index ae782f0aa8da..44a296e79b57 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
@@ -201,8 +201,8 @@ final class AutofillManagerServiceImpl {
}
sendStateToClients(false);
}
- } catch (PackageManager.NameNotFoundException e) {
- Slog.e(TAG, "Bad autofill service name " + componentName + ": " + e);
+ } catch (Exception e) {
+ Slog.e(TAG, "Bad AutofillService '" + componentName + "': " + e);
}
}