Merge "Extension to VibratorHelper to use the new oneway haptics API" into udc-qpr-dev am: 865d7d3a5a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24133487

Change-Id: I13274f7987d9b0672505644aa6954dd3ad8baad5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Juan Sebastian Martinez
2023-07-21 23:00:03 +00:00
committed by Automerger Merge Worker
2 changed files with 35 additions and 0 deletions

View File

@@ -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;
@@ -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);
}
}

View File

@@ -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
@@ -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
@@ -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()