diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 848b041007c23..4369ea2a6693e 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -13753,6 +13753,15 @@ public final class Settings { */ public static final String LAST_ACTIVE_USER_ID = "last_active_persistent_user_id"; + + /** + * Whether we've enabled native flags health check on this device. Takes effect on + * reboot. The value "1" enables native flags health check; otherwise it's disabled. + * @hide + */ + public static final String NATIVE_FLAGS_HEALTH_CHECK_ENABLED = + "native_flags_health_check_enabled"; + } /** diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto index 7de8020c4d326..d917536b17150 100644 --- a/core/proto/android/providers/settings/global.proto +++ b/core/proto/android/providers/settings/global.proto @@ -550,6 +550,10 @@ message GlobalSettingsProto { } optional MultiSim multi_sim = 76; + // Whether we've enabled native flags health check on this device. Takes effect on + // reboot. The value "1" enables native flags health check; otherwise it's disabled. + optional SettingProto native_flags_health_check_enabled = 144 [ (android.privacy).dest = DEST_AUTOMATIC ]; + message Netstats { option (android.msg_privacy).dest = DEST_EXPLICIT; @@ -987,5 +991,5 @@ message GlobalSettingsProto { // Please insert fields in alphabetical order and group them into messages // if possible (to avoid reaching the method limit). - // Next tag = 144; + // Next tag = 145; } diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java index 8f583307adab6..5e669e4f82b97 100644 --- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java +++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java @@ -314,6 +314,7 @@ public class SettingsBackupTest { Settings.Global.MULTI_SIM_SMS_SUBSCRIPTION, Settings.Global.MULTI_SIM_VOICE_CALL_SUBSCRIPTION, Settings.Global.MULTI_SIM_VOICE_PROMPT, + Settings.Global.NATIVE_FLAGS_HEALTH_CHECK_ENABLED, Settings.Global.NETSTATS_DEV_BUCKET_DURATION, Settings.Global.NETSTATS_DEV_DELETE_AGE, Settings.Global.NETSTATS_DEV_PERSIST_BYTES, diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index cbb6e82c8f868..b2c12b277dc0c 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -855,6 +855,10 @@ class SettingsProtoDumpUtil { GlobalSettingsProto.MultiSim.SMS_PROMPT); p.end(multiSimToken); + dumpSetting(s, p, + Global.NATIVE_FLAGS_HEALTH_CHECK_ENABLED, + GlobalSettingsProto.NATIVE_FLAGS_HEALTH_CHECK_ENABLED); + final long netstatsToken = p.start(GlobalSettingsProto.NETSTATS); dumpSetting(s, p, Settings.Global.NETSTATS_ENABLED, diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java index a5848ca0235aa..4c4a090607066 100644 --- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java @@ -65,6 +65,7 @@ class SettingsToPropertiesMapper { // permission in the corresponding .te file your feature belongs to. @VisibleForTesting static final String[] sGlobalSettings = new String[] { + Settings.Global.NATIVE_FLAGS_HEALTH_CHECK_ENABLED, }; @VisibleForTesting