Remove interception capabilities in STL drag handler
This CL removes the interception capabilities of SceneTransitionLayout: we won't be able to simply put a finger down during a transition to stop it, and we instead now have to drag the touch slop to start a new transition. Moreover, nested scrollables now have priority even during a transition and will consume scroll events first before sending unconsumed events to the nested scroll connection/STL draggable. This capability was a nice-to-have that we added when STL was introduced from the start. It has a high cost in terms of cognitive overload when thinking about the participation of STL in the nested scroll chain, and the gains (if any) are not obvious. Moreover, any complexity added in the event chaining/interceptions can introduce subtle gesture bugs that are hard to debug. For instance, b/379847834 seems to be mostly fixed with this change, *probably* because of the removed pre-scroll interception. In the worst case, we can still revert back this CL should we realize that we really need these interception capabilities. Because we don't intercept transitions, we also don't need to support the "accelerated swipes" anymore. Bug: 379281707 Bug: 379847834 Test: atest PlatformSceneTransitionLayouTests Test: Manual, played with flexiglass and Communal Flag: com.android.systemui.scene_container Change-Id: I3128bfd6ec0f960b8b57ffb1b55908b4cc2c2ce7
Loading
Please register or sign in to comment