From 9a230e01a1237749a8a19a5de8d46531b0c8ca6a Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 6 Oct 2011 11:51:27 -0700 Subject: Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately This cleans up how ui flags are managed between the client and window manager. It still reports the global UI mode state to the callback, but we now only clear certain flags when the system goes out of a state (currently this just means the hide nav bar mode), and don't corrupt other flags in the application when the global state changes. Also introduces a sequence number between the app and window manager, to avoid using bad old data coming from the app during these transitions. Change-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23 --- .../src/com/android/layoutlib/bridge/android/BridgeWindow.java | 3 ++- .../com/android/layoutlib/bridge/android/BridgeWindowSession.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'tools/layoutlib') diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java index 8e673adc77f1..e13380e7e2dd 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java @@ -85,7 +85,8 @@ public final class BridgeWindow implements IWindow { // pass for now. } - public void dispatchSystemUiVisibilityChanged(int visibility) { + public void dispatchSystemUiVisibilityChanged(int seq, int globalUi, + int localValue, int localChanges) { // pass for now. } diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java index ab8c4ec75152..1d97e1506866 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java @@ -37,14 +37,14 @@ import android.view.WindowManager.LayoutParams; */ public final class BridgeWindowSession implements IWindowSession { - public int add(IWindow arg0, LayoutParams arg1, int arg2, Rect arg3, + public int add(IWindow arg0, int seq, LayoutParams arg1, int arg2, Rect arg3, InputChannel outInputchannel) throws RemoteException { // pass for now. return 0; } - public int addWithoutInputChannel(IWindow arg0, LayoutParams arg1, int arg2, Rect arg3) + public int addWithoutInputChannel(IWindow arg0, int seq, LayoutParams arg1, int arg2, Rect arg3) throws RemoteException { // pass for now. return 0; @@ -78,7 +78,7 @@ public final class BridgeWindowSession implements IWindowSession { return null; } - public int relayout(IWindow arg0, LayoutParams arg1, int arg2, int arg3, int arg4, + public int relayout(IWindow arg0, int seq, LayoutParams arg1, int arg2, int arg3, int arg4, boolean arg4_5, Rect arg5, Rect arg6, Rect arg7, Configuration arg7b, Surface arg8) throws RemoteException { // pass for now. -- cgit v1.2.3-59-g8ed1b