Bug: 23003511 CTS: AudioManagerTest#testSoundEffects failing
Fix the failures in test cases caused by not having appops turned on
for write_settings operation. This is done by changing the existing
test class to that of InstrumentationTest and calling the util
methods to enable and disable appops during setup and teardown.
Change-Id: I67223a2b8c6f2877a0e67e0db6cf49abcca2ebdb
diff --git a/tests/tests/media/src/android/media/cts/AudioManagerTest.java b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
index ded0539..5870005 100644
--- a/tests/tests/media/src/android/media/cts/AudioManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
@@ -45,24 +45,27 @@
import android.os.Vibrator;
import android.provider.Settings;
import android.provider.Settings.System;
-import android.test.AndroidTestCase;
+import android.test.InstrumentationTestCase;
import android.view.SoundEffectConstants;
import java.util.TreeMap;
-public class AudioManagerTest extends AndroidTestCase {
+public class AudioManagerTest extends InstrumentationTestCase {
private final static int MP3_TO_PLAY = R.raw.testmp3;
private final static long TIME_TO_PLAY = 2000;
+ private final static String APPOPS_OP_STR = "android:write_settings";
private AudioManager mAudioManager;
private boolean mHasVibrator;
private boolean mUseFixedVolume;
private boolean mIsTelevision;
+ private Context mContext;
@Override
protected void setUp() throws Exception {
super.setUp();
- mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+ mContext = getInstrumentation().getContext();
+ Utils.enableAppOps(mContext.getPackageName(), APPOPS_OP_STR, getInstrumentation());
Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
mHasVibrator = (vibrator != null) && vibrator.hasVibrator();
mUseFixedVolume = mContext.getResources().getBoolean(
@@ -73,6 +76,11 @@
|| packageManager.hasSystemFeature(PackageManager.FEATURE_TELEVISION));
}
+ @Override
+ protected void tearDown() throws Exception {
+ Utils.disableAppOps(mContext.getPackageName(), APPOPS_OP_STR, getInstrumentation());
+ }
+
public void testMicrophoneMute() throws Exception {
mAudioManager.setMicrophoneMute(true);
assertTrue(mAudioManager.isMicrophoneMute());