[Catalyst] Use deeplink for high sensitivity

Fix: 396461663
Flag: com.android.settingslib.flags.settings_catalyst
Test: atest
Change-Id: I27629b8ac2a3d0b9f2fe834c78c2bcd11a38b4e0
This commit is contained in:
Jacky Wang
2025-02-17 23:12:46 +08:00
parent be9c39f0aa
commit ed5b8b3327
2 changed files with 35 additions and 0 deletions

View File

@@ -194,6 +194,7 @@ private fun PreferenceProto.toMetadata(
SensitivityLevel.NO_SENSITIVITY -> SettingsPreferenceMetadata.NO_SENSITIVITY SensitivityLevel.NO_SENSITIVITY -> SettingsPreferenceMetadata.NO_SENSITIVITY
SensitivityLevel.LOW_SENSITIVITY -> SettingsPreferenceMetadata.EXPECT_POST_CONFIRMATION SensitivityLevel.LOW_SENSITIVITY -> SettingsPreferenceMetadata.EXPECT_POST_CONFIRMATION
SensitivityLevel.MEDIUM_SENSITIVITY -> SettingsPreferenceMetadata.DEEPLINK_ONLY SensitivityLevel.MEDIUM_SENSITIVITY -> SettingsPreferenceMetadata.DEEPLINK_ONLY
SensitivityLevel.HIGH_SENSITIVITY -> SettingsPreferenceMetadata.DEEPLINK_ONLY
else -> SettingsPreferenceMetadata.NO_DIRECT_ACCESS else -> SettingsPreferenceMetadata.NO_DIRECT_ACCESS
} }
val extras = Bundle() val extras = Bundle()

View File

@@ -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 @Test
fun transformCatalystGetValueResponse_success_noValue() { fun transformCatalystGetValueResponse_success_noValue() {
val fRequest = GetValueRequest.Builder("screen", "key").build() val fRequest = GetValueRequest.Builder("screen", "key").build()