Merge "Fix some issues with haptic" into ub-launcher3-edmonton-polish
This commit is contained in:
commit
fe1402d8a4
|
@ -241,16 +241,16 @@ public abstract class TaskViewTouchController<T extends BaseDraggingActivity>
|
|||
if (blockedFling) {
|
||||
fling = false;
|
||||
}
|
||||
float progress = mCurrentAnimation.getProgressFraction();
|
||||
float interpolatedProgress = mCurrentAnimation.getInterpolator().getInterpolation(progress);
|
||||
if (fling) {
|
||||
logAction = Touch.FLING;
|
||||
boolean goingUp = velocity < 0;
|
||||
goingToEnd = goingUp == mCurrentAnimationIsGoingUp;
|
||||
} else {
|
||||
logAction = Touch.SWIPE;
|
||||
goingToEnd = mCurrentAnimation.getProgressFraction() > SUCCESS_TRANSITION_PROGRESS;
|
||||
goingToEnd = interpolatedProgress > SUCCESS_TRANSITION_PROGRESS;
|
||||
}
|
||||
|
||||
float progress = mCurrentAnimation.getProgressFraction();
|
||||
long animationDuration = SwipeDetector.calculateDuration(
|
||||
velocity, goingToEnd ? (1 - progress) : progress);
|
||||
if (blockedFling && !goingToEnd) {
|
||||
|
|
|
@ -575,7 +575,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
|
|||
final boolean passed = mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW;
|
||||
if (passed != mPassedOverviewThreshold) {
|
||||
mPassedOverviewThreshold = passed;
|
||||
if (mRecentsView != null) {
|
||||
if (mInteractionType == INTERACTION_NORMAL && mRecentsView != null) {
|
||||
mRecentsView.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY,
|
||||
HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
*/
|
||||
package com.android.launcher3.anim;
|
||||
|
||||
import static com.android.launcher3.anim.Interpolators.LINEAR;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.Animator.AnimatorListener;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
|
@ -72,7 +74,7 @@ public abstract class AnimatorPlaybackController implements ValueAnimator.Animat
|
|||
mOnCancelRunnable = onCancelRunnable;
|
||||
|
||||
mAnimationPlayer = ValueAnimator.ofFloat(0, 1);
|
||||
mAnimationPlayer.setInterpolator(Interpolators.LINEAR);
|
||||
mAnimationPlayer.setInterpolator(LINEAR);
|
||||
mAnimationPlayer.addListener(new OnAnimationEndDispatcher());
|
||||
mAnimationPlayer.addUpdateListener(this);
|
||||
|
||||
|
@ -107,6 +109,10 @@ public abstract class AnimatorPlaybackController implements ValueAnimator.Animat
|
|||
return mDuration;
|
||||
}
|
||||
|
||||
public TimeInterpolator getInterpolator() {
|
||||
return mAnim.getInterpolator() != null ? mAnim.getInterpolator() : LINEAR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts playing the animation forward from current position.
|
||||
*/
|
||||
|
|
|
@ -354,6 +354,8 @@ public abstract class AbstractStateChangeTouchController
|
|||
|
||||
final LauncherState targetState;
|
||||
final float progress = mCurrentAnimation.getProgressFraction();
|
||||
final float interpolatedProgress = mCurrentAnimation.getInterpolator()
|
||||
.getInterpolation(progress);
|
||||
if (fling) {
|
||||
targetState =
|
||||
Float.compare(Math.signum(velocity), Math.signum(mProgressMultiplier)) == 0
|
||||
|
@ -362,7 +364,7 @@ public abstract class AbstractStateChangeTouchController
|
|||
} else {
|
||||
float successProgress = mToState == ALL_APPS
|
||||
? MIN_PROGRESS_TO_ALL_APPS : SUCCESS_TRANSITION_PROGRESS;
|
||||
targetState = (progress > successProgress) ? mToState : mFromState;
|
||||
targetState = (interpolatedProgress > successProgress) ? mToState : mFromState;
|
||||
}
|
||||
|
||||
final float endProgress;
|
||||
|
|
Loading…
Reference in New Issue