diff options
author | Tony Wickham <twickham@google.com> | 2020-12-23 16:12:18 -0600 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2021-01-29 21:22:00 +0000 |
commit | d683d98b34ffa75111f556f3b6950e89ba1fd13c (patch) | |
tree | 3f6856fbff608c15bf2ba9ad26230a32ec812871 /src | |
parent | d4629656980f3d8d3b62ca50c784c27b137060fc (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.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/states/SpringLoadedState.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/states/StateAnimationConfig.java | 8 |
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]; |