From 7115464557d61f65e1b78a45dbea87a8ec436f38 Mon Sep 17 00:00:00 2001 From: dshivangi Date: Thu, 25 May 2023 12:38:16 +0100 Subject: Changed VibrationAttributes of Unfold Haptics There was feedback that the haptic when unfolding was too subtle, so we are increasing the strength to make it more prominent. In this change, USAGE_HARDWARE_FEEDBACK was added as a VibrationAttribute for the unfold haptics. Previously, when no VibrationAttributes were specified, it defaulted to USAGE_UNKNOWN, which meant that the haptics were controlled by the 'Media Vibration' user setting slider. By associating it with USAGE_HARDWARE_FEEDBACK, the haptics will now be controlled by the 'Touch Feedback' user setting slider. Test: UnfoldHapticsPlayerTest Bug: 281642496 Relevant Logs: https://paste.googleplex.com/6294954983817216 Change-Id: I3241a924bf843e590e7d947b5375cd69cda73139 --- .../src/com/android/systemui/unfold/UnfoldHapticsPlayer.kt | 5 ++++- .../src/com/android/systemui/unfold/UnfoldHapticsPlayerTest.kt | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldHapticsPlayer.kt b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldHapticsPlayer.kt index 8214822f0335..1e73cb3b9b24 100644 --- a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldHapticsPlayer.kt +++ b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldHapticsPlayer.kt @@ -1,6 +1,7 @@ package com.android.systemui.unfold import android.os.SystemProperties +import android.os.VibrationAttributes import android.os.VibrationEffect import android.os.Vibrator import com.android.systemui.dagger.qualifiers.Main @@ -22,6 +23,8 @@ constructor( ) : TransitionProgressListener { private var isFirstAnimationAfterUnfold = false + private val touchVibrationAttributes = + VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK) init { if (vibrator != null) { @@ -71,7 +74,7 @@ constructor( } private fun playHaptics() { - vibrator?.vibrate(effect) + vibrator?.vibrate(effect, touchVibrationAttributes) } private val hapticsScale: Float diff --git a/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldHapticsPlayerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldHapticsPlayerTest.kt index d3fdbd94a5ac..5261748da711 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldHapticsPlayerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldHapticsPlayerTest.kt @@ -15,6 +15,7 @@ */ package com.android.systemui.unfold +import android.os.VibrationAttributes import android.os.VibrationEffect import android.os.Vibrator import android.testing.AndroidTestingRunner @@ -54,7 +55,7 @@ class UnfoldHapticsPlayerTest : SysuiTestCase() { progressProvider.onTransitionProgress(0.5f) progressProvider.onTransitionFinishing() - verify(vibrator).vibrate(any()) + verify(vibrator).vibrate(any(), any()) } @Test @@ -65,7 +66,7 @@ class UnfoldHapticsPlayerTest : SysuiTestCase() { progressProvider.onTransitionProgress(0.99f) progressProvider.onTransitionFinishing() - verify(vibrator, never()).vibrate(any()) + verify(vibrator, never()).vibrate(any(), any()) } @Test @@ -85,7 +86,7 @@ class UnfoldHapticsPlayerTest : SysuiTestCase() { progressProvider.onTransitionFinished() testFoldProvider.onFoldUpdate(isFolded = true) - verify(vibrator, never()).vibrate(any()) + verify(vibrator, never()).vibrate(any(), any()) } @Test @@ -113,7 +114,7 @@ class UnfoldHapticsPlayerTest : SysuiTestCase() { progressProvider.onTransitionFinishing() progressProvider.onTransitionFinished() - verify(vibrator).vibrate(any()) + verify(vibrator).vibrate(any(), any()) } private class TestFoldProvider : FoldProvider { -- cgit v1.2.3-59-g8ed1b