diff options
-rw-r--r-- | framework/api/system-current.txt | 3 | ||||
-rw-r--r-- | framework/java/android/provider/DeviceConfig.java | 50 | ||||
-rw-r--r-- | framework/java/android/provider/OWNERS | 2 | ||||
-rw-r--r-- | framework/java/android/provider/WritableFlags.java | 27 |
4 files changed, 75 insertions, 7 deletions
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 @@ package android.provider { 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 static android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG; 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 android.util.Pair; 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 @@ public final class DeviceConfig { @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 @@ public final class DeviceConfig { * 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/OWNERS b/framework/java/android/provider/OWNERS index a9e6761..20d7511 100644 --- a/framework/java/android/provider/OWNERS +++ b/framework/java/android/provider/OWNERS @@ -1 +1 @@ -per-file WritableFlags.java = cbrubaker@google.com +per-file WritableFlags.java = cbrubaker@google.com,tedbauer@google.com diff --git a/framework/java/android/provider/WritableFlags.java b/framework/java/android/provider/WritableFlags.java index f0a6c9a..057b446 100644 --- a/framework/java/android/provider/WritableFlags.java +++ b/framework/java/android/provider/WritableFlags.java @@ -208,8 +208,10 @@ final class WritableFlags { "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", @@ -217,9 +219,15 @@ final class WritableFlags { "autofill/legacy_augmented_autofill_mode", "autofill/non_autofillable_ime_action_ids", "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_unimportant_view_is_enabled", + "autofill/trigger_fill_request_on_filtered_important_views", + "autofill/trigger_fill_request_on_unimportant_view", "auto_pin_confirmation/enable_auto_pin_confirmation", "backup_and_restore/backup_transport_callback_timeout_millis", "backup_and_restore/backup_transport_callback_timeout_millis_new", @@ -258,6 +266,7 @@ final class WritableFlags { "configuration/disable_rescue_party", "configuration/enable_my_feature", "configuration/minimum_dpi", + "configuration/namespace_to_package_mapping", "configuration/test_flag", "configuration/test_flag", "configuration/test_flag", @@ -1273,6 +1282,8 @@ final class WritableFlags { "health_connect/entry_points_enable", "health_connect/exercise_routes_enable", "health_connect/session_types_enable", + "health_fitness/exercise_routes_enable", + "health_fitness/session_types_enable", "input_native_boot/deep_press_enabled", "input_native_boot/palm_rejection_enabled", "input_native_boot/slow_event_min_reporting_interval", @@ -1331,6 +1342,8 @@ final class WritableFlags { "launcher/show_search_educard_qsb", "launcher/use_app_search_for_web", "launcher/use_fallback_app_search", + "low_power_standby/enable_policy", + "low_power_standby/enable_standby_ports", "lmkd_native/thrashing_limit_critical", "location/adas_settings_allowlist", "location/enable_location_provider_manager_msl", @@ -1350,6 +1363,7 @@ final class WritableFlags { "namespace/key", "namespace1/key1", "namespace1/key2", + "namespace1/key3", "namespace2/key1", "namespace2/key2", "nearby/enable_presence_broadcast_legacy", @@ -1433,6 +1447,8 @@ final class WritableFlags { "privacy/camera_toggle_enabled", "privacy/data_sharing_update_period_millis", "privacy/location_access_check_enabled", + "privacy/location_access_check_delay_millis", + "privacy/location_access_check_periodic_interval_millis", "privacy/location_accuracy_enabled", "privacy/location_indicators_enabled", "privacy/location_indicators_show_system", @@ -1479,10 +1495,12 @@ final class WritableFlags { "profcollect_native_boot/enable", "remote_key_provisioning_native/enable_rkpd", "rollback/containing", + "rollback/enable_rollback_timeout", "rollback/watchdog_explicit_health_check_enabled", "rollback/watchdog_request_timeout_millis", "rollback/watchdog_trigger_failure_count", "rollback/watchdog_trigger_failure_duration_millis", + "rollback_boot/rollback_lifetime_in_millis", "rotation_resolver/service_enabled", "runtime_native_boot/blacklisted_packages", "runtime_native_boot/disable_lock_profiling", @@ -1564,8 +1582,11 @@ final class WritableFlags { "system_scheduler/location_mode", "system_time/default_is_enabled", "system_time/enhanced_metrics_collection_enabled", + "system_time/ltzp_event_filtering_age_threshold_millis", "system_time/run_in_background_enabled", "system_time/supported", + "system_time/time_detector_lower_bound_millis_override", + "system_time/time_detector_origin_priorities_override", "systemui/apply_sharing_app_limits_in_sysui", "systemui/back_gesture_ml_name", "systemui/back_gesture_ml_threshold", @@ -1635,6 +1656,8 @@ final class WritableFlags { "telephony/ramping_ringer_duration", "telephony/ramping_ringer_enabled", "telephony/ramping_ringer_vibration_duration", + "testspace/flagname", + "testspace/another", "tethering/enable_java_bpf_map", "textclassifier/ar_manifest", "textclassifier/da_manifest", |