summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();
+ }
}
}