Merge "StatusBar: Respond properly to global expand message" into jb-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
36eeb6a5be
@@ -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;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user