am 44104df1: Merge "Fix status bar flashing after orientation change" into gingerbread

Merge commit '44104df10660c711129fd263364afc2174f40ac2' into gingerbread-plus-aosp

* commit '44104df10660c711129fd263364afc2174f40ac2':
  Fix status bar flashing after orientation change
This commit is contained in:
Joe Onorato
2010-10-11 17:26:38 -07:00
committed by Android Git Automerger

View File

@@ -294,6 +294,7 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
mScrollView = (ScrollView)expanded.findViewById(R.id.scroll); mScrollView = (ScrollView)expanded.findViewById(R.id.scroll);
mNotificationLinearLayout = expanded.findViewById(R.id.notificationLinearLayout); mNotificationLinearLayout = expanded.findViewById(R.id.notificationLinearLayout);
mExpandedView.setVisibility(View.GONE);
mOngoingTitle.setVisibility(View.GONE); mOngoingTitle.setVisibility(View.GONE);
mLatestTitle.setVisibility(View.GONE); mLatestTitle.setVisibility(View.GONE);
@@ -691,6 +692,7 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
mExpandedDialog.getWindow().setAttributes(mExpandedParams); mExpandedDialog.getWindow().setAttributes(mExpandedParams);
mExpandedView.requestFocus(View.FOCUS_FORWARD); mExpandedView.requestFocus(View.FOCUS_FORWARD);
mTrackingView.setVisibility(View.VISIBLE); mTrackingView.setVisibility(View.VISIBLE);
mExpandedView.setVisibility(View.VISIBLE);
if (!mTicking) { if (!mTicking) {
setDateViewVisibility(true, com.android.internal.R.anim.fade_in); setDateViewVisibility(true, com.android.internal.R.anim.fade_in);
@@ -767,6 +769,7 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
mExpandedParams.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; mExpandedParams.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
mExpandedDialog.getWindow().setAttributes(mExpandedParams); mExpandedDialog.getWindow().setAttributes(mExpandedParams);
mTrackingView.setVisibility(View.GONE); mTrackingView.setVisibility(View.GONE);
mExpandedView.setVisibility(View.GONE);
if ((mDisabled & StatusBarManager.DISABLE_NOTIFICATION_ICONS) == 0) { if ((mDisabled & StatusBarManager.DISABLE_NOTIFICATION_ICONS) == 0) {
setNotificationIconVisibility(true, com.android.internal.R.anim.fade_in); setNotificationIconVisibility(true, com.android.internal.R.anim.fade_in);
@@ -1323,29 +1326,26 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
mExpandedContents.getLocationInWindow(mPositionTmp); mExpandedContents.getLocationInWindow(mPositionTmp);
final int contentsBottom = mPositionTmp[1] + mExpandedContents.getHeight(); final int contentsBottom = mPositionTmp[1] + mExpandedContents.getHeight();
mExpandedParams.y = pos + mTrackingView.getHeight()
- (mTrackingParams.height-closePos) - contentsBottom;
int max = h;
if (mExpandedParams.y > max) {
mExpandedParams.y = max;
}
int min = mTrackingPosition;
if (mExpandedParams.y < min) {
mExpandedParams.y = min;
}
boolean visible = (mTrackingPosition + mTrackingView.getHeight()) > h;
if (!visible) {
// if the contents aren't visible, move the expanded view way off screen
// because the window itself extends below the content view.
mExpandedParams.y = -disph;
}
mExpandedDialog.getWindow().setAttributes(mExpandedParams);
// As long as this isn't just a repositioning that's not supposed to affect
// the user's perception of what's showing, call to say that the visibility
// has changed. (Otherwise, someone else will call to do that).
if (expandedPosition != EXPANDED_LEAVE_ALONE) { if (expandedPosition != EXPANDED_LEAVE_ALONE) {
mExpandedParams.y = pos + mTrackingView.getHeight()
- (mTrackingParams.height-closePos) - contentsBottom;
int max = h;
if (mExpandedParams.y > max) {
mExpandedParams.y = max;
}
int min = mTrackingPosition;
if (mExpandedParams.y < min) {
mExpandedParams.y = min;
}
boolean visible = (mTrackingPosition + mTrackingView.getHeight()) > h;
if (!visible) {
// if the contents aren't visible, move the expanded view way off screen
// because the window itself extends below the content view.
mExpandedParams.y = -disph;
}
mExpandedDialog.getWindow().setAttributes(mExpandedParams);
if (SPEW) Slog.d(TAG, "updateExpandedViewPos visibilityChanged(" + visible + ")"); if (SPEW) Slog.d(TAG, "updateExpandedViewPos visibilityChanged(" + visible + ")");
visibilityChanged(visible); visibilityChanged(visible);
} }