summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJonathan Miranda <jonmiranda@google.com>2018-06-21 00:30:02 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-06-21 00:30:02 +0000
commit48010091f45e01c0d05f7266c9ef4b1d99704a29 (patch)
treef3919c8578b0ab38ad63e5e56586a287ca8e01f0 /src
parentb0ab81633d1215e1dd3e5cb35981fbe4cdecb5be (diff)
parent17be4e71b2f6733b4ea4dd52c3a46e8b5ec0d360 (diff)
downloadandroid_packages_apps_Trebuchet-48010091f45e01c0d05f7266c9ef4b1d99704a29.tar.gz
android_packages_apps_Trebuchet-48010091f45e01c0d05f7266c9ef4b1d99704a29.tar.bz2
android_packages_apps_Trebuchet-48010091f45e01c0d05f7266c9ef4b1d99704a29.zip
Merge "Adjust interpolators when swiping from overview to all apps" into ub-launcher3-edmonton-polish
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/allapps/AllAppsTransitionController.java22
-rw-r--r--src/com/android/launcher3/allapps/FloatingHeaderView.java8
-rw-r--r--src/com/android/launcher3/anim/AnimatorSetBuilder.java1
-rw-r--r--src/com/android/launcher3/touch/AbstractStateChangeTouchController.java7
4 files changed, 25 insertions, 13 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index ccd55863c..24a8d5145 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -5,6 +5,7 @@ import static com.android.launcher3.LauncherState.ALL_APPS_HEADER;
import static com.android.launcher3.LauncherState.ALL_APPS_HEADER_EXTRA;
import static com.android.launcher3.LauncherState.OVERVIEW;
import static com.android.launcher3.LauncherState.VERTICAL_SWIPE_INDICATOR;
+import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_ALL_APPS_FADE;
import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_SCALE;
import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_VERTICAL_PROGRESS;
import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN;
@@ -151,7 +152,7 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
@Override
public void setState(LauncherState state) {
setProgress(state.getVerticalProgress(mLauncher));
- setAlphas(state, NO_ANIM_PROPERTY_SETTER);
+ setAlphas(state, null, new AnimatorSetBuilder());
onProgressAnimationEnd();
}
@@ -164,7 +165,7 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
AnimatorSetBuilder builder, AnimationConfig config) {
float targetProgress = toState.getVerticalProgress(mLauncher);
if (Float.compare(mProgress, targetProgress) == 0) {
- setAlphas(toState, config.getPropertySetter(builder));
+ setAlphas(toState, config, builder);
// Fail fast
onProgressAnimationEnd();
return;
@@ -186,19 +187,24 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
builder.play(anim);
- setAlphas(toState, config.getPropertySetter(builder));
+ setAlphas(toState, config, builder);
}
- private void setAlphas(LauncherState toState, PropertySetter setter) {
+ private void setAlphas(LauncherState toState, AnimationConfig config,
+ AnimatorSetBuilder builder) {
+ PropertySetter setter = config == null ? NO_ANIM_PROPERTY_SETTER
+ : config.getPropertySetter(builder);
int visibleElements = toState.getVisibleElements(mLauncher);
boolean hasHeader = (visibleElements & ALL_APPS_HEADER) != 0;
boolean hasHeaderExtra = (visibleElements & ALL_APPS_HEADER_EXTRA) != 0;
boolean hasContent = (visibleElements & ALL_APPS_CONTENT) != 0;
- setter.setViewAlpha(mAppsView.getSearchView(), hasHeader ? 1 : 0, LINEAR);
- setter.setViewAlpha(mAppsView.getContentView(), hasContent ? 1 : 0, LINEAR);
- setter.setViewAlpha(mAppsView.getScrollBar(), hasContent ? 1 : 0, LINEAR);
- mAppsView.getFloatingHeaderView().setContentVisibility(hasHeaderExtra, hasContent, setter);
+ Interpolator allAppsFade = builder.getInterpolator(ANIM_ALL_APPS_FADE, LINEAR);
+ setter.setViewAlpha(mAppsView.getSearchView(), hasHeader ? 1 : 0, allAppsFade);
+ setter.setViewAlpha(mAppsView.getContentView(), hasContent ? 1 : 0, allAppsFade);
+ setter.setViewAlpha(mAppsView.getScrollBar(), hasContent ? 1 : 0, allAppsFade);
+ mAppsView.getFloatingHeaderView().setContentVisibility(hasHeaderExtra, hasContent, setter,
+ allAppsFade);
setter.setInt(mScrimView, ScrimView.DRAG_HANDLE_ALPHA,
(visibleElements & VERTICAL_SWIPE_INDICATOR) != 0 ? 255 : 0, LINEAR);
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index 462e7f34e..eaa777416 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -15,8 +15,6 @@
*/
package com.android.launcher3.allapps;
-import static com.android.launcher3.anim.Interpolators.LINEAR;
-
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Point;
@@ -28,6 +26,7 @@ import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.Interpolator;
import android.widget.LinearLayout;
import com.android.launcher3.R;
@@ -227,8 +226,9 @@ public class FloatingHeaderView extends LinearLayout implements
p.y = getTop() - mCurrentRV.getTop() - mParent.getTop();
}
- public void setContentVisibility(boolean hasHeader, boolean hasContent, PropertySetter setter) {
- setter.setViewAlpha(this, hasContent ? 1 : 0, LINEAR);
+ public void setContentVisibility(boolean hasHeader, boolean hasContent, PropertySetter setter,
+ Interpolator fadeInterpolator) {
+ setter.setViewAlpha(this, hasContent ? 1 : 0, fadeInterpolator);
allowTouchForwarding(hasContent);
}
diff --git a/src/com/android/launcher3/anim/AnimatorSetBuilder.java b/src/com/android/launcher3/anim/AnimatorSetBuilder.java
index f10bce8d2..307f25856 100644
--- a/src/com/android/launcher3/anim/AnimatorSetBuilder.java
+++ b/src/com/android/launcher3/anim/AnimatorSetBuilder.java
@@ -35,6 +35,7 @@ public class AnimatorSetBuilder {
public static final int ANIM_WORKSPACE_FADE = 2;
public static final int ANIM_OVERVIEW_SCALE = 3;
public static final int ANIM_OVERVIEW_FADE = 4;
+ public static final int ANIM_ALL_APPS_FADE = 5;
protected final ArrayList<Animator> mAnims = new ArrayList<>();
diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
index 0d2bcb2c5..d478d4865 100644
--- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
+++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
@@ -341,7 +341,7 @@ public abstract class AbstractStateChangeTouchController
private AnimatorSet createAtomicAnimForState(LauncherState fromState, LauncherState targetState,
long duration) {
- AnimatorSetBuilder builder = new AnimatorSetBuilder();
+ AnimatorSetBuilder builder = getAnimatorSetBuilderForStates(fromState, targetState);
mLauncher.getStateManager().prepareForAtomicAnimation(fromState, targetState, builder);
AnimationConfig config = new AnimationConfig();
config.animComponents = ATOMIC_COMPONENT;
@@ -352,6 +352,11 @@ public abstract class AbstractStateChangeTouchController
return builder.build();
}
+ protected AnimatorSetBuilder getAnimatorSetBuilderForStates(LauncherState fromState,
+ LauncherState toState) {
+ return new AnimatorSetBuilder();
+ }
+
@Override
public void onDragEnd(float velocity, boolean fling) {
final int logAction = fling ? Touch.FLING : Touch.SWIPE;