From 46ad01dbbb1c76c57ead06d0c7fc5ff0dbdc76c5 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Wed, 7 Dec 2022 15:11:09 +0100 Subject: [PATCH] AudioPolicy: add test for dynamic audio policy client death Add a test verifying that an AUDIO_BECOMING_NOISY intent is broadcast when an app having registered a dynamic audio policy that intercepts an active media plaiback dies. Bug: 186581483 Test: AudioPolicyDeathTest Change-Id: I1db5087ef97b08bb567c253c117bfdf5215494fb --- .../tests/AudioPolicyTest/AndroidManifest.xml | 11 +- .../audiopolicytest/AudioPolicyDeathTest.java | 132 ++++++++++++++++++ .../AudioPolicyDeathTestActivity.java | 132 ++++++++++++++++++ ...vity.java => AudioVolumeTestActivity.java} | 4 +- .../audiopolicytest/AudioVolumesTestRule.java | 2 +- .../com/android/server/audio/TEST_MAPPING | 8 ++ 6 files changed, 285 insertions(+), 4 deletions(-) create mode 100644 media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyDeathTest.java create mode 100644 media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyDeathTestActivity.java rename media/tests/AudioPolicyTest/src/com/android/audiopolicytest/{AudioPolicyTestActivity.java => AudioVolumeTestActivity.java} (91%) diff --git a/media/tests/AudioPolicyTest/AndroidManifest.xml b/media/tests/AudioPolicyTest/AndroidManifest.xml index f696735eb62d9..5c911b135a5d7 100644 --- a/media/tests/AudioPolicyTest/AndroidManifest.xml +++ b/media/tests/AudioPolicyTest/AndroidManifest.xml @@ -24,13 +24,22 @@ - + + + + + + 0); + + // force process to crash + int i = 1 / 0; + } + } +} diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTestActivity.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeTestActivity.java similarity index 91% rename from media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTestActivity.java rename to media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeTestActivity.java index e31c01aae31e8..8f61815fe5e63 100644 --- a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTestActivity.java +++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeTestActivity.java @@ -19,9 +19,9 @@ package com.android.audiopolicytest; import android.app.Activity; import android.os.Bundle; -public class AudioPolicyTestActivity extends Activity { +public class AudioVolumeTestActivity extends Activity { - public AudioPolicyTestActivity() { + public AudioVolumeTestActivity() { } /** Called when the activity is first created. */ diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestRule.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestRule.java index fc3b198c4cad6..c6ec7a6159330 100644 --- a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestRule.java +++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestRule.java @@ -100,7 +100,7 @@ final class AudioVolumesTestRule extends ExternalResource { @Before public void setUp() throws Exception { - ActivityScenario.launch(AudioPolicyTestActivity.class); + ActivityScenario.launch(AudioVolumeTestActivity.class); mContext = getApplicationContext(); mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); diff --git a/services/core/java/com/android/server/audio/TEST_MAPPING b/services/core/java/com/android/server/audio/TEST_MAPPING index f3a73f043c290..8fbcb9a68006f 100644 --- a/services/core/java/com/android/server/audio/TEST_MAPPING +++ b/services/core/java/com/android/server/audio/TEST_MAPPING @@ -13,6 +13,14 @@ "include-filter": "android.media.audio.cts.SpatializerTest" } ] + }, + { + "name": "AudioPolicyDeathTest", + "options": [ + { + "include-annotation": "android.platform.test.annotations.Presubmit" + } + ] } ] }