summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-11-29 02:30:29 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-11-29 02:30:29 +0000
commitab58d64895a7de708784bd451624646229dca46d (patch)
treee4b873c417842770851424d62e3c8fdff4cbfbee
parent897b8eb9dd5568ea5d34ca8621ec208fe6c2aff0 (diff)
parent65e15f48d74bc4da8c843b6eccb7c6ef5359bbba (diff)
Merge "[Catalyst] Support sensitivity level" into main
-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. */