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 {
|
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_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 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_OFF = 0; // 0x0
|
||||||
field public static final int FLAG_SMART_SUGGESTION_SYSTEM = 1; // 0x1
|
field public static final int FLAG_SMART_SUGGESTION_SYSTEM = 1; // 0x1
|
||||||
|
|||||||
@@ -586,7 +586,7 @@ public final class DeviceConfig {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private static final List<String> PUBLIC_NAMESPACES =
|
private static final List<String> PUBLIC_NAMESPACES =
|
||||||
Arrays.asList(NAMESPACE_TEXTCLASSIFIER, NAMESPACE_RUNTIME, NAMESPACE_STATSD_JAVA,
|
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.
|
* Privacy related properties definitions.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ import android.os.Looper;
|
|||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
|
import android.provider.DeviceConfig;
|
||||||
import android.service.autofill.AutofillService;
|
import android.service.autofill.AutofillService;
|
||||||
import android.service.autofill.FillCallback;
|
import android.service.autofill.FillCallback;
|
||||||
import android.service.autofill.FillEventHistory;
|
import android.service.autofill.FillEventHistory;
|
||||||
@@ -491,6 +492,15 @@ public final class AutofillManager {
|
|||||||
public static final String DEVICE_CONFIG_AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES =
|
public static final String DEVICE_CONFIG_AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES =
|
||||||
"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 */
|
/** @hide */
|
||||||
public static final int RESULT_OK = 0;
|
public static final int RESULT_OK = 0;
|
||||||
/** @hide */
|
/** @hide */
|
||||||
@@ -539,7 +549,7 @@ public final class AutofillManager {
|
|||||||
*/
|
*/
|
||||||
public static final int NO_SESSION = Integer.MAX_VALUE;
|
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;
|
private final IAutoFillManager mService;
|
||||||
|
|
||||||
@@ -655,6 +665,8 @@ public final class AutofillManager {
|
|||||||
|
|
||||||
@Nullable private List<AutofillId> mFillDialogTriggerIds;
|
@Nullable private List<AutofillId> mFillDialogTriggerIds;
|
||||||
|
|
||||||
|
private final boolean mIsFillDialogEnabled;
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public interface AutofillClient {
|
public interface AutofillClient {
|
||||||
/**
|
/**
|
||||||
@@ -795,6 +807,14 @@ public final class AutofillManager {
|
|||||||
mIsFillRequested = false;
|
mIsFillRequested = false;
|
||||||
mRequireAutofill = 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) {
|
if (mOptions != null) {
|
||||||
sDebug = (mOptions.loggingLevel & FLAG_ADD_CLIENT_DEBUG) != 0;
|
sDebug = (mOptions.loggingLevel & FLAG_ADD_CLIENT_DEBUG) != 0;
|
||||||
sVerbose = (mOptions.loggingLevel & FLAG_ADD_CLIENT_VERBOSE) != 0;
|
sVerbose = (mOptions.loggingLevel & FLAG_ADD_CLIENT_VERBOSE) != 0;
|
||||||
@@ -1081,7 +1101,7 @@ public final class AutofillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasFillDialogUiFeature() {
|
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: ");
|
pw.print(pfx); pw.print("compat mode enabled: ");
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
|
pw.print(pfx); pw.print("fill dialog enabled: "); pw.println(mIsFillDialogEnabled);
|
||||||
if (mCompatibilityBridge != null) {
|
if (mCompatibilityBridge != null) {
|
||||||
final String pfx2 = pfx + " ";
|
final String pfx2 = pfx + " ";
|
||||||
pw.println("true");
|
pw.println("true");
|
||||||
|
|||||||
Reference in New Issue
Block a user