Loading core/java/android/os/Vibrator.java +21 −1 Original line number Diff line number Diff line Loading @@ -497,7 +497,27 @@ public abstract class Vibrator { */ @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull VibrationEffect vibe, @NonNull VibrationAttributes attributes) { vibrate(Process.myUid(), mPackageName, vibe, null, attributes); vibrate(vibe, attributes, null); } /** * Vibrate with a given effect. * * <p>The app should be in the foreground for the vibration to happen. Background apps should * specify a ringtone, notification or alarm usage in order to vibrate.</p> * * @param vibe {@link VibrationEffect} describing the vibration to be performed. * @param attributes {@link VibrationAttributes} corresponding to the vibration. For example, * specify {@link VibrationAttributes#USAGE_ALARM} for alarm vibrations or * {@link VibrationAttributes#USAGE_RINGTONE} for vibrations associated with * incoming calls. * @param reason the reason for this vibration, used for debugging purposes. * @hide */ @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull VibrationEffect vibe, @NonNull VibrationAttributes attributes, @NonNull String reason) { vibrate(Process.myUid(), mPackageName, vibe, reason, attributes); } /** Loading core/tests/vibrator/src/android/os/VibratorTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -221,6 +221,18 @@ public class VibratorTest { verify(mVibratorSpy).vibrate(anyInt(), anyString(), eq(effect), isNull(), eq(attributes)); } @Test public void vibrate_withVibrationAttributesAndReason_usesGivenAttributesAndReason() { VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK); VibrationAttributes attributes = new VibrationAttributes.Builder().setUsage( VibrationAttributes.USAGE_TOUCH).build(); String reason = "reason"; mVibratorSpy.vibrate(effect, attributes, reason); verify(mVibratorSpy).vibrate(anyInt(), anyString(), eq(effect), eq(reason), eq(attributes)); } @Test public void vibrate_withAudioAttributes_createsVibrationAttributesWithSameUsage() { VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK); Loading Loading
core/java/android/os/Vibrator.java +21 −1 Original line number Diff line number Diff line Loading @@ -497,7 +497,27 @@ public abstract class Vibrator { */ @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull VibrationEffect vibe, @NonNull VibrationAttributes attributes) { vibrate(Process.myUid(), mPackageName, vibe, null, attributes); vibrate(vibe, attributes, null); } /** * Vibrate with a given effect. * * <p>The app should be in the foreground for the vibration to happen. Background apps should * specify a ringtone, notification or alarm usage in order to vibrate.</p> * * @param vibe {@link VibrationEffect} describing the vibration to be performed. * @param attributes {@link VibrationAttributes} corresponding to the vibration. For example, * specify {@link VibrationAttributes#USAGE_ALARM} for alarm vibrations or * {@link VibrationAttributes#USAGE_RINGTONE} for vibrations associated with * incoming calls. * @param reason the reason for this vibration, used for debugging purposes. * @hide */ @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull VibrationEffect vibe, @NonNull VibrationAttributes attributes, @NonNull String reason) { vibrate(Process.myUid(), mPackageName, vibe, reason, attributes); } /** Loading
core/tests/vibrator/src/android/os/VibratorTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -221,6 +221,18 @@ public class VibratorTest { verify(mVibratorSpy).vibrate(anyInt(), anyString(), eq(effect), isNull(), eq(attributes)); } @Test public void vibrate_withVibrationAttributesAndReason_usesGivenAttributesAndReason() { VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK); VibrationAttributes attributes = new VibrationAttributes.Builder().setUsage( VibrationAttributes.USAGE_TOUCH).build(); String reason = "reason"; mVibratorSpy.vibrate(effect, attributes, reason); verify(mVibratorSpy).vibrate(anyInt(), anyString(), eq(effect), eq(reason), eq(attributes)); } @Test public void vibrate_withAudioAttributes_createsVibrationAttributesWithSameUsage() { VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK); Loading