Loading packages/SystemUI/src/com/android/systemui/statusbar/VibratorHelper.java +17 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.os.Process; import android.os.VibrationAttributes; import android.os.VibrationEffect; import android.os.Vibrator; import android.view.View; import androidx.annotation.VisibleForTesting; Loading Loading @@ -151,4 +152,20 @@ public class VibratorHelper { BIOMETRIC_ERROR_VIBRATION_EFFECT, reason, HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES); } /** * Perform a vibration using a view and the one-way API with flags * @see View#performHapticFeedback(int feedbackConstant, int flags) */ public void performHapticFeedback(@NonNull View view, int feedbackConstant, int flags) { view.performHapticFeedback(feedbackConstant, flags); } /** * Perform a vibration using a view and the one-way API * @see View#performHapticFeedback(int feedbackConstant) */ public void performHapticFeedback(@NonNull View view, int feedbackConstant) { view.performHapticFeedback(feedbackConstant); } } packages/SystemUI/tests/src/com/android/systemui/statusbar/VibratorHelperTest.kt +18 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ import android.os.VibrationAttributes import android.os.VibrationEffect import android.os.Vibrator import android.testing.AndroidTestingRunner import android.view.HapticFeedbackConstants import android.view.View import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.util.mockito.eq Loading Loading @@ -33,6 +35,7 @@ class VibratorHelperTest : SysuiTestCase() { @Mock lateinit var vibrator: Vibrator @Mock lateinit var executor: Executor @Mock lateinit var view: View @Captor lateinit var backgroundTaskCaptor: ArgumentCaptor<Runnable> lateinit var vibratorHelper: VibratorHelper Loading Loading @@ -71,6 +74,21 @@ class VibratorHelperTest : SysuiTestCase() { verifyAsync().vibrate(any(VibrationEffect::class.java)) } @Test fun testPerformHapticFeedback() { val constant = HapticFeedbackConstants.CONFIRM vibratorHelper.performHapticFeedback(view, constant) verify(view).performHapticFeedback(eq(constant)) } @Test fun testPerformHapticFeedback_withFlags() { val constant = HapticFeedbackConstants.CONFIRM val flag = HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING vibratorHelper.performHapticFeedback(view, constant, flag) verify(view).performHapticFeedback(eq(constant), eq(flag)) } @Test fun testHasVibrator() { assertThat(vibratorHelper.hasVibrator()).isTrue() Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/VibratorHelper.java +17 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.os.Process; import android.os.VibrationAttributes; import android.os.VibrationEffect; import android.os.Vibrator; import android.view.View; import androidx.annotation.VisibleForTesting; Loading Loading @@ -151,4 +152,20 @@ public class VibratorHelper { BIOMETRIC_ERROR_VIBRATION_EFFECT, reason, HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES); } /** * Perform a vibration using a view and the one-way API with flags * @see View#performHapticFeedback(int feedbackConstant, int flags) */ public void performHapticFeedback(@NonNull View view, int feedbackConstant, int flags) { view.performHapticFeedback(feedbackConstant, flags); } /** * Perform a vibration using a view and the one-way API * @see View#performHapticFeedback(int feedbackConstant) */ public void performHapticFeedback(@NonNull View view, int feedbackConstant) { view.performHapticFeedback(feedbackConstant); } }
packages/SystemUI/tests/src/com/android/systemui/statusbar/VibratorHelperTest.kt +18 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ import android.os.VibrationAttributes import android.os.VibrationEffect import android.os.Vibrator import android.testing.AndroidTestingRunner import android.view.HapticFeedbackConstants import android.view.View import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.util.mockito.eq Loading Loading @@ -33,6 +35,7 @@ class VibratorHelperTest : SysuiTestCase() { @Mock lateinit var vibrator: Vibrator @Mock lateinit var executor: Executor @Mock lateinit var view: View @Captor lateinit var backgroundTaskCaptor: ArgumentCaptor<Runnable> lateinit var vibratorHelper: VibratorHelper Loading Loading @@ -71,6 +74,21 @@ class VibratorHelperTest : SysuiTestCase() { verifyAsync().vibrate(any(VibrationEffect::class.java)) } @Test fun testPerformHapticFeedback() { val constant = HapticFeedbackConstants.CONFIRM vibratorHelper.performHapticFeedback(view, constant) verify(view).performHapticFeedback(eq(constant)) } @Test fun testPerformHapticFeedback_withFlags() { val constant = HapticFeedbackConstants.CONFIRM val flag = HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING vibratorHelper.performHapticFeedback(view, constant, flag) verify(view).performHapticFeedback(eq(constant), eq(flag)) } @Test fun testHasVibrator() { assertThat(vibratorHelper.hasVibrator()).isTrue() Loading