diff options
| author | 2015-10-09 14:36:18 +0000 | |
|---|---|---|
| committer | 2015-10-09 14:36:18 +0000 | |
| commit | 75f1e1182889dabcf5596e7c17df5005edee412c (patch) | |
| tree | 4dc1c507045eeb60f03bd6b35383886fba2d5e29 | |
| parent | 3ebdc0c3b5cc963d8ded3d1d583b44d498a198f1 (diff) | |
| parent | 838ba119761fb28ee72fb348f532906455214685 (diff) | |
Merge "Only request traversals if status bar visibility changed on reevaluation"
| -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(); + } } } |