Merge "Make fill dialog feature controlled by device config" into tm-dev
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user