summaryrefslogtreecommitdiff
path: root/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
AgeCommit message (Collapse)Author
2021-12-14Ensure some taskbar states are initialized correctlyWinson Chung
- Update FLAG_IN_APP to account for setup state to ensure that the stashed state is correct. This needs to be done in the stash controller since SUW is the home activity on startup and the launcher state controller will not be initialized until after SUW finishes - Initialize the launcher state and resumed flags in case Launcher restarts while another app is resumed Bug: 204384193 Test: Run through SUW, ensure the background is not visible Change-Id: I5ce061ad16e79226c8428339ccd0b5ac55c07205
2021-12-10Fix taskbar being emptyTony Wickham
We set mIconAlignmentForResumedState in endGestureStateOverride(), but then we call applyState() which might aniamte mIAFRS to a different value. To avoid this, set it after applyState() instead. Specific repro: 1. Open Calculator 2. Go to Overview 3. Dismiss Calculator 3a. This calls endGestureStateOverride() because the running tile ends 3b. Previously, we called mIAFRS.updateValue(1) but then applyState() animated it to 0 because we're still in Overview which is an unstashed state. Now the animation to 0 is before setting explicitly to 1. 4. Go home (this sets mIconAlignmentForLauncherState = 1) 5. Open Calculator again. Previously, mIAFRS was already 0 so animating to 0 was ignored. Now, mIAFRS starts at 1 (which is right since launcher is resumed). Test: see above Fixes: 210109500 Change-Id: I13f40908f8636291d63ef4b885ac9d08bbf4d393
2021-12-07Improve quick switch from home to taskbarTony Wickham
- Add LauncherState#isTaskbarAlignedWithHotseat() which defaults to !isTaskbarStashed(), but is always false for quick switch from home - Replaced FLAG_TRANSITION_STATE_START_STASHED and FLAG_TRANSITION_STATE_COMMITTED_STASHED with FLAG_STATE_TRANSITION_RUNNING and a reference to mLauncherState. STATE_START is equivalent to TRANSITION_RUNNING changing to true, and STATE_COMMITTED is equivalent to TRANSITION_RUNNING changing to false. Then can get details from the state such as whether taskbar is stashed and icon alignment from mLauncherState Test: quick switch from home, both with taskbar stashed in apps and not Fixes: 194728611 Bug: 204657916 Change-Id: I6cf84ec73a4036e14cc7268667c6f62100884c27
2021-12-06Cleanup some taskbar/hotseat handoff issuesTony Wickham
- Clearly distinguish Home <-> App icon alignment (ForResumedState and ForGestureState) from Home <-> Home states (ForLauncherState) by renaming onIconAlignmentRatioChanged() to onIconAlignmentRatioChangedForAppAndHomeTransition (for the former) - Make sure initial state is properly applied by treating all flags as changed - onIconAlignmentRatioChangedForStateTransition only runs when launcher is resumed (fixes 208648294) - Animate taskbar background alpha when going between home and app, separate from icon alignment (bug: 204657916) - Only copy hotseat's alpha to taskbar when hotseat is originally visible (also bug: 204657916) Test: Open an app on small screen, open large screen and ensure taskbar stays at the bottom instead of aligning with non-present hotseat (bug: 208648294) Test: Swipe up and down on home scren, ensure taskbar background never appears and there's no jump between taskbar and hotseat Change-Id: Iea59965118f2bdbd8ce49279f76fb01fbd61f60b
2021-12-06Fix taskbar stash misalignment when going from app to overviewTony Wickham
Keep taskbar unaligned with hotseat if we're stashing anyway Test: Swipe up from app with taskbar present to overview, check frame by frame to ensure icons morph directly into the handle instead of above it Fixes: 208697792 Change-Id: If3238286b3383e75eb71fbd3b97d34bb3b44340b
2021-12-02Fix taskbar jumping when going homeTony Wickham
- Set resumed state immediately when finishing recents controller to launcher, otherwise there's a race where we start animating gesture state to 0 before animating resumed state to 1, which causes the jump in the bug Test: Swipe from app to home 10 times, no jump Fixes: 203725820 Change-Id: Ie8a1add29902a9961ba4d7861ba5424ab656f1c8
2021-12-01Remove TaskbarLauncherStateController#setIconAlpha()Tony Wickham
Instead use setTaskbarViewVisible directly. Now that we stash when going to overview, we shouldn't have any launcher state where we need to fade out TaskbarView icons Test: quick switch from home (follow up CL) Bug: 194728611 Change-Id: I03e1fa4037b7e8a08494f6b7e065d144c4bc4e1b
2021-11-16Fix memory leak in TaskbarLauncherStateControllerTracy Zhou
mIconAlphaForHome.setConsumer(null) in onDestroy() Test: Run BinderTests#testSwitchToOverview locally Bug: 206633573 Change-Id: I912cd66097b113ee84197f23a5862e333d7e63f2
2021-11-09Track LauncherState, RecentsAnimation, resumed state for task bar in one placeTracy Zhou
TODO: - Consider delaying animating task bar to stashed towards all apps state until user releasing their finger (tho in this change heuristic is applied for stashing and unstashing respectively) - Further consolidate some animation logic Bug: 204220602 Test: manual Change-Id: I58b4d035fcf65a9f5c68e69c129eae95b89b1c4a