diff options
author | John Spurlock <jspurlock@google.com> | 2012-06-12 13:29:09 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-06-12 13:29:09 -0700 |
commit | 36eeb6a5be895bfba0405d34062d0db5b118a329 (patch) | |
tree | 851bb7aaee9a76f5243b5c9002e0223e1b68a300 /packages | |
parent | 9c463d9d9f2601f139baad862b1b3276e126b12d (diff) | |
parent | 8506149f613f3f98bbbf6675ed9c36dd32d4ce4f (diff) | |
download | frameworks_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')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 27 |
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; } // |