From 14782f705e94d4e563a48efc85fd25129fd38a7d Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Tue, 25 Jan 2011 19:53:17 -0800 Subject: Expose the window flags for lights out mode. I hadn't wanted to do this, but it makes porting the FLAG_FULLSCREEN stuff over to this simpler because you don't have to go find a view to proxy through. This change also clears the flag everywhere when the window manager notifies the views that the change has come back. Change-Id: I48392c7550925bcca50c5bb9e1f263e99de6c7bc --- core/java/android/view/WindowManager.java | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'core/java/android/view/WindowManager.java') diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 491a79f..c26fa93 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -953,11 +953,20 @@ public interface WindowManager extends ViewManager { /** * Control the visibility of the status bar. - * @hide + * + * @see View#STATUS_BAR_VISIBLE + * @see View#STATUS_BAR_HIDDEN */ public int systemUiVisibility; /** + * @hide + * The ui visibility as requested by the views in this hierarchy. + * the combined value should be systemUiVisibility | subtreeSystemUiVisibility. + */ + public int subtreeSystemUiVisibility; + + /** * Get callbacks about the system ui visibility changing. * * TODO: Maybe there should be a bitfield of optional callbacks that we need. @@ -1046,6 +1055,7 @@ public interface WindowManager extends ViewManager { TextUtils.writeToParcel(mTitle, out, parcelableFlags); out.writeInt(screenOrientation); out.writeInt(systemUiVisibility); + out.writeInt(subtreeSystemUiVisibility); out.writeInt(hasSystemUiListeners ? 1 : 0); } @@ -1083,6 +1093,7 @@ public interface WindowManager extends ViewManager { mTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); screenOrientation = in.readInt(); systemUiVisibility = in.readInt(); + subtreeSystemUiVisibility = in.readInt(); hasSystemUiListeners = in.readInt() != 0; } @@ -1212,8 +1223,10 @@ public interface WindowManager extends ViewManager { changes |= SCREEN_ORIENTATION_CHANGED; } - if (systemUiVisibility != o.systemUiVisibility) { + if (systemUiVisibility != o.systemUiVisibility + || subtreeSystemUiVisibility != o.subtreeSystemUiVisibility) { systemUiVisibility = o.systemUiVisibility; + subtreeSystemUiVisibility = o.subtreeSystemUiVisibility; changes |= SYSTEM_UI_VISIBILITY_CHANGED; } @@ -1298,6 +1311,10 @@ public interface WindowManager extends ViewManager { sb.append(" sysui=0x"); sb.append(Integer.toHexString(systemUiVisibility)); } + if (subtreeSystemUiVisibility != 0) { + sb.append(" vsysui=0x"); + sb.append(Integer.toHexString(subtreeSystemUiVisibility)); + } if (hasSystemUiListeners) { sb.append(" sysuil="); sb.append(hasSystemUiListeners); -- cgit v1.1