Merge "Move ripple to end state on jump when hardware exit is pending" into lmp-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9a1b4c2967
@@ -214,7 +214,7 @@ class Ripple {
|
||||
final boolean canUseHardware = c.isHardwareAccelerated();
|
||||
if (mCanUseHardware != canUseHardware && mCanUseHardware) {
|
||||
// We've switched from hardware to non-hardware mode. Panic.
|
||||
cancelHardwareAnimations(true);
|
||||
cancelHardwareAnimations(false);
|
||||
}
|
||||
mCanUseHardware = canUseHardware;
|
||||
|
||||
@@ -493,7 +493,7 @@ class Ripple {
|
||||
public void cancel() {
|
||||
mCanceled = true;
|
||||
cancelSoftwareAnimations();
|
||||
cancelHardwareAnimations(true);
|
||||
cancelHardwareAnimations(false);
|
||||
mCanceled = false;
|
||||
}
|
||||
|
||||
@@ -522,15 +522,30 @@ class Ripple {
|
||||
/**
|
||||
* Cancels any running hardware animations.
|
||||
*/
|
||||
private void cancelHardwareAnimations(boolean cancelPending) {
|
||||
private void cancelHardwareAnimations(boolean jumpToEnd) {
|
||||
final ArrayList<RenderNodeAnimator> runningAnimations = mRunningAnimations;
|
||||
final int N = runningAnimations.size();
|
||||
for (int i = 0; i < N; i++) {
|
||||
runningAnimations.get(i).cancel();
|
||||
if (jumpToEnd) {
|
||||
runningAnimations.get(i).end();
|
||||
} else {
|
||||
runningAnimations.get(i).cancel();
|
||||
}
|
||||
}
|
||||
runningAnimations.clear();
|
||||
|
||||
mHasPendingHardwareExit = false;
|
||||
if (mHasPendingHardwareExit) {
|
||||
// If we had a pending hardware exit, jump to the end state.
|
||||
mHasPendingHardwareExit = false;
|
||||
|
||||
if (jumpToEnd) {
|
||||
mOpacity = 0;
|
||||
mTweenX = 1;
|
||||
mTweenY = 1;
|
||||
mTweenRadius = 1;
|
||||
}
|
||||
}
|
||||
|
||||
mHardwareAnimating = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ class RippleBackground {
|
||||
final boolean canUseHardware = c.isHardwareAccelerated();
|
||||
if (mCanUseHardware != canUseHardware && mCanUseHardware) {
|
||||
// We've switched from hardware to non-hardware mode. Panic.
|
||||
cancelHardwareAnimations(true);
|
||||
cancelHardwareAnimations(false);
|
||||
}
|
||||
mCanUseHardware = canUseHardware;
|
||||
|
||||
@@ -399,7 +399,7 @@ class RippleBackground {
|
||||
*/
|
||||
public void cancel() {
|
||||
cancelSoftwareAnimations();
|
||||
cancelHardwareAnimations(true);
|
||||
cancelHardwareAnimations(false);
|
||||
}
|
||||
|
||||
private void cancelSoftwareAnimations() {
|
||||
@@ -412,15 +412,27 @@ class RippleBackground {
|
||||
/**
|
||||
* Cancels any running hardware animations.
|
||||
*/
|
||||
private void cancelHardwareAnimations(boolean cancelPending) {
|
||||
private void cancelHardwareAnimations(boolean jumpToEnd) {
|
||||
final ArrayList<RenderNodeAnimator> runningAnimations = mRunningAnimations;
|
||||
final int N = runningAnimations.size();
|
||||
for (int i = 0; i < N; i++) {
|
||||
runningAnimations.get(i).cancel();
|
||||
if (jumpToEnd) {
|
||||
runningAnimations.get(i).end();
|
||||
} else {
|
||||
runningAnimations.get(i).cancel();
|
||||
}
|
||||
}
|
||||
runningAnimations.clear();
|
||||
|
||||
mHasPendingHardwareExit = false;
|
||||
if (mHasPendingHardwareExit) {
|
||||
// If we had a pending hardware exit, jump to the end state.
|
||||
mHasPendingHardwareExit = false;
|
||||
|
||||
if (jumpToEnd) {
|
||||
mOuterOpacity = 0;
|
||||
}
|
||||
}
|
||||
|
||||
mHardwareAnimating = false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user