summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Felipe Leme <felipeal@google.com> 2025-02-18 08:38:57 -0800
committer Felipe Leme <felipeal@google.com> 2025-02-18 08:58:32 -0800
commit583b8f2557a7a41fcf8502d6088acb1d00fdf966 (patch)
treebca53ab3b39a2a7b7070c3eeac8b25087fc03b4a
parent68386c46b1b4aa78a8d5e6141587fcdfa56d4d22 (diff)
Include isValuePreservedInRestore() on dumpsys settings
Bug: 396734809 Test: adb shell dumpsys settings | grep notPreservedInRestore|| echo "D'OH!" Flag: EXEMPT changes on debugging components only Change-Id: I11d239f9b2a70de8f94ff7f9f6df0be79fc69108
-rw-r--r--core/proto/android/providers/settings/common.proto3
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java1
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java5
3 files changed, 9 insertions, 0 deletions
diff --git a/core/proto/android/providers/settings/common.proto b/core/proto/android/providers/settings/common.proto
index 64ffefb695a6..931192e7f1e7 100644
--- a/core/proto/android/providers/settings/common.proto
+++ b/core/proto/android/providers/settings/common.proto
@@ -37,6 +37,9 @@ message SettingProto {
// Whether the default is set by the system
optional bool default_from_system = 6;
+
+ // Whether the value is ignored when restoring from backup
+ optional bool preserved_in_restore = 7;
}
message SettingsOperationProto {
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index 95059779ce3d..f03a5fb454fa 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1696,6 +1696,7 @@ class SettingsProtoDumpUtil {
proto.write(SettingProto.DEFAULT_VALUE, setting.getDefaultValue());
proto.write(SettingProto.DEFAULT_FROM_SYSTEM, setting.isDefaultFromSystem());
}
+ proto.write(SettingProto.PRESERVED_IN_RESTORE, setting.isValuePreservedInRestore());
proto.end(settingsToken);
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 7c588b3834a5..8e3aa65fa5c7 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -988,6 +988,11 @@ public class SettingsProvider extends ContentProvider {
if (setting.getTag() != null) {
pw.print(" tag:"); pw.print(setting.getTag());
}
+ // The majority of settings are preserved in restore, so we're just dumping those that
+ // are not (to save space).
+ if (!setting.isValuePreservedInRestore()) {
+ pw.println(" notPreservedInRestore");
+ }
pw.println();
}
}