diff options
5 files changed, 15 insertions, 32 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 6aef50ed38c7..bafa8d6911b2 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4545,11 +4545,9 @@ package android.service.autofill { public abstract class AutofillFieldClassificationService extends android.app.Service { method public android.os.IBinder onBind(android.content.Intent); method public float[][] onGetScores(java.lang.String, android.os.Bundle, java.util.List<android.view.autofill.AutofillValue>, java.util.List<java.lang.String>); - field public static final java.lang.String RESOURCE_AVAILABLE_ALGORITHMS = "autofill_field_classification_available_algorithms"; - field public static final java.lang.String RESOURCE_DEFAULT_ALGORITHM = "autofill_field_classification_default_algorithm"; field public static final java.lang.String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService"; - field public static final deprecated java.lang.String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms"; - field public static final deprecated java.lang.String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm"; + field public static final java.lang.String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms"; + field public static final java.lang.String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm"; } } diff --git a/core/java/android/service/autofill/AutofillFieldClassificationService.java b/core/java/android/service/autofill/AutofillFieldClassificationService.java index e5e1c926fbcd..1cd76d2e9ec9 100644 --- a/core/java/android/service/autofill/AutofillFieldClassificationService.java +++ b/core/java/android/service/autofill/AutofillFieldClassificationService.java @@ -65,36 +65,16 @@ public abstract class AutofillFieldClassificationService extends Service { /** * Manifest metadata key for the resource string containing the name of the default field * classification algorithm. - * - * @deprecated Use {@link #RESOURCE_DEFAULT_ALGORITHM} instead. */ - @Deprecated public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm"; - /** * Manifest metadata key for the resource string array containing the names of all field * classification algorithms provided by the service. - * - * @deprecated Use {@link #RESOURCE_AVAILABLE_ALGORITHMS} instead. */ - @Deprecated public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms"; - /** - * Name of the resource string containing the name of the default field - * classification algorithm. - */ - public static final String RESOURCE_DEFAULT_ALGORITHM = - "autofill_field_classification_default_algorithm"; - - /** - * Name of the resource string array containing the names of all field - * classification algorithms provided by the service. - */ - public static final String RESOURCE_AVAILABLE_ALGORITHMS = - "autofill_field_classification_available_algorithms"; /** {@hide} **/ public static final String EXTRA_SCORES = "scores"; diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java index 2cd4b2bca898..9419e93d0066 100644 --- a/core/java/android/view/autofill/AutofillManager.java +++ b/core/java/android/view/autofill/AutofillManager.java @@ -1413,7 +1413,7 @@ public final class AutofillManager { try { mService.getAvailableFieldClassificationAlgorithms(receiver); final String[] algorithms = receiver - .getObjectResult(SyncResultReceiver.TYPE_STRING_ARRAY); + .getObjectResult(SyncResultReceiver.TYPE_STRING_ARRAY); return algorithms != null ? Arrays.asList(algorithms) : Collections.emptyList(); } catch (RemoteException e) { e.rethrowFromSystemServer(); diff --git a/packages/ExtServices/AndroidManifest.xml b/packages/ExtServices/AndroidManifest.xml index a7217ecabc35..ff70e9712bcc 100644 --- a/packages/ExtServices/AndroidManifest.xml +++ b/packages/ExtServices/AndroidManifest.xml @@ -55,6 +55,12 @@ <intent-filter> <action android:name="android.service.autofill.AutofillFieldClassificationService" /> </intent-filter> + <meta-data + android:name="android.autofill.field_classification.default_algorithm" + android:resource="@string/autofill_field_classification_default_algorithm" /> + <meta-data + android:name="android.autofill.field_classification.available_algorithms" + android:resource="@array/autofill_field_classification_available_algorithms" /> </service> <library android:name="android.ext.services"/> diff --git a/services/autofill/java/com/android/server/autofill/FieldClassificationStrategy.java b/services/autofill/java/com/android/server/autofill/FieldClassificationStrategy.java index 8ee65711feb4..293f908e2708 100644 --- a/services/autofill/java/com/android/server/autofill/FieldClassificationStrategy.java +++ b/services/autofill/java/com/android/server/autofill/FieldClassificationStrategy.java @@ -17,8 +17,8 @@ package com.android.server.autofill; import static com.android.server.autofill.Helper.sDebug; import static com.android.server.autofill.Helper.sVerbose; -import static android.service.autofill.AutofillFieldClassificationService.RESOURCE_AVAILABLE_ALGORITHMS; -import static android.service.autofill.AutofillFieldClassificationService.RESOURCE_DEFAULT_ALGORITHM; +import static android.service.autofill.AutofillFieldClassificationService.SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS; +import static android.service.autofill.AutofillFieldClassificationService.SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM; import android.Manifest; import android.annotation.MainThread; @@ -226,7 +226,7 @@ final class FieldClassificationStrategy { */ @Nullable String[] getAvailableAlgorithms() { - return getMetadataValue(RESOURCE_AVAILABLE_ALGORITHMS, "array", + return getMetadataValue(SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS, (res, id) -> res.getStringArray(id)); } @@ -235,12 +235,11 @@ final class FieldClassificationStrategy { */ @Nullable String getDefaultAlgorithm() { - return getMetadataValue(RESOURCE_DEFAULT_ALGORITHM, "string", - (res, id) -> res.getString(id)); + return getMetadataValue(SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM, (res, id) -> res.getString(id)); } @Nullable - private <T> T getMetadataValue(String field, String type, MetadataParser<T> parser) { + private <T> T getMetadataValue(String field, MetadataParser<T> parser) { final ServiceInfo serviceInfo = getServiceInfo(); if (serviceInfo == null) return null; @@ -254,7 +253,7 @@ final class FieldClassificationStrategy { return null; } - final int resourceId = res.getIdentifier(field, type, serviceInfo.packageName); + final int resourceId = serviceInfo.metaData.getInt(field); return parser.get(res, resourceId); } |