Reland slow gesture callback handling

Now that b/329324086 has been fixed, we can be more certain that launcher always gets a signal to clean up from WM.

- Relanding original fix for b/285636175 with some additional error checking
- We will now check whether the recents animation start is pending on ACTION_UP
- We will now block entire swipes to prevent sending additional inputs an input consumer while the recents animation start is pending
- We will now only stop blocking inputs on ACTION_DOWN

Flag: LEGACY ENABLE_HANDLE_DELAYED_GESTURE_CALLBACKS TEAMFOOD
Bug: 329324927
Fixes: 285636175
Test: added a delay in RecentsAnimationCallbacks.onAnimationStart and attempted several rapid gestures
Change-Id: I9805114da34bf44e6b28c2a8a665e4cca88904c2
(cherry picked from commit f3f0e28762)
Merged-In: I9805114da34bf44e6b28c2a8a665e4cca88904c2
This commit is contained in:
Schneider Victor-tulias
2024-04-03 15:24:32 -04:00
parent 4a01d58d9a
commit c30642b97f
10 changed files with 162 additions and 34 deletions
@@ -41,6 +41,7 @@ import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.system.InteractionJankMonitorWrapper;
import com.android.systemui.shared.system.RecentsAnimationControllerCompat;
import java.io.PrintWriter;
import java.util.function.Consumer;
/**
@@ -267,4 +268,14 @@ public class RecentsAnimationController {
public boolean getFinishTargetIsLauncher() {
return mFinishTargetIsLauncher;
}
public void dump(String prefix, PrintWriter pw) {
pw.println(prefix + "RecentsAnimationController:");
pw.println(prefix + "\tmAllowMinimizeSplitScreen=" + mAllowMinimizeSplitScreen);
pw.println(prefix + "\tmUseLauncherSysBarFlags=" + mUseLauncherSysBarFlags);
pw.println(prefix + "\tmSplitScreenMinimized=" + mSplitScreenMinimized);
pw.println(prefix + "\tmFinishRequested=" + mFinishRequested);
pw.println(prefix + "\tmFinishTargetIsLauncher=" + mFinishTargetIsLauncher);
}
}