summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/Graph/graph.proto2
-rw-r--r--packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt3
-rw-r--r--packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt17
3 files changed, 21 insertions, 1 deletions
diff --git a/packages/SettingsLib/Graph/graph.proto b/packages/SettingsLib/Graph/graph.proto
index 6b93cd73164f..f611793b619b 100644
--- a/packages/SettingsLib/Graph/graph.proto
+++ b/packages/SettingsLib/Graph/graph.proto
@@ -79,6 +79,8 @@ message PreferenceProto {
optional IntentProto launch_intent = 14;
// Descriptor of the preference value.
optional PreferenceValueDescriptorProto value_descriptor = 15;
+ // Indicate how sensitive of the preference.
+ optional int32 sensitivity_level = 16;
// Target of an Intent
message ActionTarget {
diff --git a/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt b/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt
index a65d24cf3d6f..a768b5edb395 100644
--- a/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt
+++ b/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt
@@ -55,9 +55,9 @@ import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceScreenFactory
import com.android.settingslib.preference.PreferenceScreenProvider
-import java.util.Locale
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
+import java.util.Locale
private const val TAG = "PreferenceGraphBuilder"
@@ -387,6 +387,7 @@ fun PreferenceMetadata.toProto(
}
persistent = metadata.isPersistent(context)
if (persistent) {
+ if (metadata is PersistentPreference<*>) sensitivityLevel = metadata.sensitivityLevel
if (
flags.includeValue() &&
enabled &&
diff --git a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt
index 6c11e6997fba..668f981e215b 100644
--- a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt
+++ b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt
@@ -42,6 +42,19 @@ annotation class ReadWritePermit {
}
}
+/** Indicates how sensitive of the data. */
+@Retention(AnnotationRetention.SOURCE)
+@Target(AnnotationTarget.TYPE)
+annotation class SensitivityLevel {
+ companion object {
+ const val UNKNOWN_SENSITIVITY = 0
+ const val NO_SENSITIVITY = 1
+ const val LOW_SENSITIVITY = 2
+ const val MEDIUM_SENSITIVITY = 3
+ const val HIGH_SENSITIVITY = 4
+ }
+}
+
/** Preference interface that has a value persisted in datastore. */
interface PersistentPreference<T> {
@@ -86,6 +99,10 @@ interface PersistentPreference<T> {
callingUid,
this as PreferenceMetadata,
)
+
+ /** The sensitivity level of the preference. */
+ val sensitivityLevel: @SensitivityLevel Int
+ get() = SensitivityLevel.UNKNOWN_SENSITIVITY
}
/** Descriptor of values. */