mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-03 17:36:49 +00:00
Initial commit of taskbar stashing
- Added StashedHandleViewController to provide properties such as ViewOutlineProvider to animate the handle that's shown in place of taskbar while it's stashed - Added TaskbarStashController to coordinate the stashed state, including orchestrating the animation across taskbar controllers - Added TaskbarStashInput consumer to detect long press in the nav region when taskbar is stashed Behavior: - Long pressing taskbar background animates to the stashed state by morphing the TaskbarView into the stashed handle view and offsetting the background offscreen - We persist the stashed state across app launches and reboot; to unstash, long press the stashed handle - We also visually unstash when going back home Test: long press tasbkar background when in an app to stash it, long press the resulting stashed handle to unstash; while stashed, swipe up to home to also unstash until launching another app Bug: 189503603 Change-Id: I698eff785388dff1ef717c76879719d6af236c2d
This commit is contained in:
@@ -39,6 +39,8 @@ public class TaskbarDragLayerController {
|
||||
// Alpha properties for taskbar background.
|
||||
private final AnimatedFloat mBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha);
|
||||
private final AnimatedFloat mBgNavbar = new AnimatedFloat(this::updateBackgroundAlpha);
|
||||
// Translation property for taskbar background.
|
||||
private final AnimatedFloat mBgOffset = new AnimatedFloat(this::updateBackgroundOffset);
|
||||
|
||||
// Initialized in init.
|
||||
private TaskbarControllers mControllers;
|
||||
@@ -78,10 +80,18 @@ public class TaskbarDragLayerController {
|
||||
return mBgNavbar;
|
||||
}
|
||||
|
||||
public AnimatedFloat getTaskbarBackgroundOffset() {
|
||||
return mBgOffset;
|
||||
}
|
||||
|
||||
private void updateBackgroundAlpha() {
|
||||
mTaskbarDragLayer.setTaskbarBackgroundAlpha(Math.max(mBgNavbar.value, mBgTaskbar.value));
|
||||
}
|
||||
|
||||
private void updateBackgroundOffset() {
|
||||
mTaskbarDragLayer.setTaskbarBackgroundOffset(mBgOffset.value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Callbacks for {@link TaskbarDragLayer} to interact with its controller.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user