mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 08:56:55 +00:00
Cleanup swipe detector in case of double cancel
We manually dispatch cancel when returning to the previous state in onDragEnd(), but could end in a bad state if getting a second, external cancel (e.g. by pressing home). Thus, we restore the onCancelListener after manually dispatching cancel. Bug: 79258868 Change-Id: Idc4c33cede1d8af1829a4a744b9348d379bcf8f7
This commit is contained in:
@@ -244,8 +244,13 @@ public abstract class AbstractStateChangeTouchController
|
||||
endProgress - Math.max(progress, 0));
|
||||
}
|
||||
} else {
|
||||
// Let the state manager know that the animation didn't go to the target state,
|
||||
// but don't cancel ourselves (we already clean up when the animation completes).
|
||||
Runnable onCancel = mCurrentAnimation.getOnCancelRunnable();
|
||||
mCurrentAnimation.setOnCancelRunnable(null);
|
||||
mCurrentAnimation.dispatchOnCancel();
|
||||
mCurrentAnimation.setOnCancelRunnable(onCancel);
|
||||
|
||||
endProgress = 0;
|
||||
if (progress <= 0) {
|
||||
duration = 0;
|
||||
|
||||
Reference in New Issue
Block a user