mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-03 09:26:51 +00:00
Don't stash immediately when drag was canceled
Instead, keep the taskbar open for the normal timeout. Test: Drag an app from taskbar and drop back in taskbar, ensure taskbar stays open until 5 second timeout; Drag an app from taskbar and drop into split screen, ensure taskbar stashes immediately Flag: ENABLE_TRANSIENT_TASKBAR true Fixes: 275019813 Change-Id: I06ca0eccbfe313dbae8f6d96c7c09bb659f6a27b
This commit is contained in:
@@ -457,9 +457,12 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im
|
||||
mControllers.taskbarAutohideSuspendController.updateFlag(
|
||||
TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_DRAGGING, false);
|
||||
mActivity.onDragEnd();
|
||||
// Note, this must be done last to ensure no AutohideSuspendFlags are active, as that
|
||||
// will prevent us from stashing until the timeout.
|
||||
mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
|
||||
if (mReturnAnimator == null) {
|
||||
// Upon successful drag, immediately stash taskbar.
|
||||
// Note, this must be done last to ensure no AutohideSuspendFlags are active, as
|
||||
// that will prevent us from stashing until the timeout.
|
||||
mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -493,8 +496,9 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im
|
||||
callOnDragEnd();
|
||||
dragView.remove();
|
||||
dragView.clearAnimation();
|
||||
// Do this after callOnDragEnd(), because we use mReturnAnimator != null to
|
||||
// imply the drag was canceled rather than successful.
|
||||
mReturnAnimator = null;
|
||||
|
||||
}
|
||||
});
|
||||
mReturnAnimator.start();
|
||||
@@ -556,6 +560,8 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im
|
||||
syncGroup.add(viewRoot, null /* runnable */);
|
||||
syncGroup.addTransaction(transaction);
|
||||
syncGroup.markSyncReady();
|
||||
// Do this after maybeOnDragEnd(), because we use mReturnAnimator != null to imply
|
||||
// the drag was canceled rather than successful.
|
||||
mReturnAnimator = null;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user