summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhaan Ugale <augale@google.com>2021-08-17 21:48:05 -0700
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-30 02:10:55 +0000
commitd1d0661dd4f2356a72ee953854d0f79e0a658071 (patch)
treea4541bb1da072b57699a98047ecbf80bb57a780e
parente3cda970bb5ee9c0fe065ae70b891f24ebb03aeb (diff)
downloadcts-d1d0661dd4f2356a72ee953854d0f79e0a658071.tar.gz
RESTRICT AUTOMERGE Fix tests as Trusted Hotword requirement is removed
Test that hotword-source audio does not incur the mic indicator for any process (instead of only for the HotwordDetectionService before). Also fix the related AppOps test. Bug: 197034852 Test: atest CameraMicIndicatorsPermissionTest Test: atest android.cts.statsdatom.appops.AppOpsTests#testAppOps Change-Id: I6d3e83f63d420f9b2cf48ad9991ec204414c8ed0 (cherry picked from commit 1ea7a0a4500660a97a80066e688649dc8089d160)
-rw-r--r--hostsidetests/statsdatom/src/android/cts/statsdatom/appops/AppOpsTests.java3
-rw-r--r--tests/tests/permission4/src/android/permission4/cts/CameraMicIndicatorsPermissionTest.kt54
2 files changed, 29 insertions, 28 deletions
diff --git a/hostsidetests/statsdatom/src/android/cts/statsdatom/appops/AppOpsTests.java b/hostsidetests/statsdatom/src/android/cts/statsdatom/appops/AppOpsTests.java
index 0ccc450f665..e550db6ec92 100644
--- a/hostsidetests/statsdatom/src/android/cts/statsdatom/appops/AppOpsTests.java
+++ b/hostsidetests/statsdatom/src/android/cts/statsdatom/appops/AppOpsTests.java
@@ -52,7 +52,8 @@ public class AppOpsTests extends DeviceTestCase implements IBuildReceiver {
final int APP_OP_RECORD_AUDIO = 27;
final int APP_OP_RECORD_AUDIO_HOTWORD = 102;
- TRANSFORMED_FROM_OP.put(APP_OP_RECORD_AUDIO, APP_OP_RECORD_AUDIO_HOTWORD);
+ // Temporarily commented out until the Trusted Hotword requirement is enforced again.
+// TRANSFORMED_FROM_OP.put(APP_OP_RECORD_AUDIO, APP_OP_RECORD_AUDIO_HOTWORD);
}
private IBuildInfo mCtsBuild;
diff --git a/tests/tests/permission4/src/android/permission4/cts/CameraMicIndicatorsPermissionTest.kt b/tests/tests/permission4/src/android/permission4/cts/CameraMicIndicatorsPermissionTest.kt
index 8bd51cc228e..a73035e51a9 100644
--- a/tests/tests/permission4/src/android/permission4/cts/CameraMicIndicatorsPermissionTest.kt
+++ b/tests/tests/permission4/src/android/permission4/cts/CameraMicIndicatorsPermissionTest.kt
@@ -32,14 +32,9 @@ import android.support.test.uiautomator.UiDevice
import android.support.test.uiautomator.UiSelector
import androidx.test.platform.app.InstrumentationRegistry
import com.android.compatibility.common.util.DisableAnimationRule
-import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity
-import com.android.compatibility.common.util.SystemUtil.eventually
-import com.android.compatibility.common.util.SystemUtil.runShellCommand
-import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity
+import com.android.compatibility.common.util.SystemUtil.*
import org.junit.After
-import org.junit.Assert.assertFalse
-import org.junit.Assert.assertNotNull
-import org.junit.Assert.assertTrue
+import org.junit.Assert.*
import org.junit.Assume.assumeFalse
import org.junit.Assume.assumeTrue
import org.junit.Before
@@ -174,10 +169,8 @@ class CameraMicIndicatorsPermissionTest {
} else if (packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) {
assertCarIndicatorsShown(useMic, useCamera)
} else {
- // Hotword gets remapped to RECORD_AUDIO on handheld, so handheld should show a mic
- // indicator
uiDevice.openQuickSettings()
- assertPrivacyChipAndIndicatorsPresent(useMic || useHotword, useCamera)
+ assertPrivacyChipAndIndicatorsPresent(useMic, useCamera)
}
}
@@ -201,22 +194,12 @@ class CameraMicIndicatorsPermissionTest {
private fun assertCarIndicatorsShown(useMic: Boolean, useCamera: Boolean) {
// Ensure the privacy chip is present (or not)
- var chipFound = false
- try {
- eventually {
- val privacyChip = uiDevice.findObject(By.res(PRIVACY_CHIP_ID))
- assertNotNull("view with id $PRIVACY_CHIP_ID not found", privacyChip)
- privacyChip.click()
- chipFound = true
- }
- } catch (e: Exception) {
- // Handle more gracefully below
- }
-
+ val chipFound = isChipPresent()
if (useMic || useCamera) {
assertTrue("Did not find chip", chipFound)
} else {
assertFalse("Found chip, but did not expect to", chipFound)
+ return
}
eventually {
@@ -233,11 +216,13 @@ class CameraMicIndicatorsPermissionTest {
}
private fun assertPrivacyChipAndIndicatorsPresent(useMic: Boolean, useCamera: Boolean) {
- // Ensure the privacy chip is present
- eventually {
- val privacyChip = uiDevice.findObject(UiSelector().resourceId(PRIVACY_CHIP_ID))
- assertTrue("view with id $PRIVACY_CHIP_ID not found", privacyChip.exists())
- privacyChip.click()
+ // Ensure the privacy chip is present (or not)
+ val chipFound = isChipPresent()
+ if (useMic || useCamera) {
+ assertTrue("Did not find chip", chipFound)
+ } else {
+ assertFalse("Found chip, but did not expect to", chipFound)
+ return
}
eventually {
@@ -254,6 +239,21 @@ class CameraMicIndicatorsPermissionTest {
}
}
+ private fun isChipPresent(): Boolean {
+ var chipFound = false
+ try {
+ eventually {
+ val privacyChip = uiDevice.findObject(By.res(PRIVACY_CHIP_ID))
+ assertNotNull("view with id $PRIVACY_CHIP_ID not found", privacyChip)
+ privacyChip.click()
+ chipFound = true
+ }
+ } catch (e: Exception) {
+ // Handle more gracefully after
+ }
+ return chipFound
+ }
+
private fun pressBack() {
uiDevice.pressBack()
waitForIdle()