Fix issue #2608292: Fails to launch the video camera preview
Need to clear the attached hidden flag on the window, even if it does
not yet have an actual surface.
Change-Id: I0a90f6b03cd8e347a3eae4d6bea3ab93f7128bf4
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 657b6af..53de7d9 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -7580,15 +7580,17 @@
while (i > 0) {
i--;
WindowState c = (WindowState)mChildWindows.get(i);
- if (c.mSurface != null && c.mAttachedHidden) {
+ if (c.mAttachedHidden) {
c.mAttachedHidden = false;
- c.performShowLocked();
- // It hadn't been shown, which means layout not
- // performed on it, so now we want to make sure to
- // do a layout. If called from within the transaction
- // loop, this will cause it to restart with a new
- // layout.
- mLayoutNeeded = true;
+ if (c.mSurface != null) {
+ c.performShowLocked();
+ // It hadn't been shown, which means layout not
+ // performed on it, so now we want to make sure to
+ // do a layout. If called from within the transaction
+ // loop, this will cause it to restart with a new
+ // layout.
+ mLayoutNeeded = true;
+ }
}
}