summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt16
-rw-r--r--tests/cts/permission/src/android/permission/cts/SafetyCenterUtils.kt10
-rw-r--r--tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt27
3 files changed, 47 insertions, 6 deletions
diff --git a/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt b/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt
index 227fbfb9a..41c0afa07 100644
--- a/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt
+++ b/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt
@@ -44,12 +44,14 @@ import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.runner.AndroidJUnit4
import com.android.compatibility.common.util.DeviceConfigStateChangerRule
+import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity
import com.android.compatibility.common.util.SystemUtil.runShellCommand
import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity
import com.android.modules.utils.build.SdkLevel
import org.junit.After
import org.junit.Assert
import org.junit.Assume
+import org.junit.Assume.assumeFalse
import org.junit.Before
import org.junit.ClassRule
import org.junit.Rule
@@ -215,6 +217,13 @@ class AccessibilityPrivacySourceTest {
@Test
fun testJobWithSafetyCenterDisabledDoesNotSendNotification() {
setDeviceConfigPrivacyProperty(SAFETY_CENTER_ENABLED, false.toString())
+ // Safety Center cannot be disabled at runtime on UDC+.
+ assumeFalse(
+ "Safety Center cannot be disabled",
+ callWithShellPermissionIdentity {
+ safetyCenterManager?.isSafetyCenterEnabled() ?: false
+ }
+ )
mAccessibilityServiceRule.enableService()
runJobAndWaitUntilCompleted()
assertEmptyNotification(permissionControllerPackage, ACCESSIBILITY_NOTIFICATION_ID)
@@ -223,6 +232,13 @@ class AccessibilityPrivacySourceTest {
@Test
fun testJobWithSafetyCenterDisabledDoesNotSendIssueToSafetyCenter() {
setDeviceConfigPrivacyProperty(SAFETY_CENTER_ENABLED, false.toString())
+ // Safety Center cannot be disabled at runtime on UDC+.
+ assumeFalse(
+ "Safety Center cannot be disabled",
+ callWithShellPermissionIdentity {
+ safetyCenterManager?.isSafetyCenterEnabled() ?: false
+ }
+ )
mAccessibilityServiceRule.enableService()
runJobAndWaitUntilCompleted()
assertSafetyCenterIssueDoesNotExist(
diff --git a/tests/cts/permission/src/android/permission/cts/SafetyCenterUtils.kt b/tests/cts/permission/src/android/permission/cts/SafetyCenterUtils.kt
index 7ca9b138d..c5bdf606d 100644
--- a/tests/cts/permission/src/android/permission/cts/SafetyCenterUtils.kt
+++ b/tests/cts/permission/src/android/permission/cts/SafetyCenterUtils.kt
@@ -29,12 +29,14 @@ import android.safetycenter.SafetyCenterManager
import androidx.annotation.RequiresApi
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.By
+import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity
import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity
import com.android.compatibility.common.util.UiAutomatorUtils2.waitFindObject
import com.android.safetycenter.internaldata.SafetyCenterIds
import com.android.safetycenter.internaldata.SafetyCenterIssueId
import com.android.safetycenter.internaldata.SafetyCenterIssueKey
import org.junit.Assert
+import org.junit.Assume.assumeTrue
object SafetyCenterUtils {
/** Name of the flag that determines whether SafetyCenter is enabled. */
@@ -54,6 +56,14 @@ object SafetyCenterUtils {
@JvmStatic
fun setSafetyCenterEnabled(enabled: Boolean) {
setDeviceConfigPrivacyProperty(PROPERTY_SAFETY_CENTER_ENABLED, enabled.toString())
+ val safetyCenterManager =
+ instrumentation.targetContext.getSystemService(SafetyCenterManager::class.java)
+ assumeTrue(
+ "Cannot toggle Safety Center",
+ callWithShellPermissionIdentity {
+ safetyCenterManager?.isSafetyCenterEnabled ?: false
+ } == enabled
+ )
}
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
diff --git a/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt
index af08e565b..29e6f231b 100644
--- a/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt
+++ b/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt
@@ -267,6 +267,7 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase {
val manager = context.getSystemService(CameraManager::class.java)!!
assumeTrue(manager.cameraIdList.isNotEmpty())
changeSafetyCenterFlag(false.toString())
+ assumeSafetyCenterDisabled()
testCameraAndMicIndicator(useMic = false, useCamera = true)
}
@@ -274,20 +275,26 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase {
@CddTest(requirement = "9.8.2/H-4-1,T-4-1,A-1-1")
fun testMicIndicator() {
changeSafetyCenterFlag(false.toString())
+ assumeSafetyCenterDisabled()
testCameraAndMicIndicator(useMic = true, useCamera = false)
}
@Test
@AsbSecurityTest(cveBugId = [258672042])
fun testMicIndicatorWithManualFinishOpStillShows() {
- changeSafetyCenterFlag(false.toString())
- testCameraAndMicIndicator(useMic = true, useCamera = false, finishEarly = true)
+ testCameraAndMicIndicator(
+ useMic = true,
+ useCamera = false,
+ finishEarly = true,
+ safetyCenterEnabled = getSafetyCenterEnabled()
+ )
}
@Test
@CddTest(requirement = "9.8.2/H-4-1,T-4-1,A-1-1")
fun testHotwordIndicatorBehavior() {
changeSafetyCenterFlag(false.toString())
+ assumeSafetyCenterDisabled()
testCameraAndMicIndicator(useMic = false, useCamera = false, useHotword = true)
}
@@ -302,6 +309,7 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase {
// If camera is not available skip the test
assumeTrue(packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY))
changeSafetyCenterFlag(false.toString())
+ assumeSafetyCenterDisabled()
testCameraAndMicIndicator(useMic = false, useCamera = true, chainUsage = true)
}
@@ -684,10 +692,17 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase {
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private fun assumeSafetyCenterEnabled() {
- val safetyCenterManager = context.getSystemService(SafetyCenterManager::class.java)!!
- val isSafetyCenterEnabled: Boolean =
- runWithShellPermissionIdentity<Boolean> { safetyCenterManager.isSafetyCenterEnabled }
- assumeTrue(isSafetyCenterEnabled)
+ assumeTrue(getSafetyCenterEnabled())
+ }
+
+ private fun assumeSafetyCenterDisabled() {
+ assumeFalse(getSafetyCenterEnabled())
+ }
+
+ private fun getSafetyCenterEnabled(): Boolean {
+ val safetyCenterManager =
+ context.getSystemService(SafetyCenterManager::class.java) ?: return false
+ return runWithShellPermissionIdentity<Boolean> { safetyCenterManager.isSafetyCenterEnabled }
}
protected fun waitFindObject(selector: BySelector): UiObject2? {