Loading media/tests/AudioPolicyTest/Android.bp +3 −7 Original line number Diff line number Diff line Loading @@ -10,15 +10,11 @@ package { android_test { name: "audiopolicytest", srcs: ["**/*.java"], libs: [ "android.test.runner", "android.test.base", ], static_libs: [ "mockito-target-minus-junit4", "androidx.test.ext.junit", "androidx.test.rules", "android-ex-camera2", "testng", "guava", "platform-test-annotations", ], platform_apis: true, certificate: "platform", Loading media/tests/AudioPolicyTest/AndroidManifest.xml +1 −6 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ <application> <uses-library android:name="android.test.runner" /> <activity android:label="@string/app_name" android:name="AudioPolicyTest" <activity android:label="@string/app_name" android:name="AudioPolicyTestActivity" android:screenOrientation="landscape" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> Loading @@ -33,11 +33,6 @@ </activity> </application> <!--instrumentation android:name=".AudioPolicyTestRunner" android:targetPackage="com.android.audiopolicytest" android:label="AudioManager policy oriented integration tests InstrumentationRunner"> </instrumentation--> <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" android:targetPackage="com.android.audiopolicytest" android:label="AudioManager policy oriented integration tests InstrumentationRunner"> Loading media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioManagerTest.java +43 −10 Original line number Diff line number Diff line Loading @@ -16,28 +16,57 @@ package com.android.audiopolicytest; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.android.audiopolicytest.AudioVolumeTestUtil.DEFAULT_ATTRIBUTES; import static com.android.audiopolicytest.AudioVolumeTestUtil.incrementVolumeIndex; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.testng.Assert.assertThrows; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.AudioSystem; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.AudioVolumeGroup; import android.platform.test.annotations.Presubmit; import android.util.Log; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.primitives.Ints; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; public class AudioManagerTest extends AudioVolumesTestBase { @Presubmit @RunWith(AndroidJUnit4.class) public class AudioManagerTest { private static final String TAG = "AudioManagerTest"; private AudioManager mAudioManager; @Rule public final AudioVolumesTestRule rule = new AudioVolumesTestRule(); @Before public void setUp() { mAudioManager = getApplicationContext().getSystemService(AudioManager.class); } //----------------------------------------------------------------- // Test getAudioProductStrategies and validate strategies //----------------------------------------------------------------- public void testGetAndValidateProductStrategies() throws Exception { @Test public void testGetAndValidateProductStrategies() { List<AudioProductStrategy> audioProductStrategies = mAudioManager.getAudioProductStrategies(); assertTrue(audioProductStrategies.size() > 0); Loading Loading @@ -101,8 +130,8 @@ public class AudioManagerTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test getAudioVolumeGroups and validate volume groups //----------------------------------------------------------------- public void testGetAndValidateVolumeGroups() throws Exception { @Test public void testGetAndValidateVolumeGroups() { List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups(); assertTrue(audioVolumeGroups.size() > 0); Loading @@ -118,7 +147,7 @@ public class AudioManagerTest extends AudioVolumesTestBase { // for each volume group attributes, find the matching product strategy and ensure // it is linked the considered volume group for (final AudioAttributes aa : avgAttributes) { if (aa.equals(sDefaultAttributes)) { if (aa.equals(DEFAULT_ATTRIBUTES)) { // Some volume groups may not have valid attributes, used for internal // volume management like patch/rerouting // so bailing out strategy retrieval from attributes Loading Loading @@ -180,6 +209,7 @@ public class AudioManagerTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test Volume per Attributes setter/getters //----------------------------------------------------------------- @Test public void testSetGetVolumePerAttributesWithInvalidAttributes() throws Exception { AudioAttributes nullAttributes = null; Loading @@ -197,7 +227,8 @@ public class AudioManagerTest extends AudioVolumesTestBase { nullAttributes, 0 /*index*/, 0/*flags*/)); } public void testSetGetVolumePerAttributes() throws Exception { @Test public void testSetGetVolumePerAttributes() { for (int usage : AudioAttributes.SDK_USAGES) { if (usage == AudioAttributes.USAGE_UNKNOWN) { continue; Loading Loading @@ -248,12 +279,14 @@ public class AudioManagerTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test register/unregister VolumeGroupCallback //----------------------------------------------------------------- public void testVolumeGroupCallback() throws Exception { @Test public void testVolumeGroupCallback() { List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups(); assertTrue(audioVolumeGroups.size() > 0); AudioVolumeGroupCallbackHelper vgCbReceiver = new AudioVolumeGroupCallbackHelper(); mAudioManager.registerVolumeGroupCallback(mContext.getMainExecutor(), vgCbReceiver); mAudioManager.registerVolumeGroupCallback(getApplicationContext().getMainExecutor(), vgCbReceiver); final List<Integer> publicStreams = Ints.asList(AudioManager.getPublicStreamTypes()); try { Loading @@ -273,7 +306,7 @@ public class AudioManagerTest extends AudioVolumesTestBase { // Set the volume per attributes (if valid) and wait the callback for (final AudioAttributes aa : avgAttributes) { if (aa.equals(sDefaultAttributes)) { if (aa.equals(DEFAULT_ATTRIBUTES)) { // Some volume groups may not have valid attributes, used for internal // volume management like patch/rerouting // so bailing out strategy retrieval from attributes Loading media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTest.java→media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTestActivity.java +2 −2 Original line number Diff line number Diff line Loading @@ -19,9 +19,9 @@ package com.android.audiopolicytest; import android.app.Activity; import android.os.Bundle; public class AudioPolicyTest extends Activity { public class AudioPolicyTestActivity extends Activity { public AudioPolicyTest() { public AudioPolicyTestActivity() { } /** Called when the activity is first created. */ Loading media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioProductStrategyTest.java +24 −4 Original line number Diff line number Diff line Loading @@ -16,25 +16,43 @@ package com.android.audiopolicytest; import static com.android.audiopolicytest.AudioVolumeTestUtil.INVALID_ATTRIBUTES; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.AudioSystem; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.AudioVolumeGroup; import android.platform.test.annotations.Presubmit; import android.util.Log; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; public class AudioProductStrategyTest extends AudioVolumesTestBase { @Presubmit @RunWith(AndroidJUnit4.class) public class AudioProductStrategyTest { private static final String TAG = "AudioProductStrategyTest"; @Rule public final AudioVolumesTestRule rule = new AudioVolumesTestRule(); //----------------------------------------------------------------- // Test getAudioProductStrategies and validate strategies //----------------------------------------------------------------- public void testGetProductStrategies() throws Exception { @Test public void testGetProductStrategies() { List<AudioProductStrategy> audioProductStrategies = AudioProductStrategy.getAudioProductStrategies(); Loading Loading @@ -65,6 +83,7 @@ public class AudioProductStrategyTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test stream to/from attributes conversion //----------------------------------------------------------------- @Test public void testAudioAttributesFromStreamTypes() throws Exception { List<AudioProductStrategy> audioProductStrategies = AudioProductStrategy.getAudioProductStrategies(); Loading @@ -81,7 +100,7 @@ public class AudioProductStrategyTest extends AudioVolumesTestBase { // hosting this stream type; Bailing out the test, just ensure that any request // for reciproque API with the unknown attributes would return default stream // for volume control, aka STREAM_MUSIC. if (aaFromStreamType.equals(sInvalidAttributes)) { if (aaFromStreamType.equals(INVALID_ATTRIBUTES)) { assertEquals(AudioSystem.STREAM_MUSIC, AudioProductStrategy.getLegacyStreamTypeForStrategyWithAudioAttributes( aaFromStreamType)); Loading Loading @@ -139,7 +158,8 @@ public class AudioProductStrategyTest extends AudioVolumesTestBase { } } public void testAudioAttributesToStreamTypes() throws Exception { @Test public void testAudioAttributesToStreamTypes() { List<AudioProductStrategy> audioProductStrategies = AudioProductStrategy.getAudioProductStrategies(); Loading Loading
media/tests/AudioPolicyTest/Android.bp +3 −7 Original line number Diff line number Diff line Loading @@ -10,15 +10,11 @@ package { android_test { name: "audiopolicytest", srcs: ["**/*.java"], libs: [ "android.test.runner", "android.test.base", ], static_libs: [ "mockito-target-minus-junit4", "androidx.test.ext.junit", "androidx.test.rules", "android-ex-camera2", "testng", "guava", "platform-test-annotations", ], platform_apis: true, certificate: "platform", Loading
media/tests/AudioPolicyTest/AndroidManifest.xml +1 −6 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ <application> <uses-library android:name="android.test.runner" /> <activity android:label="@string/app_name" android:name="AudioPolicyTest" <activity android:label="@string/app_name" android:name="AudioPolicyTestActivity" android:screenOrientation="landscape" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> Loading @@ -33,11 +33,6 @@ </activity> </application> <!--instrumentation android:name=".AudioPolicyTestRunner" android:targetPackage="com.android.audiopolicytest" android:label="AudioManager policy oriented integration tests InstrumentationRunner"> </instrumentation--> <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" android:targetPackage="com.android.audiopolicytest" android:label="AudioManager policy oriented integration tests InstrumentationRunner"> Loading
media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioManagerTest.java +43 −10 Original line number Diff line number Diff line Loading @@ -16,28 +16,57 @@ package com.android.audiopolicytest; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.android.audiopolicytest.AudioVolumeTestUtil.DEFAULT_ATTRIBUTES; import static com.android.audiopolicytest.AudioVolumeTestUtil.incrementVolumeIndex; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.testng.Assert.assertThrows; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.AudioSystem; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.AudioVolumeGroup; import android.platform.test.annotations.Presubmit; import android.util.Log; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.primitives.Ints; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; public class AudioManagerTest extends AudioVolumesTestBase { @Presubmit @RunWith(AndroidJUnit4.class) public class AudioManagerTest { private static final String TAG = "AudioManagerTest"; private AudioManager mAudioManager; @Rule public final AudioVolumesTestRule rule = new AudioVolumesTestRule(); @Before public void setUp() { mAudioManager = getApplicationContext().getSystemService(AudioManager.class); } //----------------------------------------------------------------- // Test getAudioProductStrategies and validate strategies //----------------------------------------------------------------- public void testGetAndValidateProductStrategies() throws Exception { @Test public void testGetAndValidateProductStrategies() { List<AudioProductStrategy> audioProductStrategies = mAudioManager.getAudioProductStrategies(); assertTrue(audioProductStrategies.size() > 0); Loading Loading @@ -101,8 +130,8 @@ public class AudioManagerTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test getAudioVolumeGroups and validate volume groups //----------------------------------------------------------------- public void testGetAndValidateVolumeGroups() throws Exception { @Test public void testGetAndValidateVolumeGroups() { List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups(); assertTrue(audioVolumeGroups.size() > 0); Loading @@ -118,7 +147,7 @@ public class AudioManagerTest extends AudioVolumesTestBase { // for each volume group attributes, find the matching product strategy and ensure // it is linked the considered volume group for (final AudioAttributes aa : avgAttributes) { if (aa.equals(sDefaultAttributes)) { if (aa.equals(DEFAULT_ATTRIBUTES)) { // Some volume groups may not have valid attributes, used for internal // volume management like patch/rerouting // so bailing out strategy retrieval from attributes Loading Loading @@ -180,6 +209,7 @@ public class AudioManagerTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test Volume per Attributes setter/getters //----------------------------------------------------------------- @Test public void testSetGetVolumePerAttributesWithInvalidAttributes() throws Exception { AudioAttributes nullAttributes = null; Loading @@ -197,7 +227,8 @@ public class AudioManagerTest extends AudioVolumesTestBase { nullAttributes, 0 /*index*/, 0/*flags*/)); } public void testSetGetVolumePerAttributes() throws Exception { @Test public void testSetGetVolumePerAttributes() { for (int usage : AudioAttributes.SDK_USAGES) { if (usage == AudioAttributes.USAGE_UNKNOWN) { continue; Loading Loading @@ -248,12 +279,14 @@ public class AudioManagerTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test register/unregister VolumeGroupCallback //----------------------------------------------------------------- public void testVolumeGroupCallback() throws Exception { @Test public void testVolumeGroupCallback() { List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups(); assertTrue(audioVolumeGroups.size() > 0); AudioVolumeGroupCallbackHelper vgCbReceiver = new AudioVolumeGroupCallbackHelper(); mAudioManager.registerVolumeGroupCallback(mContext.getMainExecutor(), vgCbReceiver); mAudioManager.registerVolumeGroupCallback(getApplicationContext().getMainExecutor(), vgCbReceiver); final List<Integer> publicStreams = Ints.asList(AudioManager.getPublicStreamTypes()); try { Loading @@ -273,7 +306,7 @@ public class AudioManagerTest extends AudioVolumesTestBase { // Set the volume per attributes (if valid) and wait the callback for (final AudioAttributes aa : avgAttributes) { if (aa.equals(sDefaultAttributes)) { if (aa.equals(DEFAULT_ATTRIBUTES)) { // Some volume groups may not have valid attributes, used for internal // volume management like patch/rerouting // so bailing out strategy retrieval from attributes Loading
media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTest.java→media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTestActivity.java +2 −2 Original line number Diff line number Diff line Loading @@ -19,9 +19,9 @@ package com.android.audiopolicytest; import android.app.Activity; import android.os.Bundle; public class AudioPolicyTest extends Activity { public class AudioPolicyTestActivity extends Activity { public AudioPolicyTest() { public AudioPolicyTestActivity() { } /** Called when the activity is first created. */ Loading
media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioProductStrategyTest.java +24 −4 Original line number Diff line number Diff line Loading @@ -16,25 +16,43 @@ package com.android.audiopolicytest; import static com.android.audiopolicytest.AudioVolumeTestUtil.INVALID_ATTRIBUTES; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.AudioSystem; import android.media.audiopolicy.AudioProductStrategy; import android.media.audiopolicy.AudioVolumeGroup; import android.platform.test.annotations.Presubmit; import android.util.Log; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; public class AudioProductStrategyTest extends AudioVolumesTestBase { @Presubmit @RunWith(AndroidJUnit4.class) public class AudioProductStrategyTest { private static final String TAG = "AudioProductStrategyTest"; @Rule public final AudioVolumesTestRule rule = new AudioVolumesTestRule(); //----------------------------------------------------------------- // Test getAudioProductStrategies and validate strategies //----------------------------------------------------------------- public void testGetProductStrategies() throws Exception { @Test public void testGetProductStrategies() { List<AudioProductStrategy> audioProductStrategies = AudioProductStrategy.getAudioProductStrategies(); Loading Loading @@ -65,6 +83,7 @@ public class AudioProductStrategyTest extends AudioVolumesTestBase { //----------------------------------------------------------------- // Test stream to/from attributes conversion //----------------------------------------------------------------- @Test public void testAudioAttributesFromStreamTypes() throws Exception { List<AudioProductStrategy> audioProductStrategies = AudioProductStrategy.getAudioProductStrategies(); Loading @@ -81,7 +100,7 @@ public class AudioProductStrategyTest extends AudioVolumesTestBase { // hosting this stream type; Bailing out the test, just ensure that any request // for reciproque API with the unknown attributes would return default stream // for volume control, aka STREAM_MUSIC. if (aaFromStreamType.equals(sInvalidAttributes)) { if (aaFromStreamType.equals(INVALID_ATTRIBUTES)) { assertEquals(AudioSystem.STREAM_MUSIC, AudioProductStrategy.getLegacyStreamTypeForStrategyWithAudioAttributes( aaFromStreamType)); Loading Loading @@ -139,7 +158,8 @@ public class AudioProductStrategyTest extends AudioVolumesTestBase { } } public void testAudioAttributesToStreamTypes() throws Exception { @Test public void testAudioAttributesToStreamTypes() { List<AudioProductStrategy> audioProductStrategies = AudioProductStrategy.getAudioProductStrategies(); Loading