Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36eeb6a5 authored by John Spurlock's avatar John Spurlock Committed by Android (Google) Code Review
Browse files

Merge "StatusBar: Respond properly to global expand message" into jb-dev

parents 9c463d9d 8506149f
Loading
Loading
Loading
Loading
+19 −8
Original line number Diff line number Diff line
@@ -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;
    }

    //