summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joe Onorato <joeo@android.com> 2009-11-03 12:22:33 -0500
committer Joe Onorato <joeo@android.com> 2009-11-03 12:22:33 -0500
commit6a7899a8d6444989657d1058666269263b5b50c0 (patch)
tree6e9b8322584bc76d59edce5fbbed6ae02fbe0ade
parent8637759a1d34a4adda292579d5f8790587659235 (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.java22
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);
}
};