summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanel.kt10
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanelController.kt13
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgePanelParams.kt6
3 files changed, 15 insertions, 14 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanel.kt b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanel.kt
index 70040c75d123..c804df8fa555 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanel.kt
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanel.kt
@@ -363,12 +363,8 @@ class BackPanel(
}
fun popOffEdge(startingVelocity: Float) {
- val heightStretchAmount = startingVelocity * 50
- val widthStretchAmount = startingVelocity * 150
- val scaleStretchAmount = startingVelocity * 0.8f
- backgroundHeight.stretchTo(stretchAmount = 0f, startingVelocity = -heightStretchAmount)
- backgroundWidth.stretchTo(stretchAmount = 0f, startingVelocity = widthStretchAmount)
- scale.stretchTo(stretchAmount = 0f, startingVelocity = -scaleStretchAmount)
+ scale.stretchTo(stretchAmount = 0f, startingVelocity = startingVelocity * -.8f)
+ horizontalTranslation.stretchTo(stretchAmount = 0f, startingVelocity * 200f)
}
fun popScale(startingVelocity: Float) {
@@ -410,7 +406,7 @@ class BackPanel(
arrowAlpha.updateRestingPosition(restingParams.arrowDimens.alpha, animate)
arrowLength.updateRestingPosition(restingParams.arrowDimens.length, animate)
arrowHeight.updateRestingPosition(restingParams.arrowDimens.height, animate)
- scalePivotX.updateRestingPosition(restingParams.backgroundDimens.width, animate)
+ scalePivotX.updateRestingPosition(restingParams.scalePivotX, animate)
backgroundWidth.updateRestingPosition(restingParams.backgroundDimens.width, animate)
backgroundHeight.updateRestingPosition(restingParams.backgroundDimens.height, animate)
backgroundEdgeCornerRadius.updateRestingPosition(
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanelController.kt b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanelController.kt
index a29eb3bda748..3770b2885b18 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanelController.kt
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanelController.kt
@@ -49,6 +49,7 @@ import kotlin.math.sign
private const val TAG = "BackPanelController"
private const val ENABLE_FAILSAFE = true
+private const val FAILSAFE_DELAY_MS = 350L
private const val PX_PER_SEC = 1000
private const val PX_PER_MS = 1
@@ -64,9 +65,9 @@ private const val MIN_DURATION_FLING_ANIMATION = 160L
private const val MIN_DURATION_ENTRY_TO_ACTIVE_CONSIDERED_AS_FLING = 100L
private const val MIN_DURATION_INACTIVE_TO_ACTIVE_CONSIDERED_AS_FLING = 400L
-private const val FAILSAFE_DELAY_MS = 350L
-private const val POP_ON_FLING_DELAY = 50L
-private const val POP_ON_FLING_SCALE = 3f
+private const val POP_ON_FLING_DELAY = 60L
+private const val POP_ON_FLING_SCALE = 2f
+private const val POP_ON_COMMITTED_SCALE = 3f
internal val VIBRATE_ACTIVATED_EFFECT =
VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK)
@@ -774,7 +775,9 @@ class BackPanelController internal constructor(
GestureState.ENTRY,
GestureState.INACTIVE,
GestureState.CANCELLED -> params.preThresholdIndicator.scalePivotX
- else -> params.committedIndicator.scalePivotX
+ GestureState.ACTIVE -> params.activeIndicator.scalePivotX
+ GestureState.FLUNG,
+ GestureState.COMMITTED -> params.committedIndicator.scalePivotX
},
horizontalTranslation = when (currentState) {
GestureState.GONE -> {
@@ -921,7 +924,7 @@ class BackPanelController internal constructor(
mainHandler.postDelayed(onEndSetGoneStateListener.runnable,
MIN_DURATION_COMMITTED_AFTER_FLING_ANIMATION)
} else {
- mView.popScale(POP_ON_FLING_SCALE)
+ mView.popScale(POP_ON_COMMITTED_SCALE)
mainHandler.postDelayed(onAlphaEndSetGoneStateListener.runnable,
MIN_DURATION_COMMITTED_ANIMATION)
}
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgePanelParams.kt b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgePanelParams.kt
index 6ce6f0d5f722..c9d8c8495dcc 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgePanelParams.kt
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgePanelParams.kt
@@ -35,7 +35,7 @@ data class EdgePanelParams(private var resources: Resources) {
data class BackIndicatorDimens(
val horizontalTranslation: Float? = 0f,
val scale: Float = 0f,
- val scalePivotX: Float = 0f,
+ val scalePivotX: Float? = null,
val arrowDimens: ArrowDimens,
val backgroundDimens: BackgroundDimens,
val verticalTranslationSpring: SpringForce? = null,
@@ -203,7 +203,8 @@ data class EdgePanelParams(private var resources: Resources) {
horizontalTranslation = getDimen(R.dimen.navigation_edge_active_margin),
scale = getDimenFloat(R.dimen.navigation_edge_active_scale),
horizontalTranslationSpring = entryActiveHorizontalTranslationSpring,
- scaleSpring = createSpring(450f, 0.415f),
+ scaleSpring = createSpring(450f, 0.39f),
+ scalePivotX = getDimen(R.dimen.navigation_edge_active_background_width),
arrowDimens = ArrowDimens(
length = getDimen(R.dimen.navigation_edge_active_arrow_length),
height = getDimen(R.dimen.navigation_edge_active_arrow_height),
@@ -258,6 +259,7 @@ data class EdgePanelParams(private var resources: Resources) {
committedIndicator = activeIndicator.copy(
horizontalTranslation = null,
+ scalePivotX = null,
arrowDimens = activeIndicator.arrowDimens.copy(
lengthSpring = activeCommittedArrowLengthSpring,
heightSpring = activeCommittedArrowHeightSpring,