summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/test-current.txt1
-rw-r--r--core/java/android/provider/DeviceConfig.java2
-rw-r--r--core/java/android/view/autofill/AutofillManager.java25
3 files changed, 25 insertions, 3 deletions
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index e64392b3b0c2..b752c4de22c7 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -2962,6 +2962,7 @@ package android.view.autofill {
public final class AutofillManager {
field public static final String DEVICE_CONFIG_AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "compat_mode_allowed_packages";
+ field public static final String DEVICE_CONFIG_AUTOFILL_DIALOG_ENABLED = "autofill_dialog_enabled";
field public static final String DEVICE_CONFIG_AUTOFILL_SMART_SUGGESTION_SUPPORTED_MODES = "smart_suggestion_supported_modes";
field public static final int FLAG_SMART_SUGGESTION_OFF = 0; // 0x0
field public static final int FLAG_SMART_SUGGESTION_SYSTEM = 1; // 0x1
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java
index 87f4489e30f8..52b6944ba940 100644
--- a/core/java/android/provider/DeviceConfig.java
+++ b/core/java/android/provider/DeviceConfig.java
@@ -586,7 +586,7 @@ public final class DeviceConfig {
@NonNull
private static final List<String> PUBLIC_NAMESPACES =
Arrays.asList(NAMESPACE_TEXTCLASSIFIER, NAMESPACE_RUNTIME, NAMESPACE_STATSD_JAVA,
- NAMESPACE_STATSD_JAVA_BOOT, NAMESPACE_SELECTION_TOOLBAR);
+ NAMESPACE_STATSD_JAVA_BOOT, NAMESPACE_SELECTION_TOOLBAR, NAMESPACE_AUTOFILL);
/**
* Privacy related properties definitions.
*
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index b7994db0cb28..a8cc114c4d69 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -58,6 +58,7 @@ import android.os.Looper;
import android.os.Parcelable;
import android.os.RemoteException;
import android.os.SystemClock;
+import android.provider.DeviceConfig;
import android.service.autofill.AutofillService;
import android.service.autofill.FillCallback;
import android.service.autofill.FillEventHistory;
@@ -491,6 +492,15 @@ public final class AutofillManager {
public static final String DEVICE_CONFIG_AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES =
"compat_mode_allowed_packages";
+ /**
+ * Sets the fill dialog feature enabled or not.
+ *
+ * @hide
+ */
+ @TestApi
+ public static final String DEVICE_CONFIG_AUTOFILL_DIALOG_ENABLED =
+ "autofill_dialog_enabled";
+
/** @hide */
public static final int RESULT_OK = 0;
/** @hide */
@@ -539,7 +549,7 @@ public final class AutofillManager {
*/
public static final int NO_SESSION = Integer.MAX_VALUE;
- private static final boolean HAS_FILL_DIALOG_UI_FEATURE = false;
+ private static final boolean HAS_FILL_DIALOG_UI_FEATURE_DEFAULT = false;
private final IAutoFillManager mService;
@@ -655,6 +665,8 @@ public final class AutofillManager {
@Nullable private List<AutofillId> mFillDialogTriggerIds;
+ private final boolean mIsFillDialogEnabled;
+
/** @hide */
public interface AutofillClient {
/**
@@ -795,6 +807,14 @@ public final class AutofillManager {
mIsFillRequested = false;
mRequireAutofill = false;
+ mIsFillDialogEnabled = DeviceConfig.getBoolean(
+ DeviceConfig.NAMESPACE_AUTOFILL,
+ DEVICE_CONFIG_AUTOFILL_DIALOG_ENABLED,
+ HAS_FILL_DIALOG_UI_FEATURE_DEFAULT);
+ if (sDebug) {
+ Log.d(TAG, "Fill dialog is enabled:" + mIsFillDialogEnabled);
+ }
+
if (mOptions != null) {
sDebug = (mOptions.loggingLevel & FLAG_ADD_CLIENT_DEBUG) != 0;
sVerbose = (mOptions.loggingLevel & FLAG_ADD_CLIENT_VERBOSE) != 0;
@@ -1081,7 +1101,7 @@ public final class AutofillManager {
}
private boolean hasFillDialogUiFeature() {
- return HAS_FILL_DIALOG_UI_FEATURE;
+ return mIsFillDialogEnabled;
}
/**
@@ -3012,6 +3032,7 @@ public final class AutofillManager {
}
pw.print(pfx); pw.print("compat mode enabled: ");
synchronized (mLock) {
+ pw.print(pfx); pw.print("fill dialog enabled: "); pw.println(mIsFillDialogEnabled);
if (mCompatibilityBridge != null) {
final String pfx2 = pfx + " ";
pw.println("true");