Merge "Fix for the notification panel getting stuck open."
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
index c9fd9a9..759c17c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
@@ -39,7 +39,8 @@
public class NotificationPanel extends LinearLayout implements StatusBarPanel,
View.OnClickListener {
- static final String TAG = "NotificationPanel";
+ static final String TAG = "Tablet/NotificationPanel";
+ static final boolean DEBUG = false;
boolean mShowing;
View mTitleArea;
@@ -248,6 +249,7 @@
}
void startAnimation(boolean visible) {
+ if (DEBUG) Slog.d(TAG, "startAnimation(visible=" + visible + ")");
if (mBgAnim != null && mVisible != visible) {
mBgAnim.reverse();
mPositionAnim.reverse();
@@ -303,18 +305,22 @@
if (mPanelBottom == 0) {
// fully closed, no animation necessary
setPanelBottom(0);
- } else {
- // a little bit visible, schedule an animation
+ } else if (mVisible) {
+ if (DEBUG) {
+ Slog.d(TAG, "panelHeight not zero but trying to open; scheduling an anim to open fully");
+ }
startAnimation(true);
}
}
public void onAnimationCancel(Animator animation) {
- //Slog.d(TAG, "onAnimationCancel mBgAlpha=" + mBgAlpha);
+ if (DEBUG) Slog.d(TAG, "onAnimationCancel mBgAlpha=" + mBgAlpha);
+ // force this to zero so we close the window
+ mBgAlpha = 0;
}
public void onAnimationEnd(Animator animation) {
- //Slog.d(TAG, "onAnimationEnd mBgAlpha=" + mBgAlpha);
+ if (DEBUG) Slog.d(TAG, "onAnimationEnd mBgAlpha=" + mBgAlpha);
if (mBgAlpha == 0) {
setVisibility(View.GONE);
}