summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt6
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt6
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/Vibrations.kt26
3 files changed, 6 insertions, 32 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt
index 10e913743224..2a40b76eb326 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt
@@ -58,16 +58,14 @@ class ControlActionCoordinatorImpl @Inject constructor(
override fun toggle(cvh: ControlViewHolder, templateId: String, isChecked: Boolean) {
bouncerOrRun {
- val effect = if (!isChecked) Vibrations.toggleOnEffect else Vibrations.toggleOffEffect
- vibrate(effect)
+ cvh.layout.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
cvh.action(BooleanAction(templateId, !isChecked))
}
}
override fun touch(cvh: ControlViewHolder, templateId: String, control: Control) {
- vibrate(Vibrations.toggleOnEffect)
-
bouncerOrRun {
+ cvh.layout.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
if (cvh.usePanel()) {
showDialog(cvh, control.getAppIntent().getIntent())
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
index 1f0ca9be2ecc..0ec4cc555b9d 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
@@ -231,9 +231,11 @@ class ToggleRangeBehavior : Behavior {
rangeAnimator?.cancel()
if (isDragging) {
- clipLayer.level = newLevel
val isEdge = newLevel == MIN_LEVEL || newLevel == MAX_LEVEL
- cvh.controlActionCoordinator.drag(isEdge)
+ if (clipLayer.level != newLevel) {
+ cvh.controlActionCoordinator.drag(isEdge)
+ clipLayer.level = newLevel
+ }
} else if (newLevel != clipLayer.level) {
rangeAnimator = ValueAnimator.ofInt(cvh.clipLayer.level, newLevel).apply {
addUpdateListener {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/Vibrations.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/Vibrations.kt
index c0f6aabe2427..29b7e985fabc 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/Vibrations.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/Vibrations.kt
@@ -20,35 +20,9 @@ import android.os.VibrationEffect
import android.os.VibrationEffect.Composition.PRIMITIVE_TICK
object Vibrations {
- private const val TOGGLE_TICK_COUNT = 40
-
- val toggleOnEffect = initToggleOnEffect()
- val toggleOffEffect = initToggleOffEffect()
val rangeEdgeEffect = initRangeEdgeEffect()
val rangeMiddleEffect = initRangeMiddleEffect()
- private fun initToggleOnEffect(): VibrationEffect {
- val composition = VibrationEffect.startComposition()
- composition.addPrimitive(PRIMITIVE_TICK, 0.05f, 200)
- var i = 0
- while (i++ < TOGGLE_TICK_COUNT) {
- composition.addPrimitive(PRIMITIVE_TICK, 0.05f, 0)
- }
- composition.addPrimitive(PRIMITIVE_TICK, 0.5f, 100)
- return composition.compose()
- }
-
- private fun initToggleOffEffect(): VibrationEffect {
- val composition = VibrationEffect.startComposition()
- composition.addPrimitive(PRIMITIVE_TICK, 0.5f, 0)
- composition.addPrimitive(PRIMITIVE_TICK, 0.05f, 100)
- var i = 0
- while (i++ < TOGGLE_TICK_COUNT) {
- composition.addPrimitive(PRIMITIVE_TICK, 0.05f, 0)
- }
- return composition.compose()
- }
-
private fun initRangeEdgeEffect(): VibrationEffect {
val composition = VibrationEffect.startComposition()
composition.addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, 0.5f)