summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-04-13 18:02:11 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-04-13 18:02:11 -0700
commitb7d9e8e17baad481ec834bc545e980ba21d7f67b (patch)
tree160a240b13f9e1ec338ebd9169d30ceddcd04327 /services
parentb5c9873e7cbf8fc6f28025333821de5554a76850 (diff)
parentfbd22f072b48be4b465085fb5354890e2f10fd32 (diff)
downloadframeworks_base-b7d9e8e17baad481ec834bc545e980ba21d7f67b.zip
frameworks_base-b7d9e8e17baad481ec834bc545e980ba21d7f67b.tar.gz
frameworks_base-b7d9e8e17baad481ec834bc545e980ba21d7f67b.tar.bz2
am fbd22f07: am ae8c2c71: Merge "Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard..." into froyo
Merge commit 'fbd22f072b48be4b465085fb5354890e2f10fd32' into kraken * commit 'fbd22f072b48be4b465085fb5354890e2f10fd32': Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard...
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/WindowManagerService.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 6e80ece..972935e 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -4418,7 +4418,8 @@ public class WindowManagerService extends IWindowManager.Stub
final int N = mWindows.size();
for (int i=0; i<N; i++) {
WindowState w = (WindowState)mWindows.get(i);
- if (w.isVisibleLw() && !w.mObscured && !w.isDrawnLw()) {
+ if (w.isVisibleLw() && !w.mObscured
+ && (w.mOrientationChanging || !w.isDrawnLw())) {
return;
}
}
@@ -7925,7 +7926,7 @@ public class WindowManagerService extends IWindowManager.Stub
final AppWindowToken atoken = mAppToken;
return mSurface != null && !mAttachedHidden
&& (atoken == null ? mPolicyVisibility : !atoken.hiddenRequested)
- && !mDrawPending && !mCommitDrawPending
+ && (mOrientationChanging || (!mDrawPending && !mCommitDrawPending))
&& !mExiting && !mDestroying;
}
@@ -8029,12 +8030,14 @@ public class WindowManagerService extends IWindowManager.Stub
/**
* Returns true if the window has a surface that it has drawn a
- * complete UI in to.
+ * complete UI in to. Note that this returns true if the orientation
+ * is changing even if the window hasn't redrawn because we don't want
+ * to stop things from executing during that time.
*/
public boolean isDrawnLw() {
final AppWindowToken atoken = mAppToken;
return mSurface != null && !mDestroying
- && !mDrawPending && !mCommitDrawPending;
+ && (mOrientationChanging || (!mDrawPending && !mCommitDrawPending));
}
public boolean fillsScreenLw(int screenWidth, int screenHeight,
@@ -10292,6 +10295,12 @@ public class WindowManagerService extends IWindowManager.Stub
if (w.mAttachedHidden || !w.isReadyForDisplay()) {
if (!w.mLastHidden) {
//dump();
+ if (DEBUG_CONFIGURATION) Slog.v(TAG, "Window hiding: waitingToShow="
+ + w.mRootToken.waitingToShow + " polvis="
+ + w.mPolicyVisibility + " atthid="
+ + w.mAttachedHidden + " tokhid="
+ + w.mRootToken.hidden + " vis="
+ + w.mViewVisibility);
w.mLastHidden = true;
if (SHOW_TRANSACTIONS) logSurface(w,
"HIDE (performLayout)", null);