diff options
| author | 2024-01-25 17:21:55 +0000 | |
|---|---|---|
| committer | 2024-02-01 18:29:45 +0000 | |
| commit | b811f00c3b75b42efa56411816bee4ec70412d34 (patch) | |
| tree | e81594f74ee97c991ecc1c0c786b0e13d17fe160 | |
| parent | cebc09237d17e700d80c10b45ca63de722441d39 (diff) | |
Fix NSSL falsing in all builds
Touch events were getting processed multiple times by the FalsingManager, leading to incorrect falsing and the UI being reset. These fixes ensure each touch gets processed once, and by the correct owner.
This is a followup of I228090b917a25a7d1ac459c10f0a1d98167d435a that removes the flag guarding so that this change applies to all builds.
Flag: NONE
Test: manual; observe falsing logs when swiping on shade
Fixes: 316551193
Change-Id: Ieaecd1272cf297f23dce6f72b52fd4912a1a0a66
3 files changed, 15 insertions, 3 deletions
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig index 854f6b991e3e..a7d6bfba7861 100644 --- a/packages/SystemUI/aconfig/systemui.aconfig +++ b/packages/SystemUI/aconfig/systemui.aconfig @@ -67,6 +67,16 @@ flag { } flag { + name: "nssl_falsing_fix" + namespace: "systemui" + description: "Minor touch changes to prevent falsing errors in NSSL" + bug: "316551193" + metadata { + purpose: PURPOSE_BUGFIX + } +} + +flag { name: "refactor_get_current_user" namespace: "systemui" description: "KeyguardUpdateMonitor.getCurrentUser() was providing outdated results." diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt index 7f8be1cc7e55..ef5026538216 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt @@ -14,6 +14,7 @@ import androidx.annotation.FloatRange import androidx.annotation.VisibleForTesting import com.android.systemui.Dumpable import com.android.systemui.ExpandHelper +import com.android.systemui.Flags.nsslFalsingFix import com.android.systemui.Gefingerpoken import com.android.systemui.biometrics.UdfpsKeyguardViewControllerLegacy import com.android.systemui.classifier.Classifier @@ -889,7 +890,7 @@ class DragDownHelper( isDraggingDown = false isTrackpadReverseScroll = false shadeRepository.setLegacyLockscreenShadeTracking(false) - if (KeyguardShadeMigrationNssl.isEnabled) { + if (nsslFalsingFix() || KeyguardShadeMigrationNssl.isEnabled) { return true } } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java index eaff8a034398..a2ff406b9599 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java @@ -21,8 +21,9 @@ import static android.service.notification.NotificationStats.DISMISS_SENTIMENT_N import static com.android.app.animation.Interpolators.STANDARD; import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_SCROLL_FLING; -import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME; import static com.android.server.notification.Flags.screenshareNotificationHiding; +import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME; +import static com.android.systemui.Flags.nsslFalsingFix; import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.OnEmptySpaceClickListener; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.OnOverscrollTopChangedListener; @@ -2054,7 +2055,7 @@ public class NotificationStackScrollLayoutController implements Dumpable { } boolean horizontalSwipeWantsIt = false; boolean scrollerWantsIt = false; - if (KeyguardShadeMigrationNssl.isEnabled()) { + if (nsslFalsingFix() || KeyguardShadeMigrationNssl.isEnabled()) { // Reverse the order relative to the else statement. onScrollTouch will reset on an // UP event, causing horizontalSwipeWantsIt to be set to true on vertical swipes. if (mLongPressedView == null && !mView.isBeingDragged() |