summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2015-07-06 11:45:18 -0700
committerSunny Goyal <sunnygoyal@google.com>2015-07-06 11:48:46 -0700
commit2245fa23796fe6243521f0dff172a39a62bff54c (patch)
treea9717156006f1ddab636e35cc8232b9a2699290f /src
parent2598d3ce5b7571e3e781a77da7bee8f7f224f294 (diff)
downloadandroid_packages_apps_Trebuchet-2245fa23796fe6243521f0dff172a39a62bff54c.tar.gz
android_packages_apps_Trebuchet-2245fa23796fe6243521f0dff172a39a62bff54c.tar.bz2
android_packages_apps_Trebuchet-2245fa23796fe6243521f0dff172a39a62bff54c.zip
Using background outline provider as the final provider for reveal animation
> When two animations are running simultaneously, getOutlineProvider does not give the correct provider Bug: 22166935 Change-Id: I54c9bcd8cf42dd130949ea98e87c77389c02d00f
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Folder.java11
-rw-r--r--src/com/android/launcher3/util/UiThreadCircularReveal.java6
2 files changed, 11 insertions, 6 deletions
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java
index 85f58a1b1..476ebd12e 100644
--- a/src/com/android/launcher3/Folder.java
+++ b/src/com/android/launcher3/Folder.java
@@ -58,6 +58,7 @@ import com.android.launcher3.UninstallDropTarget.UninstallSource;
import com.android.launcher3.Workspace.ItemOperator;
import com.android.launcher3.accessibility.LauncherAccessibilityDelegate.AccessibilityDragSource;
import com.android.launcher3.util.Thunk;
+import com.android.launcher3.util.UiThreadCircularReveal;
import java.util.ArrayList;
import java.util.Collections;
@@ -467,6 +468,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
prepareReveal();
centerAboutIcon();
+ AnimatorSet anim = LauncherAnimUtils.createAnimatorSet();
int width = getPaddingLeft() + getPaddingRight() + mContent.getDesiredWidth();
int height = getFolderHeight();
@@ -477,7 +479,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
PropertyValuesHolder tx = PropertyValuesHolder.ofFloat("translationX", transX, 0);
PropertyValuesHolder ty = PropertyValuesHolder.ofFloat("translationY", transY, 0);
- Animator drift = LauncherAnimUtils.ofPropertyValuesHolder(this, tx, ty);
+ Animator drift = ObjectAnimator.ofPropertyValuesHolder(this, tx, ty);
drift.setDuration(mMaterialExpandDuration);
drift.setStartDelay(mMaterialExpandStagger);
drift.setInterpolator(new LogDecelerateInterpolator(100, 0));
@@ -486,20 +488,19 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
int ry = (int) Math.max(Math.max(height - getPivotY(), 0), getPivotY());
float radius = (float) Math.hypot(rx, ry);
- AnimatorSet anim = LauncherAnimUtils.createAnimatorSet();
- Animator reveal = LauncherAnimUtils.createCircularReveal(this, (int) getPivotX(),
+ Animator reveal = UiThreadCircularReveal.createCircularReveal(this, (int) getPivotX(),
(int) getPivotY(), 0, radius);
reveal.setDuration(mMaterialExpandDuration);
reveal.setInterpolator(new LogDecelerateInterpolator(100, 0));
mContentWrapper.setAlpha(0f);
- Animator iconsAlpha = LauncherAnimUtils.ofFloat(mContentWrapper, "alpha", 0f, 1f);
+ Animator iconsAlpha = ObjectAnimator.ofFloat(mContentWrapper, "alpha", 0f, 1f);
iconsAlpha.setDuration(mMaterialExpandDuration);
iconsAlpha.setStartDelay(mMaterialExpandStagger);
iconsAlpha.setInterpolator(new AccelerateInterpolator(1.5f));
mFooter.setAlpha(0f);
- Animator textAlpha = LauncherAnimUtils.ofFloat(mFooter, "alpha", 0f, 1f);
+ Animator textAlpha = ObjectAnimator.ofFloat(mFooter, "alpha", 0f, 1f);
textAlpha.setDuration(mMaterialExpandDuration);
textAlpha.setStartDelay(mMaterialExpandStagger);
textAlpha.setInterpolator(new AccelerateInterpolator(1.5f));
diff --git a/src/com/android/launcher3/util/UiThreadCircularReveal.java b/src/com/android/launcher3/util/UiThreadCircularReveal.java
index c7324fb1b..c8e1df289 100644
--- a/src/com/android/launcher3/util/UiThreadCircularReveal.java
+++ b/src/com/android/launcher3/util/UiThreadCircularReveal.java
@@ -15,11 +15,15 @@ import com.android.launcher3.Utilities;
public class UiThreadCircularReveal {
public static ValueAnimator createCircularReveal(View v, int x, int y, float r0, float r1) {
+ return createCircularReveal(v, x, y, r0, r1, ViewOutlineProvider.BACKGROUND);
+ }
+
+ public static ValueAnimator createCircularReveal(View v, int x, int y, float r0, float r1,
+ final ViewOutlineProvider originalProvider) {
ValueAnimator va = ValueAnimator.ofFloat(0f, 1f);
final View revealView = v;
final RevealOutlineProvider outlineProvider = new RevealOutlineProvider(x, y, r0, r1);
- final ViewOutlineProvider originalProvider = revealView.getOutlineProvider();
final float elevation = v.getElevation();
va.addListener(new AnimatorListenerAdapter() {