summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-08-24 09:24:09 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-24 09:24:10 -0700
commite370c468221bfef8f73c20f9d013cd22f06e2da7 (patch)
treebd34555b60fe36baa84a73425917835d2b13351b
parent54f4f91d7c519df0a913528d05ac26372fb2d7e2 (diff)
parentb8ea2f59e2727020ac211d5b6f6d421314546439 (diff)
Merge "[phones] Only allow double-flick opening of the quicksettings panel." into jb-mr1-dev
-rw-r--r--packages/SystemUI/res/values/dimens.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java17
2 files changed, 18 insertions, 2 deletions
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index b5f1a3325697..94465e2f3890 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -164,6 +164,9 @@
<integer name="notification_panel_layout_gravity">0x37</integer>
<integer name="settings_panel_layout_gravity">0x37</integer>
+ <!-- Quick settings panels minimum fling open target width. -->
+ <dimen name="settings_panel_fling_gutter">90dp</dimen>
+
<!-- Height of the carrier/wifi name label -->
<dimen name="carrier_label_height">24dp</dimen>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index 6d474938349c..8fe525c01a4d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -43,6 +43,9 @@ public class PhoneStatusBarView extends PanelBar {
private static final String TAG = "PhoneStatusBarView";
PhoneStatusBar mBar;
int mScrimColor;
+ float mMinFlingGutter;
+ float mNotificationWidth;
+ boolean mFullWidthNotifications;
PanelView mFadingPanel = null;
PanelView mNotificationPanel, mSettingsPanel;
@@ -58,6 +61,13 @@ public class PhoneStatusBarView extends PanelBar {
public void onAttachedToWindow() {
Resources res = getContext().getResources();
mScrimColor = res.getColor(R.color.notification_panel_scrim_color);
+ mMinFlingGutter = res.getDimension(R.dimen.settings_panel_fling_gutter);
+ mFullWidthNotifications = false;
+ try {
+ mNotificationWidth = res.getDimension(R.dimen.notification_panel_width);
+ } catch (Resources.NotFoundException ex) {
+ mFullWidthNotifications = true;
+ }
}
@Override
@@ -96,9 +106,12 @@ public class PhoneStatusBarView extends PanelBar {
// right 1/3 for quick settings. If you pull the status bar down a second time you'll
// toggle panels no matter where you pull it down.
final float w = (float) getMeasuredWidth();
+ final float gutter = w - mNotificationWidth;
+ final boolean useGutter = !mFullWidthNotifications && gutter > mMinFlingGutter;
+ final float threshold = 1.0f - (gutter / w);
final float f = x / w;
- if (f > 0.67f && mSettingsPanel.getExpandedFraction() != 1.0f
- || mNotificationPanel.getExpandedFraction() == 1.0f) {
+ if ((useGutter && f > threshold && mSettingsPanel.getExpandedFraction() != 1.0f) ||
+ mNotificationPanel.getExpandedFraction() == 1.0f) {
return mSettingsPanel;
}
return mNotificationPanel;