am 86396f97: Merge changes Idcdd2978,Ied564b31,I6179126d into eclair

Merge commit '86396f97c998358390d912903395828ee244e2d5' into eclair-mr2

* commit '86396f97c998358390d912903395828ee244e2d5':
  Fix 2233444 (No IME).
  Revert "Revert "Fix notification bar performance.""
  Revert "Revert "fix 2233092 - Notification shade gets stuck half-open""
This commit is contained in:
Amith Yamasani
2009-11-03 15:26:12 -08:00
committed by Android Git Automerger
2 changed files with 29 additions and 16 deletions

View File

@@ -692,6 +692,7 @@ public class StatusBarService extends IStatusBar.Stub
mTicker.addEntry(n, StatusBarIcon.getIcon(mContext, data), n.tickerText);
}
}
updateExpandedViewPos(EXPANDED_LEAVE_ALONE);
}
// icon
@@ -950,7 +951,9 @@ public class StatusBarService extends IStatusBar.Stub
panelSlightlyVisible(true);
updateExpandedViewPos(EXPANDED_LEAVE_ALONE);
mExpandedDialog.show();
mExpandedParams.flags &= ~WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
mExpandedParams.flags |= WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
mExpandedDialog.getWindow().setAttributes(mExpandedParams);
mExpandedView.requestFocus(View.FOCUS_FORWARD);
mTrackingView.setVisibility(View.VISIBLE);
@@ -1027,7 +1030,9 @@ public class StatusBarService extends IStatusBar.Stub
}
mExpandedVisible = false;
panelSlightlyVisible(false);
mExpandedDialog.hide();
mExpandedParams.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
mExpandedParams.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
mExpandedDialog.getWindow().setAttributes(mExpandedParams);
mTrackingView.setVisibility(View.GONE);
if ((mDisabled & StatusBarManager.DISABLE_NOTIFICATION_ICONS) == 0) {
@@ -1056,6 +1061,7 @@ public class StatusBarService extends IStatusBar.Stub
else if (mAnimY < mStatusBarView.getHeight()) {
if (SPEW) Log.d(TAG, "Animation completed to collapsed state.");
mAnimating = false;
updateExpandedViewPos(0);
performCollapse();
}
else {
@@ -1508,17 +1514,18 @@ public class StatusBarService extends IStatusBar.Stub
}
}
final int disph = mDisplay.getHeight();
lp = mExpandedDialog.getWindow().getAttributes();
lp.width = ViewGroup.LayoutParams.FILL_PARENT;
lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
lp.x = 0;
lp.y = 0;
mTrackingPosition = lp.y = -disph; // sufficiently large negative
lp.type = WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL;
lp.flags = WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
| WindowManager.LayoutParams.FLAG_DITHER;
| WindowManager.LayoutParams.FLAG_DITHER
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
lp.format = pixelFormat;
lp.gravity = Gravity.TOP | Gravity.FILL_HORIZONTAL;
lp.setTitle("StatusBarExpanded");
@@ -1531,7 +1538,6 @@ public class StatusBarService extends IStatusBar.Stub
new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
mExpandedDialog.show();
mExpandedDialog.hide();
FrameLayout hack = (FrameLayout)mExpandedView.getParent();
hack.setForeground(null);
}
@@ -1558,15 +1564,24 @@ public class StatusBarService extends IStatusBar.Stub
+ " mTrackingPosition=" + mTrackingPosition);
}
// If the expanded view is not visible, there is no reason to do
// any work.
if (!mExpandedVisible) {
return;
}
// tracking view...
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 pos;
if (expandedPosition == EXPANDED_FULL_OPEN) {
pos = h;
@@ -1677,7 +1692,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);
}
};

View File

@@ -55,8 +55,6 @@ public class TrackingPatternView extends View {
final int textureWidth = mTextureWidth;
final int textureHeight = mTextureHeight;
Log.d("TrackingPatternView", "width=" + width + " textureWidth=" + textureWidth);
int x = 0;
int y;