diff options
| author | 2009-11-03 12:22:33 -0500 | |
|---|---|---|
| committer | 2009-11-03 12:22:33 -0500 | |
| commit | 6a7899a8d6444989657d1058666269263b5b50c0 (patch) | |
| tree | 6e9b8322584bc76d59edce5fbbed6ae02fbe0ade | |
| parent | 8637759a1d34a4adda292579d5f8790587659235 (diff) | |
fix 2233092 - Notification shade gets stuck half-open
Follow up to bug 2195678. This was one of the reprocussions that
I was worried about with respect to that bug, so I'm counting
Dr. No on that change as the one for this one.
| -rw-r--r-- | services/java/com/android/server/status/StatusBarService.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/services/java/com/android/server/status/StatusBarService.java b/services/java/com/android/server/status/StatusBarService.java index 8dded1a8a6e8..bd7b471c9fe2 100644 --- a/services/java/com/android/server/status/StatusBarService.java +++ b/services/java/com/android/server/status/StatusBarService.java @@ -692,6 +692,7 @@ public class StatusBarService extends IStatusBar.Stub mTicker.addEntry(n, StatusBarIcon.getIcon(mContext, data), n.tickerText); } } + updateExpandedViewPos(EXPANDED_LEAVE_ALONE); } // icon @@ -1562,15 +1563,24 @@ public class StatusBarService extends IStatusBar.Stub + " mTrackingPosition=" + mTrackingPosition); } - // If the expanded view is not visible, there is no reason to do - // any work. + int h = mStatusBarView.getHeight(); + int disph = mDisplay.getHeight(); + + // If the expanded view is not visible, make sure they're still off screen. + // Maybe the view was resized. if (!mExpandedVisible) { + if (mTrackingView != null) { + mTrackingPosition = mTrackingParams.y = -disph; + WindowManagerImpl.getDefault().updateViewLayout(mTrackingView, mTrackingParams); + } + if (mExpandedParams != null) { + mExpandedParams.y = -disph; + mExpandedDialog.getWindow().setAttributes(mExpandedParams); + } return; } - + // tracking view... - int h = mStatusBarView.getHeight(); - int disph = mDisplay.getHeight(); int pos; if (expandedPosition == EXPANDED_FULL_OPEN) { pos = h; @@ -1681,7 +1691,7 @@ public class StatusBarService extends IStatusBar.Stub private View.OnClickListener mClearButtonListener = new View.OnClickListener() { public void onClick(View v) { mNotificationCallbacks.onClearAll(); - performCollapse(); + addPendingOp(OP_EXPAND, null, false); } }; |