Fix DisplayPolicy#isOverlappingWithNavBar
The function name didn't match its logic. It only worked when win.mActivityRecord is not null. This CL fixes the logic and make the dimming window and the window with TYPE_VOICE_INTERACTION be able to be mNavBarColorWindowCandidate. Fix: 270298341 Test: atest DisplayPolicyTests Change-Id: If216cf2f73615d82129e51fbacc326fd02cbb8f8
This commit is contained in:
@@ -1364,9 +1364,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;
|
||||
}
|
||||
|
||||
@@ -1454,7 +1453,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);
|
||||
@@ -1482,7 +1481,7 @@ public class DisplayPolicy {
|
||||
addSystemBarColorApp(win);
|
||||
}
|
||||
}
|
||||
if (isOverlappingWithNavBar && mNavBarColorWindowCandidate == null) {
|
||||
if (isOverlappingWithNavBar(win) && mNavBarColorWindowCandidate == null) {
|
||||
mNavBarColorWindowCandidate = win;
|
||||
}
|
||||
}
|
||||
@@ -2645,7 +2644,7 @@ public class DisplayPolicy {
|
||||
|
||||
@VisibleForTesting
|
||||
static boolean isOverlappingWithNavBar(@NonNull WindowState win) {
|
||||
if (win.mActivityRecord == null || !win.isVisible()) {
|
||||
if (!win.isVisible()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user