From 1d739fb5c0c747f510485ccae191089eec727c7d Mon Sep 17 00:00:00 2001 From: Tiger Huang Date: Tue, 22 Oct 2019 21:05:16 +0800 Subject: Always remove unhide flags while pretending callback from SystemUI Logic to show system bars in BarController.adjustSystemUiVisibilityLw requires that the current system UI visibility doesn't contain the unhide flag. The unhide flags were cleared by the SystemUI, but it won't callback any system UI flags anymore. So this CL also removes the unhide flags while pretending callback from SystemUI. Bug: 143135605 Bug: 118118435 Test: Manually test with fullscreen apps Change-Id: I9552ff9ff8ca778667cd02a354b2febf912e899e --- services/core/java/com/android/server/wm/DisplayPolicy.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 208f54c146ae..2772483c7dd8 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -3241,7 +3241,8 @@ public class DisplayPolicy { statusBar.topAppWindowChanged(displayId, isFullscreen, isImmersive); // TODO(b/118118435): Remove this after removing system UI visibilities. - mDisplayContent.statusBarVisibilityChanged(visibility); + mDisplayContent.statusBarVisibilityChanged( + visibility & ~(View.STATUS_BAR_UNHIDE | View.NAVIGATION_BAR_UNHIDE)); } }); return diff; -- cgit v1.2.3-59-g8ed1b