Merge "Extension to VibratorHelper to use the new oneway haptics API" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
865d7d3a5a
@@ -23,6 +23,7 @@ import android.os.Process;
|
|||||||
import android.os.VibrationAttributes;
|
import android.os.VibrationAttributes;
|
||||||
import android.os.VibrationEffect;
|
import android.os.VibrationEffect;
|
||||||
import android.os.Vibrator;
|
import android.os.Vibrator;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
@@ -151,4 +152,20 @@ public class VibratorHelper {
|
|||||||
BIOMETRIC_ERROR_VIBRATION_EFFECT, reason,
|
BIOMETRIC_ERROR_VIBRATION_EFFECT, reason,
|
||||||
HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import android.os.VibrationAttributes
|
|||||||
import android.os.VibrationEffect
|
import android.os.VibrationEffect
|
||||||
import android.os.Vibrator
|
import android.os.Vibrator
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
|
import android.view.HapticFeedbackConstants
|
||||||
|
import android.view.View
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.util.mockito.eq
|
import com.android.systemui.util.mockito.eq
|
||||||
@@ -33,6 +35,7 @@ class VibratorHelperTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Mock lateinit var vibrator: Vibrator
|
@Mock lateinit var vibrator: Vibrator
|
||||||
@Mock lateinit var executor: Executor
|
@Mock lateinit var executor: Executor
|
||||||
|
@Mock lateinit var view: View
|
||||||
@Captor lateinit var backgroundTaskCaptor: ArgumentCaptor<Runnable>
|
@Captor lateinit var backgroundTaskCaptor: ArgumentCaptor<Runnable>
|
||||||
lateinit var vibratorHelper: VibratorHelper
|
lateinit var vibratorHelper: VibratorHelper
|
||||||
|
|
||||||
@@ -71,6 +74,21 @@ class VibratorHelperTest : SysuiTestCase() {
|
|||||||
verifyAsync().vibrate(any(VibrationEffect::class.java))
|
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
|
@Test
|
||||||
fun testHasVibrator() {
|
fun testHasVibrator() {
|
||||||
assertThat(vibratorHelper.hasVibrator()).isTrue()
|
assertThat(vibratorHelper.hasVibrator()).isTrue()
|
||||||
|
|||||||
Reference in New Issue
Block a user