Loading quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java +3 −4 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ package com.android.launcher3.taskbar.allapps; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.anim.Interpolators.AGGRESSIVE_EASE; import static com.android.systemui.animation.Interpolators.EMPHASIZED_ACCELERATE; import static com.android.launcher3.anim.Interpolators.EMPHASIZED; import android.animation.PropertyValuesHolder; import android.content.Context; Loading Loading @@ -60,7 +59,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarAllApp if (animate) { mOpenCloseAnimator.setValues( PropertyValuesHolder.ofFloat(TRANSLATION_SHIFT, TRANSLATION_SHIFT_OPENED)); mOpenCloseAnimator.setInterpolator(AGGRESSIVE_EASE); mOpenCloseAnimator.setInterpolator(EMPHASIZED); mOpenCloseAnimator.setDuration( ALL_APPS.getTransitionDuration(mActivityContext, true /* isToState */)).start(); } else { Loading @@ -87,7 +86,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarAllApp @Override protected Interpolator getIdleInterpolator() { return EMPHASIZED_ACCELERATE; return EMPHASIZED; } @Override Loading quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java +23 −7 Original line number Diff line number Diff line Loading @@ -16,14 +16,17 @@ package com.android.launcher3.uioverrides.states; import static com.android.launcher3.anim.Interpolators.DEACCEL_2; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_ALLAPPS; import android.content.Context; import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile.DeviceProfileListenable; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.util.Themes; /** Loading @@ -41,9 +44,9 @@ public class AllAppsState extends LauncherState { @Override public <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfileListenable> int getTransitionDuration(DEVICE_PROFILE_CONTEXT context, boolean isToState) { return !context.getDeviceProfile().isTablet && isToState ? 600 : isToState ? 500 : 300; return context.getDeviceProfile().isTablet ? 500 : isToState ? 600 : 300; } @Override Loading Loading @@ -77,11 +80,24 @@ public class AllAppsState extends LauncherState { } @Override protected float getDepthUnchecked(Context context) { protected <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepthUnchecked(DEVICE_PROFILE_CONTEXT context) { if (context.getDeviceProfile().isTablet) { // The goal is to set wallpaper to zoom at workspaceContentScale when in AllApps. // When depth is 0, wallpaper zoom is set to maxWallpaperScale. // When depth is 1, wallpaper zoom is set to 1. // For depth to achieve zoom set to maxWallpaperScale * workspaceContentScale: float maxWallpaperScale = context.getResources().getFloat( com.android.internal.R.dimen.config_wallpaperMaxScale); return Utilities.mapToRange( maxWallpaperScale * context.getDeviceProfile().workspaceContentScale, maxWallpaperScale, 1f, 0f, 1f, LINEAR); } else { // The scrim fades in at approximately 50% of the swipe gesture. // This means that the depth should be greater than 1, in order to fully zoom out. return 2f; } } @Override public PageAlphaProvider getWorkspacePageAlphaProvider(Launcher launcher) { Loading quickstep/src/com/android/quickstep/TaskViewUtils.java +3 −2 Original line number Diff line number Diff line Loading @@ -195,7 +195,8 @@ public final class TaskViewUtils { int taskIndex = recentsView.indexOfChild(v); Context context = v.getContext(); DeviceProfile dp = BaseActivity.fromContext(context).getDeviceProfile(); BaseActivity baseActivity = BaseActivity.fromContext(context); DeviceProfile dp = baseActivity.getDeviceProfile(); boolean showAsGrid = dp.isTablet; boolean parallaxCenterAndAdjacentTask = taskIndex != recentsView.getCurrentPage() && !showAsGrid; Loading Loading @@ -368,7 +369,7 @@ public final class TaskViewUtils { }); if (depthController != null) { out.setFloat(depthController, DEPTH, BACKGROUND_APP.getDepth(context), out.setFloat(depthController, DEPTH, BACKGROUND_APP.getDepth(baseActivity), TOUCH_RESPONSE_INTERPOLATOR); } } Loading src/com/android/launcher3/LauncherState.java +6 −3 Original line number Diff line number Diff line Loading @@ -265,7 +265,8 @@ public abstract class LauncherState implements BaseState<LauncherState> { * * 0 means completely zoomed in, without blurs. 1 is zoomed out, with blurs. */ public final float getDepth(Context context) { public final <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepth(DEVICE_PROFILE_CONTEXT context) { return getDepth(context, BaseDraggingActivity.fromContext(context).getDeviceProfile().isMultiWindowMode); } Loading @@ -275,14 +276,16 @@ public abstract class LauncherState implements BaseState<LauncherState> { * * @see #getDepth(Context). */ public final float getDepth(Context context, boolean isMultiWindowMode) { public final <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepth(DEVICE_PROFILE_CONTEXT context, boolean isMultiWindowMode) { if (isMultiWindowMode) { return 0; } return getDepthUnchecked(context); } protected float getDepthUnchecked(Context context) { protected <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepthUnchecked(DEVICE_PROFILE_CONTEXT context) { return 0f; } Loading src/com/android/launcher3/anim/Interpolators.java +14 −1 Original line number Diff line number Diff line Loading @@ -57,6 +57,10 @@ public class Interpolators { public static final Interpolator DECELERATED_EASE = new PathInterpolator(0, 0, .2f, 1f); public static final Interpolator ACCELERATED_EASE = new PathInterpolator(0.4f, 0, 1f, 1f); /** * The default emphasized interpolator. Used for hero / emphasized movement of content. */ public static final Interpolator EMPHASIZED = createEmphasizedInterpolator(); public static final Interpolator EMPHASIZED_ACCELERATE = new PathInterpolator( 0.3f, 0f, 0.8f, 0.15f); public static final Interpolator EMPHASIZED_DECELERATE = new PathInterpolator( Loading Loading @@ -87,7 +91,6 @@ public class Interpolators { public static final Interpolator TOUCH_RESPONSE_INTERPOLATOR_ACCEL_DEACCEL = v -> ACCEL_DEACCEL.getInterpolation(TOUCH_RESPONSE_INTERPOLATOR.getInterpolation(v)); /** * Inversion of ZOOM_OUT, compounded with an ease-out. */ Loading Loading @@ -218,4 +221,14 @@ public class Interpolators { public static Interpolator reverse(Interpolator interpolator) { return t -> 1 - interpolator.getInterpolation(1 - t); } // Create the default emphasized interpolator private static PathInterpolator createEmphasizedInterpolator() { Path path = new Path(); // Doing the same as fast_out_extra_slow_in path.moveTo(0f, 0f); path.cubicTo(0.05f, 0f, 0.133333f, 0.06f, 0.166666f, 0.4f); path.cubicTo(0.208333f, 0.82f, 0.25f, 1f, 1f, 1f); return new PathInterpolator(path); } } Loading
quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java +3 −4 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ package com.android.launcher3.taskbar.allapps; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.anim.Interpolators.AGGRESSIVE_EASE; import static com.android.systemui.animation.Interpolators.EMPHASIZED_ACCELERATE; import static com.android.launcher3.anim.Interpolators.EMPHASIZED; import android.animation.PropertyValuesHolder; import android.content.Context; Loading Loading @@ -60,7 +59,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarAllApp if (animate) { mOpenCloseAnimator.setValues( PropertyValuesHolder.ofFloat(TRANSLATION_SHIFT, TRANSLATION_SHIFT_OPENED)); mOpenCloseAnimator.setInterpolator(AGGRESSIVE_EASE); mOpenCloseAnimator.setInterpolator(EMPHASIZED); mOpenCloseAnimator.setDuration( ALL_APPS.getTransitionDuration(mActivityContext, true /* isToState */)).start(); } else { Loading @@ -87,7 +86,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarAllApp @Override protected Interpolator getIdleInterpolator() { return EMPHASIZED_ACCELERATE; return EMPHASIZED; } @Override Loading
quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java +23 −7 Original line number Diff line number Diff line Loading @@ -16,14 +16,17 @@ package com.android.launcher3.uioverrides.states; import static com.android.launcher3.anim.Interpolators.DEACCEL_2; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_ALLAPPS; import android.content.Context; import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile.DeviceProfileListenable; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.util.Themes; /** Loading @@ -41,9 +44,9 @@ public class AllAppsState extends LauncherState { @Override public <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfileListenable> int getTransitionDuration(DEVICE_PROFILE_CONTEXT context, boolean isToState) { return !context.getDeviceProfile().isTablet && isToState ? 600 : isToState ? 500 : 300; return context.getDeviceProfile().isTablet ? 500 : isToState ? 600 : 300; } @Override Loading Loading @@ -77,11 +80,24 @@ public class AllAppsState extends LauncherState { } @Override protected float getDepthUnchecked(Context context) { protected <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepthUnchecked(DEVICE_PROFILE_CONTEXT context) { if (context.getDeviceProfile().isTablet) { // The goal is to set wallpaper to zoom at workspaceContentScale when in AllApps. // When depth is 0, wallpaper zoom is set to maxWallpaperScale. // When depth is 1, wallpaper zoom is set to 1. // For depth to achieve zoom set to maxWallpaperScale * workspaceContentScale: float maxWallpaperScale = context.getResources().getFloat( com.android.internal.R.dimen.config_wallpaperMaxScale); return Utilities.mapToRange( maxWallpaperScale * context.getDeviceProfile().workspaceContentScale, maxWallpaperScale, 1f, 0f, 1f, LINEAR); } else { // The scrim fades in at approximately 50% of the swipe gesture. // This means that the depth should be greater than 1, in order to fully zoom out. return 2f; } } @Override public PageAlphaProvider getWorkspacePageAlphaProvider(Launcher launcher) { Loading
quickstep/src/com/android/quickstep/TaskViewUtils.java +3 −2 Original line number Diff line number Diff line Loading @@ -195,7 +195,8 @@ public final class TaskViewUtils { int taskIndex = recentsView.indexOfChild(v); Context context = v.getContext(); DeviceProfile dp = BaseActivity.fromContext(context).getDeviceProfile(); BaseActivity baseActivity = BaseActivity.fromContext(context); DeviceProfile dp = baseActivity.getDeviceProfile(); boolean showAsGrid = dp.isTablet; boolean parallaxCenterAndAdjacentTask = taskIndex != recentsView.getCurrentPage() && !showAsGrid; Loading Loading @@ -368,7 +369,7 @@ public final class TaskViewUtils { }); if (depthController != null) { out.setFloat(depthController, DEPTH, BACKGROUND_APP.getDepth(context), out.setFloat(depthController, DEPTH, BACKGROUND_APP.getDepth(baseActivity), TOUCH_RESPONSE_INTERPOLATOR); } } Loading
src/com/android/launcher3/LauncherState.java +6 −3 Original line number Diff line number Diff line Loading @@ -265,7 +265,8 @@ public abstract class LauncherState implements BaseState<LauncherState> { * * 0 means completely zoomed in, without blurs. 1 is zoomed out, with blurs. */ public final float getDepth(Context context) { public final <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepth(DEVICE_PROFILE_CONTEXT context) { return getDepth(context, BaseDraggingActivity.fromContext(context).getDeviceProfile().isMultiWindowMode); } Loading @@ -275,14 +276,16 @@ public abstract class LauncherState implements BaseState<LauncherState> { * * @see #getDepth(Context). */ public final float getDepth(Context context, boolean isMultiWindowMode) { public final <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepth(DEVICE_PROFILE_CONTEXT context, boolean isMultiWindowMode) { if (isMultiWindowMode) { return 0; } return getDepthUnchecked(context); } protected float getDepthUnchecked(Context context) { protected <DEVICE_PROFILE_CONTEXT extends Context & DeviceProfile.DeviceProfileListenable> float getDepthUnchecked(DEVICE_PROFILE_CONTEXT context) { return 0f; } Loading
src/com/android/launcher3/anim/Interpolators.java +14 −1 Original line number Diff line number Diff line Loading @@ -57,6 +57,10 @@ public class Interpolators { public static final Interpolator DECELERATED_EASE = new PathInterpolator(0, 0, .2f, 1f); public static final Interpolator ACCELERATED_EASE = new PathInterpolator(0.4f, 0, 1f, 1f); /** * The default emphasized interpolator. Used for hero / emphasized movement of content. */ public static final Interpolator EMPHASIZED = createEmphasizedInterpolator(); public static final Interpolator EMPHASIZED_ACCELERATE = new PathInterpolator( 0.3f, 0f, 0.8f, 0.15f); public static final Interpolator EMPHASIZED_DECELERATE = new PathInterpolator( Loading Loading @@ -87,7 +91,6 @@ public class Interpolators { public static final Interpolator TOUCH_RESPONSE_INTERPOLATOR_ACCEL_DEACCEL = v -> ACCEL_DEACCEL.getInterpolation(TOUCH_RESPONSE_INTERPOLATOR.getInterpolation(v)); /** * Inversion of ZOOM_OUT, compounded with an ease-out. */ Loading Loading @@ -218,4 +221,14 @@ public class Interpolators { public static Interpolator reverse(Interpolator interpolator) { return t -> 1 - interpolator.getInterpolation(1 - t); } // Create the default emphasized interpolator private static PathInterpolator createEmphasizedInterpolator() { Path path = new Path(); // Doing the same as fast_out_extra_slow_in path.moveTo(0f, 0f); path.cubicTo(0.05f, 0f, 0.133333f, 0.06f, 0.166666f, 0.4f); path.cubicTo(0.208333f, 0.82f, 0.25f, 1f, 1f, 1f); return new PathInterpolator(path); } }