Add CTS test for default vibration intensities

Bug: 198346559
Bug: 207477604
Test: VibratorTest
Change-Id: Id76bb5361271f63515102ea8ed6de62cce413880
diff --git a/tests/tests/os/src/android/os/cts/VibratorTest.java b/tests/tests/os/src/android/os/cts/VibratorTest.java
index 6d47ada..7085ba5 100644
--- a/tests/tests/os/src/android/os/cts/VibratorTest.java
+++ b/tests/tests/os/src/android/os/cts/VibratorTest.java
@@ -99,6 +99,19 @@
             VibrationEffect.Composition.PRIMITIVE_SPIN,
             VibrationEffect.Composition.PRIMITIVE_THUD,
     };
+    private static final int[] VIBRATION_USAGES = new int[] {
+            VibrationAttributes.USAGE_UNKNOWN,
+            VibrationAttributes.USAGE_ACCESSIBILITY,
+            VibrationAttributes.USAGE_ALARM,
+            VibrationAttributes.USAGE_COMMUNICATION_REQUEST,
+            VibrationAttributes.USAGE_HARDWARE_FEEDBACK,
+            VibrationAttributes.USAGE_MEDIA,
+            VibrationAttributes.USAGE_NOTIFICATION,
+            VibrationAttributes.USAGE_PHYSICAL_EMULATION,
+            VibrationAttributes.USAGE_RINGTONE,
+            VibrationAttributes.USAGE_TOUCH,
+    };
+
 
     /**
      * This listener is used for test helper methods like asserting it starts/stops vibrating.
@@ -143,6 +156,20 @@
     }
 
     @Test
+    public void getDefaultVibrationIntensity_returnsValidIntensityForAllUsages() {
+        for (int usage : VIBRATION_USAGES) {
+            int intensity = mVibrator.getDefaultVibrationIntensity(usage);
+            assertTrue("Error for usage " + usage + " with default intensity " + intensity,
+                    (intensity >= Vibrator.VIBRATION_INTENSITY_OFF)
+                            && (intensity <= Vibrator.VIBRATION_INTENSITY_HIGH));
+        }
+
+        assertEquals("Invalid usage expected to have same default as USAGE_UNKNOWN",
+                mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_UNKNOWN),
+                mVibrator.getDefaultVibrationIntensity(-1));
+    }
+
+    @Test
     public void testVibratorCancel() {
         mVibrator.vibrate(10_000);
         assertStartsVibrating();