summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2012-06-12 13:29:09 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-06-12 13:29:09 -0700
commit36eeb6a5be895bfba0405d34062d0db5b118a329 (patch)
tree851bb7aaee9a76f5243b5c9002e0223e1b68a300 /packages/SystemUI/src/com/android/systemui
parent9c463d9d9f2601f139baad862b1b3276e126b12d (diff)
parent8506149f613f3f98bbbf6675ed9c36dd32d4ce4f (diff)
downloadframeworks_base-36eeb6a5be895bfba0405d34062d0db5b118a329.zip
frameworks_base-36eeb6a5be895bfba0405d34062d0db5b118a329.tar.gz
frameworks_base-36eeb6a5be895bfba0405d34062d0db5b118a329.tar.bz2
Merge "StatusBar: Respond properly to global expand message" into jb-dev
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java27
1 files changed, 19 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 6ac0886..56de506 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -168,6 +168,7 @@ public class PhoneStatusBar extends BaseStatusBar {
ScrollView mScrollView;
View mExpandedContents;
int mNotificationPanelMarginBottomPx, mNotificationPanelMarginLeftPx;
+ final Rect mNotificationPanelBackgroundPadding = new Rect();
int mNotificationPanelGravity;
int mNotificationPanelMinHeight;
@@ -270,6 +271,13 @@ public class PhoneStatusBar extends BaseStatusBar {
}
};
+ private final Runnable mPerformSelfExpandFling = new Runnable() {
+ @Override
+ public void run() {
+ performFling(0, mSelfExpandVelocityPx, true);
+ }
+ };
+
private final Runnable mPerformFling = new Runnable() {
@Override
public void run() {
@@ -1213,7 +1221,7 @@ public class PhoneStatusBar extends BaseStatusBar {
}
prepareTracking(0, true);
- performFling(0, mSelfExpandVelocityPx, true);
+ mHandler.post(mPerformSelfExpandFling);
}
public void animateCollapse() {
@@ -1529,12 +1537,15 @@ public class PhoneStatusBar extends BaseStatusBar {
mViewDelta = statusBarSize - y;
} else {
mCloseView.getLocationOnScreen(mAbsPos);
- mViewDelta = mAbsPos[1] + statusBarSize + getCloseViewHeight() - y; // XXX: not closeViewHeight, but paddingBottom from the 9patch
+ mViewDelta = mAbsPos[1]
+ + getCloseViewHeight() // XXX: not closeViewHeight, but paddingBottom from the 9patch
+ + mNotificationPanelBackgroundPadding.top
+ + mNotificationPanelBackgroundPadding.bottom
+ - y;
}
if ((!mExpanded && y < hitSize) ||
// @@ add taps outside the panel if it's not full-screen
(mExpanded && y > (getExpandedViewMaxHeight()-hitSize))) {
-
// We drop events at the edge of the screen to make the windowshade come
// down by accident less, especially when pushing open a device with a keyboard
// that rotates (like g1 and droid)
@@ -2287,10 +2298,12 @@ public class PhoneStatusBar extends BaseStatusBar {
if (mNotificationPanelGravity <= 0) {
mNotificationPanelGravity = Gravity.CENTER_VERTICAL | Gravity.TOP;
}
+ getNinePatchPadding(res.getDrawable(R.drawable.notification_panel_bg), mNotificationPanelBackgroundPadding);
final int notificationPanelDecorationHeight =
res.getDimensionPixelSize(R.dimen.notification_panel_padding_top)
+ res.getDimensionPixelSize(R.dimen.notification_panel_header_height)
- + getNinePatchPadding(res.getDrawable(R.drawable.notification_panel_bg)).bottom;
+ + mNotificationPanelBackgroundPadding.top
+ + mNotificationPanelBackgroundPadding.bottom;
mNotificationPanelMinHeight =
notificationPanelDecorationHeight
+ res.getDimensionPixelSize(R.dimen.close_handle_underlap);
@@ -2300,13 +2313,11 @@ public class PhoneStatusBar extends BaseStatusBar {
if (false) Slog.v(TAG, "updateResources");
}
- private static Rect getNinePatchPadding(Drawable d) {
- Rect padding = new Rect();
+ private static void getNinePatchPadding(Drawable d, Rect outPadding) {
if (d instanceof NinePatchDrawable) {
NinePatchDrawable ninePatch = (NinePatchDrawable) d;
- ninePatch.getPadding(padding);
+ ninePatch.getPadding(outPadding);
}
- return padding;
}
//