fix AudioManagerTest.testAccessMode()

AudioManager.setMode(MODE_IN_CALL) now requires
system permission MODIFY_PHONE_STATE.

Bug: 17457513.
Change-Id: If3a0b827edd3ca1303dc9cd532aaa7b5be2b24da
diff --git a/tests/tests/media/src/android/media/cts/AudioManagerTest.java b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
index 3eaafd4..e65fb0b 100644
--- a/tests/tests/media/src/android/media/cts/AudioManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
@@ -125,8 +125,6 @@
     public void testAccessMode() throws Exception {
         mAudioManager.setMode(MODE_RINGTONE);
         assertEquals(MODE_RINGTONE, mAudioManager.getMode());
-        mAudioManager.setMode(MODE_IN_CALL);
-        assertEquals(MODE_IN_CALL, mAudioManager.getMode());
         mAudioManager.setMode(MODE_IN_COMMUNICATION);
         assertEquals(MODE_IN_COMMUNICATION, mAudioManager.getMode());
         mAudioManager.setMode(MODE_NORMAL);
diff --git a/tests/tests/permission/src/android/permission/cts/TelephonyManagerPermissionTest.java b/tests/tests/permission/src/android/permission/cts/TelephonyManagerPermissionTest.java
index 2681c0f..607f301 100644
--- a/tests/tests/permission/src/android/permission/cts/TelephonyManagerPermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/TelephonyManagerPermissionTest.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.media.AudioManager;
 import android.telephony.TelephonyManager;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
@@ -29,6 +30,7 @@
 
     private boolean mHasTelephony;
     TelephonyManager mTelephonyManager = null;
+    private AudioManager mAudioManager;
 
     @Override
     protected void setUp() throws Exception {
@@ -37,6 +39,8 @@
                 PackageManager.FEATURE_TELEPHONY);
         mTelephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
         assertNotNull(mTelephonyManager);
+        mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+        assertNotNull(mAudioManager);
     }
 
     /**
@@ -138,4 +142,21 @@
             // expected
         }
     }
+    /**
+     * Verify that AudioManager.setMode requires Permission.
+     * <p>
+     * Requires Permissions:
+     * {@link android.Manifest.permission#MODIFY_AUDIO_SETTINGS} and
+     * {@link android.Manifest.permission#MODIFY_PHONE_STATE} for
+     * {@link AudioManager#MODE_IN_CALL}.
+     */
+    @SmallTest
+    public void testSetMode() {
+        if (!mHasTelephony) {
+            return;
+        }
+        int audioMode = mAudioManager.getMode();
+        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
+        assertEquals(audioMode, mAudioManager.getMode());
+    }
 }