diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 6239d2e4aafb..0170bb965540 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9140,9 +9140,9 @@ public class WindowManagerService extends IWindowManager.Stub } // TOOD(multidisplay): StatusBar on multiple screens? - void updateStatusBarVisibilityLocked(int visibility) { + boolean updateStatusBarVisibilityLocked(int visibility) { if (mLastDispatchedSystemUiVisibility == visibility) { - return; + return false; } final int globalDiff = (visibility ^ mLastDispatchedSystemUiVisibility) // We are only interested in differences of one of the @@ -9173,14 +9173,16 @@ public class WindowManagerService extends IWindowManager.Stub // so sorry } } + return true; } @Override public void reevaluateStatusBarVisibility() { synchronized (mWindowMap) { int visibility = mPolicy.adjustSystemUiVisibilityLw(mLastStatusBarVisibility); - updateStatusBarVisibilityLocked(visibility); - mWindowPlacerLocked.requestTraversal(); + if (updateStatusBarVisibilityLocked(visibility)) { + mWindowPlacerLocked.requestTraversal(); + } } } |