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

Commit 6797a3e6 authored by nebkat's avatar nebkat
Browse files

SystemUI: Pull down QS if x > 70% width

Change-Id: Ic41d331e8f0166484b124e91a8ed8e904ff38edb
parent 14586324
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2610,6 +2610,13 @@ public final class Settings {
         */
        public static final String QS_DYNAMIC_WIFI = "qs_dyanmic_wifi";

        /**
         * Quick Settings Quick Pulldown
         *
         * @hide
         */
        public static final String QS_QUICK_PULLDOWN = "qs_quick_pulldown";

        /**
         * Use the Notification Power Widget? (Who wouldn't!)
         *
+33 −23
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.provider.Settings;
import android.util.AttributeSet;
import android.util.Slog;
import android.view.MotionEvent;
@@ -30,12 +31,14 @@ import com.android.systemui.statusbar.GestureRecorder;

public class NotificationPanelView extends PanelView {

    Drawable mHandleBar;
    float mHandleBarHeight;
    View mHandleView;
    int mFingers;
    PhoneStatusBar mStatusBar;
    boolean mOkToFlip;
    private static final float STATUS_BAR_SETTINGS_FLIP_PERCENTAGE = 0.3f;

    private Drawable mHandleBar;
    private float mHandleBarHeight;
    private View mHandleView;
    private int mFingers;
    private PhoneStatusBar mStatusBar;
    private boolean mOkToFlip;

    public NotificationPanelView(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -92,12 +95,21 @@ public class NotificationPanelView extends PanelView {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (PhoneStatusBar.SETTINGS_DRAG_SHORTCUT && mStatusBar.mHasFlipSettings) {
            boolean flip = false;
            switch (event.getActionMasked()) {
                case MotionEvent.ACTION_DOWN:
                    mOkToFlip = getExpandedHeight() == 0;
                    if (event.getX(0) > getWidth() * (1.0f - STATUS_BAR_SETTINGS_FLIP_PERCENTAGE) &&
                            Settings.System.getInt(getContext().getContentResolver(),
                                    Settings.System.QS_QUICK_PULLDOWN, 0) != 0) {
                        flip = true;
                    }
                    break;
                case MotionEvent.ACTION_POINTER_DOWN:
                    if (mOkToFlip) {
                    flip = true;
                    break;
            }
            if (mOkToFlip && flip) {
                float miny = event.getY(0);
                float maxy = miny;
                for (int i=1; i<event.getPointerCount(); i++) {
@@ -114,8 +126,6 @@ public class NotificationPanelView extends PanelView {
                    mOkToFlip = false;
                }
            }
                    break;
            }
        }
        return mHandleView.dispatchTouchEvent(event);
    }