Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed5b8b33 authored by Jacky Wang's avatar Jacky Wang
Browse files

[Catalyst] Use deeplink for high sensitivity

Fix: 396461663
Flag: com.android.settingslib.flags.settings_catalyst
Test: atest
Change-Id: I27629b8ac2a3d0b9f2fe834c78c2bcd11a38b4e0
parent be9c39f0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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()
+34 −0
Original line number Diff line number Diff line
@@ -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()