From 7dd65078f6a40ed98ae8cddc5d7976d4fe629a29 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Tue, 17 Jan 2012 11:49:08 -0800 Subject: More AudioManager tests Add tests for AudioFocus: - create a looper for AudioManager to use so listener callbacks can be used - test each type of audio focus gain causes the expected type of focus loss - stress test audio focus request and abandon, with and without a listener Change-Id: I7d9c84ccd8ea49cf20ede57b1245899a81e99ab0 --- .../functional/audio/MediaAudioManagerTest.java | 177 ++++++++++++++++++++- 1 file changed, 175 insertions(+), 2 deletions(-) (limited to 'media/tests') diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaAudioManagerTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaAudioManagerTest.java index c9087d1..7967ce7 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaAudioManagerTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaAudioManagerTest.java @@ -19,8 +19,13 @@ package com.android.mediaframeworktest.functional.audio; import com.android.mediaframeworktest.MediaFrameworkTest; import android.content.Context; import android.media.AudioManager; +import android.media.MediaPlayer; +import android.media.AudioManager.OnAudioFocusChangeListener; +import android.os.Looper; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.MediumTest; +import android.test.suitebuilder.annotation.LargeTest; +import android.util.Log; /** * Junit / Instrumentation test case for the media AudioManager api @@ -28,8 +33,13 @@ import android.test.suitebuilder.annotation.MediumTest; public class MediaAudioManagerTest extends ActivityInstrumentationTestCase2 { - private String TAG = "MediaAudioManagerTest"; + private final static String TAG = "MediaAudioManagerTest"; + // the AudioManager used throughout the test private AudioManager mAudioManager; + // keep track of looper for AudioManager so we can terminate it + private Looper mAudioManagerLooper; + private final Object mLooperLock = new Object(); + private final static int WAIT_FOR_LOOPER_TO_INITIALIZE_MS = 60000; // 60s private int[] ringtoneMode = {AudioManager.RINGER_MODE_NORMAL, AudioManager.RINGER_MODE_SILENT, AudioManager.RINGER_MODE_VIBRATE}; @@ -37,17 +47,48 @@ public class MediaAudioManagerTest extends ActivityInstrumentationTestCase2