summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2020-12-23 16:12:18 -0600
committerTony Wickham <twickham@google.com>2021-01-29 21:22:00 +0000
commitd683d98b34ffa75111f556f3b6950e89ba1fd13c (patch)
tree3f6856fbff608c15bf2ba9ad26230a32ec812871 /src
parentd4629656980f3d8d3b62ca50c784c27b137060fc (diff)
Animate taskbar background alpha and visibility alpha
Setup codepath to animate the Taskbar when going to and from Launcher, primarily by listening for pause/resume signals but also hints from gesture nav and AppToOverviewAnimationProvider. Additionally, add TaskbarStateHandler to listen for Launcher state changes if Taskbar is enabled. Combined, the end behavior is: - Background alpha is 0 when Launcher is resumed, and 1 when Launcher is paused (we can make this animation more interesting later). - Taskbar is always visible when Launcher is paused, otherwise its visibility is determined by multiple factors: LauncherState and whether the IME is showing. Bug: 171917176 Change-Id: I7856fc979931c9d12d714dee11d179fd1b5a6968
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherState.java3
-rw-r--r--src/com/android/launcher3/states/SpringLoadedState.java5
-rw-r--r--src/com/android/launcher3/states/StateAnimationConfig.java8
3 files changed, 13 insertions, 3 deletions
diff --git a/src/com/android/launcher3/LauncherState.java b/src/com/android/launcher3/LauncherState.java
index 79476fc536..f9a1ded355 100644
--- a/src/com/android/launcher3/LauncherState.java
+++ b/src/com/android/launcher3/LauncherState.java
@@ -57,6 +57,7 @@ public abstract class LauncherState implements BaseState<LauncherState> {
public static final int ALL_APPS_CONTENT = 1 << 4;
public static final int VERTICAL_SWIPE_INDICATOR = 1 << 5;
public static final int OVERVIEW_BUTTONS = 1 << 6;
+ public static final int TASKBAR = 1 << 7;
/** Mask of all the items that are contained in the apps view. */
public static final int APPS_VIEW_ITEM_MASK =
@@ -186,7 +187,7 @@ public abstract class LauncherState implements BaseState<LauncherState> {
}
public int getVisibleElements(Launcher launcher) {
- int flags = HOTSEAT_ICONS | VERTICAL_SWIPE_INDICATOR;
+ int flags = HOTSEAT_ICONS | VERTICAL_SWIPE_INDICATOR | TASKBAR;
if (!FeatureFlags.ENABLE_DEVICE_SEARCH.get()
&& !launcher.getDeviceProfile().isVerticalBarLayout()) {
flags |= HOTSEAT_SEARCH_BOX;
diff --git a/src/com/android/launcher3/states/SpringLoadedState.java b/src/com/android/launcher3/states/SpringLoadedState.java
index 45172b56ef..44bcc34588 100644
--- a/src/com/android/launcher3/states/SpringLoadedState.java
+++ b/src/com/android/launcher3/states/SpringLoadedState.java
@@ -90,4 +90,9 @@ public class SpringLoadedState extends LauncherState {
public float getWorkspaceScrimAlpha(Launcher launcher) {
return 0.3f;
}
+
+ @Override
+ public int getVisibleElements(Launcher launcher) {
+ return super.getVisibleElements(launcher) & ~TASKBAR;
+ }
}
diff --git a/src/com/android/launcher3/states/StateAnimationConfig.java b/src/com/android/launcher3/states/StateAnimationConfig.java
index 8b7217709f..ec949ebffd 100644
--- a/src/com/android/launcher3/states/StateAnimationConfig.java
+++ b/src/com/android/launcher3/states/StateAnimationConfig.java
@@ -37,7 +37,8 @@ public class StateAnimationConfig {
PLAY_ATOMIC_OVERVIEW_SCALE,
PLAY_ATOMIC_OVERVIEW_PEEK,
SKIP_OVERVIEW,
- SKIP_DEPTH_CONTROLLER
+ SKIP_DEPTH_CONTROLLER,
+ SKIP_TASKBAR,
})
@Retention(RetentionPolicy.SOURCE)
public @interface AnimationFlags {}
@@ -46,6 +47,7 @@ public class StateAnimationConfig {
public static final int PLAY_ATOMIC_OVERVIEW_PEEK = 1 << 2;
public static final int SKIP_OVERVIEW = 1 << 3;
public static final int SKIP_DEPTH_CONTROLLER = 1 << 4;
+ public static final int SKIP_TASKBAR = 1 << 5;
public long duration;
public boolean userControlled;
@@ -72,6 +74,7 @@ public class StateAnimationConfig {
ANIM_OVERVIEW_MODAL,
ANIM_DEPTH,
ANIM_OVERVIEW_ACTIONS_FADE,
+ ANIM_TASKBAR_FADE,
})
@Retention(RetentionPolicy.SOURCE)
public @interface AnimType {}
@@ -91,8 +94,9 @@ public class StateAnimationConfig {
public static final int ANIM_OVERVIEW_MODAL = 13;
public static final int ANIM_DEPTH = 14;
public static final int ANIM_OVERVIEW_ACTIONS_FADE = 15;
+ public static final int ANIM_TASKBAR_FADE = 16;
- private static final int ANIM_TYPES_COUNT = 16;
+ private static final int ANIM_TYPES_COUNT = 17;
protected final Interpolator[] mInterpolators = new Interpolator[ANIM_TYPES_COUNT];