packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/SwipeToDismissInteractor.kt
0 → 100644
+66
−0
+3
−0
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
In addition to using flows + recommended architecture, the refactored code exclusively uses ACTION_UP as the trigger to start a transition to GONE (which ultimately dismisses the keyguard), if swipe gesture conditions are met. This is a change to the existing behavior, which relies entirely on swipe distance to show the surface behind. That logic allows the user to swipe back and forth between the surface behind and the lockscreen without actually unlocking the device. While this has some visual benefit for users doing long swipes without lifting their finger (they never see a blank wallpaper), it can also be confusing to users that they see unlocked app content before actually unlocking (this has been filed as a bug). More importantly, the existing logic results in a large number of edge cases in keyguard + remote animation code, and I don't believe bringing those over to the refactored code for marginal benefit is worthwhile. The refactor adds a SpringAnimation which incorporates swipe velocity into the surface behind animation, so this is a visual improvement for the majority of swipe types. Also, improve tests along the way to use Kosmos. Test: atest SystemUITests Bug: 278086361 Flag: ACONFIG com.android.systemui.keyguard_wm_state_refactor DEVELOPMENT Change-Id: I482191f8913849a9f3f2eb13f8b9c05cdb1ef414