summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jorim Jaggi <jjaggi@google.com> 2019-05-09 14:34:19 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-05-09 14:34:19 +0000
commit89d1bdedf7be70145fc1ee95ccf13d6aebcfd5b0 (patch)
tree69593aee6bc195080822c870c0a679c0dc3a56f0
parent39789e86f766a16b6e0398dec963e96d280dac21 (diff)
parent01d60d0907b71055cf9f341df0a3cfccf96a9e15 (diff)
Merge "Only consume status bar if FULLSCREEN is set" into qt-dev
-rw-r--r--core/java/com/android/internal/policy/DecorView.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java
index 5c1268ded94a..1fbaf7b426be 100644
--- a/core/java/com/android/internal/policy/DecorView.java
+++ b/core/java/com/android/internal/policy/DecorView.java
@@ -1174,12 +1174,16 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
// If we didn't request fullscreen layout, but we still got it because of the
// mForceWindowDrawsBarBackgrounds flag, also consume top inset.
+ // If we should always consume system bars, only consume that if the app wanted to go to
+ // fullscreen, as othrewise we can expect the app to handle it.
+ boolean fullscreen = (sysUiVisibility & SYSTEM_UI_FLAG_FULLSCREEN) != 0
+ || (attrs.flags & FLAG_FULLSCREEN) != 0;
boolean consumingStatusBar = (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN) == 0
&& (attrs.flags & FLAG_LAYOUT_IN_SCREEN) == 0
&& (attrs.flags & FLAG_LAYOUT_INSET_DECOR) == 0
&& mForceWindowDrawsBarBackgrounds
&& mLastTopInset != 0
- || mLastShouldAlwaysConsumeSystemBars;
+ || (mLastShouldAlwaysConsumeSystemBars && fullscreen);
int consumedTop = consumingStatusBar ? mLastTopInset : 0;
int consumedRight = consumingNavBar ? mLastRightInset : 0;