diff options
| -rw-r--r-- | core/api/test-current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/provider/DeviceConfig.java | 2 | ||||
| -rw-r--r-- | core/java/android/view/autofill/AutofillManager.java | 25 |
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"); |