Merge "Add more flags to allowlist." into udc-dev
diff --git a/framework/api/system-current.txt b/framework/api/system-current.txt
index 2e05d20..e118610 100644
--- a/framework/api/system-current.txt
+++ b/framework/api/system-current.txt
@@ -95,6 +95,9 @@
     field public static final String NAMESPACE_UWB = "uwb";
     field public static final String NAMESPACE_WEARABLE_SENSING = "wearable_sensing";
     field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
+    field public static final int SYNC_DISABLED_MODE_NONE = 0; // 0x0
+    field public static final int SYNC_DISABLED_MODE_PERSISTENT = 1; // 0x1
+    field public static final int SYNC_DISABLED_MODE_UNTIL_REBOOT = 2; // 0x2
   }
 
   public static class DeviceConfig.BadConfigException extends java.lang.Exception {
diff --git a/framework/java/android/provider/DeviceConfig.java b/framework/java/android/provider/DeviceConfig.java
index 454f577..0d5ac76 100644
--- a/framework/java/android/provider/DeviceConfig.java
+++ b/framework/java/android/provider/DeviceConfig.java
@@ -23,6 +23,7 @@
 
 import android.Manifest;
 import android.annotation.CallbackExecutor;
+import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
@@ -37,6 +38,11 @@
 
 import com.android.internal.annotations.GuardedBy;
 
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
@@ -925,6 +931,43 @@
     @SystemApi
     public static final String NAMESPACE_REMOTE_AUTH = "remote_auth";
 
+    /**
+     * The modes that can be used when disabling syncs to the 'config' settings.
+     * @hide
+     */
+    @IntDef(prefix = "SYNC_DISABLED_MODE_",
+            value = { SYNC_DISABLED_MODE_NONE, SYNC_DISABLED_MODE_PERSISTENT,
+                    SYNC_DISABLED_MODE_UNTIL_REBOOT })
+    @Retention(RetentionPolicy.SOURCE)
+    @Target({ElementType.TYPE_PARAMETER, ElementType.TYPE_USE})
+    public @interface SyncDisabledMode {}
+
+    /**
+     * Sync is not disabled.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final int SYNC_DISABLED_MODE_NONE = 0;
+
+    /**
+     * Disabling of Config bulk update / syncing is persistent, i.e. it survives a device
+     * reboot.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final int SYNC_DISABLED_MODE_PERSISTENT = 1;
+
+    /**
+     * Disabling of Config bulk update / syncing is not persistent, i.e. it will
+     * not survive a device reboot.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final int SYNC_DISABLED_MODE_UNTIL_REBOOT = 2;
+
     private static final Object sLock = new Object();
     @GuardedBy("sLock")
     private static ArrayMap<OnPropertiesChangedListener, Pair<String, Executor>> sListeners =
@@ -1226,16 +1269,15 @@
      * config values. This is intended for use during tests to prevent a sync operation clearing
      * config values which could influence the outcome of the tests, i.e. by changing behavior.
      *
-     * @param syncDisabledMode the mode to use, see {@link Settings.Config#SYNC_DISABLED_MODE_NONE},
-     *     {@link Settings.Config#SYNC_DISABLED_MODE_PERSISTENT} and {@link
-     *     Settings.Config#SYNC_DISABLED_MODE_UNTIL_REBOOT}
+     * @param syncDisabledMode the mode to use, see {@link #SYNC_DISABLED_MODE_NONE},
+     *     {@link #SYNC_DISABLED_MODE_PERSISTENT} and {@link #SYNC_DISABLED_MODE_UNTIL_REBOOT}
      *
      * @see #getSyncDisabledMode()
      * @hide
      */
     @SystemApi
     @RequiresPermission(anyOf = {WRITE_DEVICE_CONFIG, READ_WRITE_SYNC_DISABLED_MODE_CONFIG})
-    public static void setSyncDisabledMode(int syncDisabledMode) {
+    public static void setSyncDisabledMode(@SyncDisabledMode int syncDisabledMode) {
         Settings.Config.setSyncDisabledMode(syncDisabledMode);
     }
 
diff --git a/framework/java/android/provider/WritableFlags.java b/framework/java/android/provider/WritableFlags.java
index 0b069c9..d967b70 100644
--- a/framework/java/android/provider/WritableFlags.java
+++ b/framework/java/android/provider/WritableFlags.java
@@ -208,8 +208,10 @@
                 "attention_manager_service/post_dim_check_duration_millis",
                 "attention_manager_service/pre_dim_check_duration_millis",
                 "attention_manager_service/service_enabled",
-                "autofill/autofill_credential_manager_enabled",
                 "autofill/autofill_credential_manager_ignore_views",
+                "autofill/autofill_credential_manager_enabled",
+                "autofill/autofill_credential_manager_suppress_fill_dialog",
+                "autofill/autofill_credential_manager_suppress_save_dialog",
                 "autofill/autofill_dialog_enabled",
                 "autofill/autofill_dialog_hints",
                 "autofill/compat_mode_allowed_packages",
@@ -219,11 +221,13 @@
                 "autofill/package_deny_list_for_unimportant_view",
                 "autofill/pcc_classification_enabled",
                 "autofill/pcc_classification_hints",
+                "autofill/pcc_use_fallback",
                 "autofill/portrait_body_height_max_percent",
+                "autofill/prefer_provider_over_pcc",
+                "autofill/should_enable_autofill_on_all_view_types",
                 "autofill/smart_suggestion_supported_modes",
                 "autofill/trigger_fill_request_on_filtered_important_views",
                 "autofill/trigger_fill_request_on_unimportant_view",
-                "autofill/trigger_fill_request_on_unimportant_view_is_enabled",
                 "auto_pin_confirmation/enable_auto_pin_confirmation",
                 "backup_and_restore/backup_transport_callback_timeout_millis",
                 "backup_and_restore/backup_transport_callback_timeout_millis_new",