Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 051046b1 authored by Lucas Silva's avatar Lucas Silva
Browse files

Implement falsing protections for hub swipe

Checks for false touches when opening the hub from the lockscreen.

Fixes: 336330508
Test: atest CommunalViewModelTest
Flag: com.android.systemui.glanceable_hub_v2
Change-Id: I130d244e85938959dbc298aa0ddca65bda9eb38e
parent 815fdd84
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ fun CommunalContainer(
    val state: MutableSceneTransitionLayoutState =
        rememberMutableSceneTransitionLayoutState(
            initialScene = currentSceneKey,
            canChangeScene = { _ -> viewModel.canChangeScene() },
            canChangeScene = { toScene -> viewModel.canChangeScene(toScene) },
            transitions = if (viewModel.v2FlagEnabled()) sceneTransitionsV2 else sceneTransitions,
        )

+180 −177

File changed.

Preview size limit exceeded, changes collapsed.

+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ public abstract class Classifier {
    public static final int QS_SWIPE_NESTED = 17;
    public static final int MEDIA_SEEKBAR = 18;
    public static final int ALTERNATE_BOUNCER_SWIPE = 19;
    public static final int GLANCEABLE_HUB_SWIPE = 20;

    @IntDef({
            QUICK_SETTINGS,
@@ -67,6 +68,7 @@ public abstract class Classifier {
            BACK_GESTURE,
            MEDIA_SEEKBAR,
            ALTERNATE_BOUNCER_SWIPE,
            GLANCEABLE_HUB_SWIPE,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface InteractionType {}
+3 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.BRIGHT
import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.BRIGHTLINE_FALSING_DISTANCE_VERTICAL_SWIPE_THRESHOLD_IN;
import static com.android.systemui.classifier.Classifier.ALTERNATE_BOUNCER_SWIPE;
import static com.android.systemui.classifier.Classifier.BRIGHTNESS_SLIDER;
import static com.android.systemui.classifier.Classifier.GLANCEABLE_HUB_SWIPE;
import static com.android.systemui.classifier.Classifier.MEDIA_SEEKBAR;
import static com.android.systemui.classifier.Classifier.QS_COLLAPSE;
import static com.android.systemui.classifier.Classifier.QS_SWIPE_NESTED;
@@ -161,7 +162,8 @@ class DistanceClassifier extends FalsingClassifier {
                || interactionType == Classifier.UDFPS_AUTHENTICATION
                || interactionType == Classifier.QS_SWIPE_SIDE
                || interactionType == QS_SWIPE_NESTED
                || interactionType == ALTERNATE_BOUNCER_SWIPE) {
                || interactionType == ALTERNATE_BOUNCER_SWIPE
                || interactionType == GLANCEABLE_HUB_SWIPE) {
            return Result.passed(0);
        }

+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ package com.android.systemui.classifier;
import static com.android.systemui.classifier.Classifier.ALTERNATE_BOUNCER_SWIPE;
import static com.android.systemui.classifier.Classifier.BOUNCER_UNLOCK;
import static com.android.systemui.classifier.Classifier.BRIGHTNESS_SLIDER;
import static com.android.systemui.classifier.Classifier.GLANCEABLE_HUB_SWIPE;
import static com.android.systemui.classifier.Classifier.LEFT_AFFORDANCE;
import static com.android.systemui.classifier.Classifier.MEDIA_SEEKBAR;
import static com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS;
@@ -72,6 +73,7 @@ public class TypeClassifier extends FalsingClassifier {
                wrongDirection = vertical;
                break;
            case NOTIFICATION_DISMISS:
            case GLANCEABLE_HUB_SWIPE:
                wrongDirection = vertical;
                break;
            case ALTERNATE_BOUNCER_SWIPE:
Loading