Loading core/java/android/provider/Settings.java +7 −0 Original line number Diff line number Diff line Loading @@ -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!) * Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +33 −23 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); Loading Loading @@ -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++) { Loading @@ -114,8 +126,6 @@ public class NotificationPanelView extends PanelView { mOkToFlip = false; } } break; } } return mHandleView.dispatchTouchEvent(event); } Loading Loading
core/java/android/provider/Settings.java +7 −0 Original line number Diff line number Diff line Loading @@ -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!) * Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +33 −23 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); Loading Loading @@ -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++) { Loading @@ -114,8 +126,6 @@ public class NotificationPanelView extends PanelView { mOkToFlip = false; } } break; } } return mHandleView.dispatchTouchEvent(event); } Loading