summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2012-05-03 17:28:09 -0700
committerCraig Mautner <cmautner@google.com>2012-05-03 17:28:09 -0700
commit3fe38c0e73e520c6c38454a41a4cffa16faaf67d (patch)
treeb4144d7c534df524ac2f2362bd3ab8dc1e31a66d /core/java/android/view/ViewRootImpl.java
parent232301b027e54c270adad30541d248e6b7b62f4a (diff)
Retain current visibility when copying layoutparam
The LayoutParams members, systemUiVisibility and subtreeSystemUiVisibility are derived values rather than app-generated values. When copying LayoutParams members make sure these values are not overwritten. Overwriting them was causing the STATUS_BAR_DISABLE_XXX flags to be overwritten exposing elements that should have remained hidden. Fixes bug b6374541. Change-Id: Iaae4b4167e1b148bbdba4d05f473844f7fa3bf8d
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
-rw-r--r--core/java/android/view/ViewRootImpl.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index e1d821f1022d..cc336c147bf3 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -763,6 +763,9 @@ public final class ViewRootImpl implements ViewParent,
// preserve compatible window flag if exists.
int compatibleWindowFlag =
mWindowAttributes.flags & WindowManager.LayoutParams.FLAG_COMPATIBLE_WINDOW;
+ // transfer over system UI visibility values as they carry current state.
+ attrs.systemUiVisibility = mWindowAttributes.systemUiVisibility;
+ attrs.subtreeSystemUiVisibility = mWindowAttributes.subtreeSystemUiVisibility;
mWindowAttributesChangesFlag = mWindowAttributes.copyFrom(attrs);
mWindowAttributes.flags |= compatibleWindowFlag;