AudioManagerTest: skip testVolume for TV

TV devices are connected to audio devices that are typically fixed
or full volume, therefore causing incremental volume changes to be
disabled, but there are no APIs yet to query this, therefore we
skip the testVolume test altogether for TVs.
Also improve assert messages in testVolume.

Bug: 160531287
Test: atest CtsMediaTestCases:android.media.cts.AudioManagerTest#testVolume
Change-Id: I72afbda0cc2b9e501031001e7e4287692b8ea9b5
diff --git a/tests/tests/media/src/android/media/cts/AudioManagerTest.java b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
index 11aeb5e..c72ea00 100644
--- a/tests/tests/media/src/android/media/cts/AudioManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
@@ -60,6 +60,7 @@
 import android.view.SoundEffectConstants;
 
 import com.android.compatibility.common.util.CddTest;
+import com.android.compatibility.common.util.MediaUtils;
 import com.android.internal.annotations.GuardedBy;
 
 import java.util.Arrays;
@@ -601,6 +602,8 @@
     }
 
     public void testVolume() throws Exception {
+        if (MediaUtils.check(mIsTelevision, "No volume test due to fixed/full vol devices"))
+            return;
         Utils.toggleNotificationPolicyAccess(
                 mContext.getPackageName(), getInstrumentation(), true);
         int volume, volumeDelta;
@@ -666,7 +669,9 @@
             volumeDelta = getVolumeDelta(mAudioManager.getStreamVolume(stream));
             mAudioManager.adjustSuggestedStreamVolume(ADJUST_LOWER, stream, 0);
             Thread.sleep(ASYNC_TIMING_TOLERANCE_MS);
-            assertEquals(maxVolume - volumeDelta, mAudioManager.getStreamVolume(stream));
+            assertEquals("Vol ADJUST_LOWER suggested stream:" + stream + " maxVol:" + maxVolume
+                    + " volDelta:" + volumeDelta,
+                    maxVolume - volumeDelta, mAudioManager.getStreamVolume(stream));
 
             // volume lower
             mAudioManager.setStreamVolume(stream, maxVolume, 0);
@@ -674,7 +679,9 @@
             while (volume > minVolume) {
                 volumeDelta = getVolumeDelta(mAudioManager.getStreamVolume(stream));
                 mAudioManager.adjustStreamVolume(stream, ADJUST_LOWER, 0);
-                assertEquals(Math.max(0, volume - volumeDelta),
+                assertEquals("Vol ADJUST_LOWER on stream:" + stream + " vol:" + volume
+                                + " minVol:" + minVolume + " volDelta:" + volumeDelta,
+                        Math.max(0, volume - volumeDelta),
                         mAudioManager.getStreamVolume(stream));
                 volume = mAudioManager.getStreamVolume(stream);
             }
@@ -687,7 +694,9 @@
             while (volume < maxVolume) {
                 volumeDelta = getVolumeDelta(mAudioManager.getStreamVolume(stream));
                 mAudioManager.adjustStreamVolume(stream, ADJUST_RAISE, 0);
-                assertEquals(Math.min(volume + volumeDelta, maxVolume),
+                assertEquals("Vol ADJUST_RAISE on stream:" + stream + " vol:" + volume
+                                + " maxVol:" + maxVolume + " volDelta:" + volumeDelta,
+                        Math.min(volume + volumeDelta, maxVolume),
                         mAudioManager.getStreamVolume(stream));
                 volume = mAudioManager.getStreamVolume(stream);
             }
@@ -696,7 +705,8 @@
             mAudioManager.setStreamVolume(stream, maxVolume, 0);
             for (int k = 0; k < maxVolume; k++) {
                 mAudioManager.adjustStreamVolume(stream, ADJUST_SAME, 0);
-                assertEquals(maxVolume, mAudioManager.getStreamVolume(stream));
+                assertEquals("Vol ADJUST_RAISE onADJUST_SAME stream:" + stream,
+                        maxVolume, mAudioManager.getStreamVolume(stream));
             }
 
             mAudioManager.setStreamVolume(stream, maxVolume, 0);