From ed5b8b33270133bebd2b8f64d0b2a5b233f525a2 Mon Sep 17 00:00:00 2001 From: Jacky Wang Date: Mon, 17 Feb 2025 23:12:46 +0800 Subject: [PATCH] [Catalyst] Use deeplink for high sensitivity Fix: 396461663 Flag: com.android.settingslib.flags.settings_catalyst Test: atest Change-Id: I27629b8ac2a3d0b9f2fe834c78c2bcd11a38b4e0 --- .../PreferenceServiceRequestTransformer.kt | 1 + ...PreferenceServiceRequestTransformerTest.kt | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt b/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt index b057d1421d4..d1308c1a874 100644 --- a/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt +++ b/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt @@ -194,6 +194,7 @@ private fun PreferenceProto.toMetadata( SensitivityLevel.NO_SENSITIVITY -> SettingsPreferenceMetadata.NO_SENSITIVITY SensitivityLevel.LOW_SENSITIVITY -> SettingsPreferenceMetadata.EXPECT_POST_CONFIRMATION SensitivityLevel.MEDIUM_SENSITIVITY -> SettingsPreferenceMetadata.DEEPLINK_ONLY + SensitivityLevel.HIGH_SENSITIVITY -> SettingsPreferenceMetadata.DEEPLINK_ONLY else -> SettingsPreferenceMetadata.NO_DIRECT_ACCESS } val extras = Bundle() diff --git a/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt b/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt index 636fab327b2..87018aa22a3 100644 --- a/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt +++ b/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt @@ -201,6 +201,40 @@ class PreferenceServiceRequestTransformerTest { } } + @Test + fun transformCatalystGetValueResponse_sensitivityLevel() { + verifySensitivityLevelMapping( + SensitivityLevel.NO_SENSITIVITY, SettingsPreferenceMetadata.NO_SENSITIVITY + ) + verifySensitivityLevelMapping( + SensitivityLevel.LOW_SENSITIVITY, SettingsPreferenceMetadata.EXPECT_POST_CONFIRMATION + ) + verifySensitivityLevelMapping( + SensitivityLevel.MEDIUM_SENSITIVITY, SettingsPreferenceMetadata.DEEPLINK_ONLY + ) + verifySensitivityLevelMapping( + SensitivityLevel.HIGH_SENSITIVITY, SettingsPreferenceMetadata.DEEPLINK_ONLY + ) + verifySensitivityLevelMapping( + SensitivityLevel.UNKNOWN_SENSITIVITY, SettingsPreferenceMetadata.NO_DIRECT_ACCESS + ) + } + + private fun verifySensitivityLevelMapping(level: Int, expected: Int) { + val request = GetValueRequest.Builder("screen", "key").build() + val response = PreferenceGetterResponse( + emptyMap(), + mapOf(PreferenceCoordinate( + request.screenKey, request.preferenceKey + ) to preferenceProto { + key = "key" + sensitivityLevel = level + }), + ) + val metadata = transformCatalystGetValueResponse(context, request, response)?.metadata!! + assertThat(metadata.writeSensitivity).isEqualTo(expected) + } + @Test fun transformCatalystGetValueResponse_success_noValue() { val fRequest = GetValueRequest.Builder("screen", "key").build()