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;
+                        }
                     }
                 }