OSDN Git Service

auto import from //branches/cupcake/...@127436
authorThe Android Open Source Project <initial-contribution@android.com>
Thu, 22 Jan 2009 08:13:43 +0000 (00:13 -0800)
committerThe Android Open Source Project <initial-contribution@android.com>
Thu, 22 Jan 2009 08:13:43 +0000 (00:13 -0800)
mid/com/android/internal/policy/impl/MidWindowManager.java
phone/com/android/internal/policy/impl/PhoneWindowManager.java

index 3cf36a5..b9ed39a 100644 (file)
@@ -778,16 +778,16 @@ public class MidWindowManager implements WindowManagerPolicy {
     public boolean finishAnimationLw() {
         if (mStatusBar != null) {
             if (mForceStatusBar) {
-                mStatusBar.showLw();
+                mStatusBar.showLw(true);
             } else if (mTopFullscreenOpaqueWindowState != null) {
                WindowManager.LayoutParams lp =
                    mTopFullscreenOpaqueWindowState.getAttrs();
                boolean hideStatusBar =
                    (lp.flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0;
                if (hideStatusBar) {
-                   mStatusBar.hideLw();
+                   mStatusBar.hideLw(true);
                } else {
-                   mStatusBar.showLw();
+                   mStatusBar.showLw(true);
                }
            }
         }
index 603b221..346470f 100644 (file)
@@ -950,7 +950,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
             pf.bottom = df.bottom = vf.bottom = displayHeight;
             
             mStatusBar.computeFrameLw(pf, df, vf, vf);
-            mDockTop = mContentTop = mCurTop = mStatusBar.getFrameLw().bottom;
+            if (mStatusBar.isDisplayedLw()) {
+                // If the status bar is hidden, we don't want to cause
+                // windows behind it to scroll.
+                mDockTop = mContentTop = mCurTop = mStatusBar.getFrameLw().bottom;
+            }
         }
     }
 
@@ -1154,7 +1158,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
             && attrs.type >= FIRST_APPLICATION_WINDOW
             && attrs.type <= LAST_APPLICATION_WINDOW
             && win.fillsScreenLw(mW, mH, true)
-            && win.isDisplayedLw()) {
+            && win.isVisibleLw()) {
             mTopFullscreenOpaqueWindowState = win;
         } else if ((attrs.flags & FLAG_FORCE_NOT_FULLSCREEN) != 0) {
             mForceStatusBar = true;
@@ -1165,16 +1169,16 @@ public class PhoneWindowManager implements WindowManagerPolicy {
     public boolean finishAnimationLw() {
         if (mStatusBar != null) {
             if (mForceStatusBar) {
-                mStatusBar.showLw();
+                mStatusBar.showLw(true);
             } else if (mTopFullscreenOpaqueWindowState != null) {
                WindowManager.LayoutParams lp =
                    mTopFullscreenOpaqueWindowState.getAttrs();
                boolean hideStatusBar =
                    (lp.flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0;
                if (hideStatusBar) {
-                   mStatusBar.hideLw();
+                   mStatusBar.hideLw(true);
                } else {
-                   mStatusBar.showLw();
+                   mStatusBar.showLw(true);
                }
            }
         }