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

Commit 2e3048f4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Register side swipes on the QS with the FalsingManager." into sc-dev am: a6950d1f

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14129010

Change-Id: I5f2ceba6ecb57982dd51cf727cb5914161d8b70b
parents a125880e a6950d1f
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ public abstract class Classifier {
    public static final int QS_COLLAPSE = 12;
    public static final int UDFPS_AUTHENTICATION = 13;
    public static final int DISABLED_UDFPS_AFFORDANCE = 14;
    public static final int QS_SWIPE = 15;

    @IntDef({
            QUICK_SETTINGS,
@@ -59,7 +60,8 @@ public abstract class Classifier {
            QS_COLLAPSE,
            BRIGHTNESS_SLIDER,
            UDFPS_AUTHENTICATION,
            DISABLED_UDFPS_AFFORDANCE
            DISABLED_UDFPS_AFFORDANCE,
            QS_SWIPE
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface InteractionType {}
+2 −1
Original line number Diff line number Diff line
@@ -155,7 +155,8 @@ class DistanceClassifier extends FalsingClassifier {
                || interactionType == SHADE_DRAG
                || interactionType == QS_COLLAPSE
                || interactionType == Classifier.UDFPS_AUTHENTICATION
                || interactionType == Classifier.DISABLED_UDFPS_AFFORDANCE) {
                || interactionType == Classifier.DISABLED_UDFPS_AFFORDANCE
                || interactionType == Classifier.QS_SWIPE) {
            return Result.passed(0);
        }

+2 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.classifier;
import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.BRIGHTLINE_FALSING_PROXIMITY_PERCENT_COVERED_THRESHOLD;
import static com.android.systemui.classifier.Classifier.BRIGHTNESS_SLIDER;
import static com.android.systemui.classifier.Classifier.QS_COLLAPSE;
import static com.android.systemui.classifier.Classifier.QS_SWIPE;
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;

import android.provider.DeviceConfig;
@@ -118,7 +119,7 @@ class ProximityClassifier extends FalsingClassifier {
            @Classifier.InteractionType int interactionType,
            double historyBelief, double historyConfidence) {
        if (interactionType == QUICK_SETTINGS || interactionType == BRIGHTNESS_SLIDER
                || interactionType == QS_COLLAPSE) {
                || interactionType == QS_COLLAPSE || interactionType == QS_SWIPE) {
            return Result.passed(0);
        }

+4 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS;
import static com.android.systemui.classifier.Classifier.NOTIFICATION_DRAG_DOWN;
import static com.android.systemui.classifier.Classifier.PULSE_EXPAND;
import static com.android.systemui.classifier.Classifier.QS_COLLAPSE;
import static com.android.systemui.classifier.Classifier.QS_SWIPE;
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
import static com.android.systemui.classifier.Classifier.RIGHT_AFFORDANCE;
import static com.android.systemui.classifier.Classifier.SHADE_DRAG;
@@ -85,6 +86,9 @@ public class TypeClassifier extends FalsingClassifier {
            case QS_COLLAPSE:
                wrongDirection = !vertical || !up;
                break;
            case QS_SWIPE:
                wrongDirection = vertical;
                break;
            default:
                wrongDirection = true;
                break;
+19 −1
Original line number Diff line number Diff line
@@ -16,12 +16,14 @@

package com.android.systemui.qs;

import static com.android.systemui.classifier.Classifier.QS_SWIPE;
import static com.android.systemui.media.dagger.MediaModule.QS_PANEL;
import static com.android.systemui.qs.QSPanel.QS_SHOW_BRIGHTNESS;
import static com.android.systemui.qs.dagger.QSFragmentModule.QS_USING_MEDIA_PLAYER;

import android.annotation.NonNull;
import android.content.res.Configuration;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;

@@ -31,6 +33,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.media.MediaHost;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.customize.QSCustomizerController;
@@ -58,6 +61,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final TunerService mTunerService;
    private final QSCustomizerController mQsCustomizerController;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final FalsingManager mFalsingManager;
    private final BrightnessController mBrightnessController;
    private final BrightnessSlider.Factory mBrightnessSliderFactory;
    private final BrightnessSlider mBrightnessSlider;
@@ -81,6 +85,16 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final BrightnessMirrorController.BrightnessMirrorListener mBrightnessMirrorListener =
            mirror -> updateBrightnessMirror();

    private View.OnTouchListener mTileLayoutTouchListener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getActionMasked() == MotionEvent.ACTION_UP) {
                mFalsingManager.isFalseTouch(QS_SWIPE);
            }
            return false;
        }
    };

    @Inject
    QSPanelController(QSPanel view, QSSecurityFooter qsSecurityFooter, TunerService tunerService,
            QSTileHost qstileHost, QSCustomizerController qsCustomizerController,
@@ -89,7 +103,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
            BrightnessSlider.Factory brightnessSliderFactory,
            BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager,
            FeatureFlags featureFlags) {
        super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
                metricsLogger, uiEventLogger, qsLogger, dumpManager, featureFlags);
@@ -97,6 +111,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mTunerService = tunerService;
        mQsCustomizerController = qsCustomizerController;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mFalsingManager = falsingManager;
        mQsSecurityFooter.setHostEnvironment(qstileHost);
        mBrightnessSliderFactory = brightnessSliderFactory;

@@ -133,6 +148,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        if (mBrightnessMirrorController != null) {
            mBrightnessMirrorController.addCallback(mBrightnessMirrorListener);
        }

        ((PagedTileLayout) mView.createRegularTileLayout())
                .setOnTouchListener(mTileLayoutTouchListener);
    }

    @Override
Loading