summaryrefslogtreecommitdiff
path: root/core/java/android/view/WindowManager.java
diff options
context:
space:
mode:
authorJoe Onorato <joeo@google.com>2011-01-25 19:53:17 -0800
committerJoe Onorato <joeo@google.com>2011-01-26 10:47:39 -0800
commit14782f705e94d4e563a48efc85fd25129fd38a7d (patch)
tree0d11023cf0e2c6977e23e1a0ec560aa2242c4c84 /core/java/android/view/WindowManager.java
parent55bf3809b98dad0b8268804e684d63ea59124148 (diff)
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
Diffstat (limited to 'core/java/android/view/WindowManager.java')
-rw-r--r--core/java/android/view/WindowManager.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 491a79f1557d..c26fa933cecd 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);