summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wale Ogunwale <ogunwale@google.com> 2015-10-09 14:36:18 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-10-09 14:36:18 +0000
commit75f1e1182889dabcf5596e7c17df5005edee412c (patch)
tree4dc1c507045eeb60f03bd6b35383886fba2d5e29
parent3ebdc0c3b5cc963d8ded3d1d583b44d498a198f1 (diff)
parent838ba119761fb28ee72fb348f532906455214685 (diff)
Merge "Only request traversals if status bar visibility changed on reevaluation"
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java10
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();
+ }
}
}