summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-12-12 22:11:40 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-12-12 22:11:40 +0000
commit2e0e2a44073e7417a42d97e9d7b82e050a845b4d (patch)
treed286a361f12d1e016535e559acc405dc715132fe /graphics
parentd7383a8f00b533d00dc48f7aca7ee89d1fc52a36 (diff)
parent1060d75e3abd37671b0962297f4587dd3d6e0cc8 (diff)
downloadframeworks_base-2e0e2a44073e7417a42d97e9d7b82e050a845b4d.zip
frameworks_base-2e0e2a44073e7417a42d97e9d7b82e050a845b4d.tar.gz
frameworks_base-2e0e2a44073e7417a42d97e9d7b82e050a845b4d.tar.bz2
am 1060d75e: am 9a1b4c29: Merge "Move ripple to end state on jump when hardware exit is pending" into lmp-mr1-dev
* commit '1060d75e3abd37671b0962297f4587dd3d6e0cc8': Move ripple to end state on jump when hardware exit is pending
Diffstat (limited to 'graphics')
-rw-r--r--graphics/java/android/graphics/drawable/Ripple.java25
-rw-r--r--graphics/java/android/graphics/drawable/RippleBackground.java22
2 files changed, 37 insertions, 10 deletions
diff --git a/graphics/java/android/graphics/drawable/Ripple.java b/graphics/java/android/graphics/drawable/Ripple.java
index a3a220c..ba1e86c 100644
--- a/graphics/java/android/graphics/drawable/Ripple.java
+++ b/graphics/java/android/graphics/drawable/Ripple.java
@@ -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;
}
diff --git a/graphics/java/android/graphics/drawable/RippleBackground.java b/graphics/java/android/graphics/drawable/RippleBackground.java
index 665d736..cc42aac 100644
--- a/graphics/java/android/graphics/drawable/RippleBackground.java
+++ b/graphics/java/android/graphics/drawable/RippleBackground.java
@@ -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;
}