Merge "Fix DisplayPolicy#isOverlappingWithNavBar" into tm-qpr-dev

This commit is contained in:
Tiger Huang
2023-02-24 14:12:17 +00:00
committed by Android (Google) Code Review

View File

@@ -1577,9 +1577,8 @@ public class DisplayPolicy {
applyKeyguardPolicy(win, imeTarget);
// Check if the freeform window overlaps with the navigation bar area.
final boolean isOverlappingWithNavBar = isOverlappingWithNavBar(win);
if (isOverlappingWithNavBar && !mIsFreeformWindowOverlappingWithNavBar
&& win.inFreeformWindowingMode()) {
if (!mIsFreeformWindowOverlappingWithNavBar && win.inFreeformWindowingMode()
&& win.mActivityRecord != null && isOverlappingWithNavBar(win)) {
mIsFreeformWindowOverlappingWithNavBar = true;
}
@@ -1637,7 +1636,7 @@ public class DisplayPolicy {
// mode; if it's in gesture navigation mode, the navigation bar will be
// NAV_BAR_FORCE_TRANSPARENT and its appearance won't be decided by overlapping
// windows.
if (isOverlappingWithNavBar) {
if (isOverlappingWithNavBar(win)) {
if (mNavBarColorWindowCandidate == null) {
mNavBarColorWindowCandidate = win;
addSystemBarColorApp(win);
@@ -1665,7 +1664,7 @@ public class DisplayPolicy {
addSystemBarColorApp(win);
}
}
if (isOverlappingWithNavBar && mNavBarColorWindowCandidate == null) {
if (isOverlappingWithNavBar(win) && mNavBarColorWindowCandidate == null) {
mNavBarColorWindowCandidate = win;
}
}
@@ -2858,7 +2857,7 @@ public class DisplayPolicy {
@VisibleForTesting
static boolean isOverlappingWithNavBar(@NonNull WindowState win) {
if (win.mActivityRecord == null || !win.isVisible()) {
if (!win.isVisible()) {
return false;
}