Loading graphics/java/android/graphics/drawable/Ripple.java +20 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -493,7 +493,7 @@ class Ripple { public void cancel() { mCanceled = true; cancelSoftwareAnimations(); cancelHardwareAnimations(true); cancelHardwareAnimations(false); mCanceled = false; } Loading Loading @@ -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++) { if (jumpToEnd) { runningAnimations.get(i).end(); } else { runningAnimations.get(i).cancel(); } } runningAnimations.clear(); 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; } Loading graphics/java/android/graphics/drawable/RippleBackground.java +17 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -399,7 +399,7 @@ class RippleBackground { */ public void cancel() { cancelSoftwareAnimations(); cancelHardwareAnimations(true); cancelHardwareAnimations(false); } private void cancelSoftwareAnimations() { Loading @@ -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++) { if (jumpToEnd) { runningAnimations.get(i).end(); } else { runningAnimations.get(i).cancel(); } } runningAnimations.clear(); if (mHasPendingHardwareExit) { // If we had a pending hardware exit, jump to the end state. mHasPendingHardwareExit = false; if (jumpToEnd) { mOuterOpacity = 0; } } mHardwareAnimating = false; } Loading Loading
graphics/java/android/graphics/drawable/Ripple.java +20 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -493,7 +493,7 @@ class Ripple { public void cancel() { mCanceled = true; cancelSoftwareAnimations(); cancelHardwareAnimations(true); cancelHardwareAnimations(false); mCanceled = false; } Loading Loading @@ -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++) { if (jumpToEnd) { runningAnimations.get(i).end(); } else { runningAnimations.get(i).cancel(); } } runningAnimations.clear(); 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; } Loading
graphics/java/android/graphics/drawable/RippleBackground.java +17 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -399,7 +399,7 @@ class RippleBackground { */ public void cancel() { cancelSoftwareAnimations(); cancelHardwareAnimations(true); cancelHardwareAnimations(false); } private void cancelSoftwareAnimations() { Loading @@ -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++) { if (jumpToEnd) { runningAnimations.get(i).end(); } else { runningAnimations.get(i).cancel(); } } runningAnimations.clear(); if (mHasPendingHardwareExit) { // If we had a pending hardware exit, jump to the end state. mHasPendingHardwareExit = false; if (jumpToEnd) { mOuterOpacity = 0; } } mHardwareAnimating = false; } Loading