Merge "Revert "Revert "Make extra navigation bar count towards non decor frame (3/3)""" into tm-qpr-dev
This commit is contained in:
@@ -2007,7 +2007,8 @@ public class DisplayPolicy {
|
|||||||
dc.getDisplayPolicy().simulateLayoutDisplay(df);
|
dc.getDisplayPolicy().simulateLayoutDisplay(df);
|
||||||
final InsetsState insetsState = df.mInsetsState;
|
final InsetsState insetsState = df.mInsetsState;
|
||||||
final Rect displayFrame = insetsState.getDisplayFrame();
|
final Rect displayFrame = insetsState.getDisplayFrame();
|
||||||
final Insets decor = calculateDecorInsetsWithInternalTypes(insetsState);
|
final Insets decor = insetsState.calculateInsets(displayFrame, DECOR_TYPES,
|
||||||
|
true /* ignoreVisibility */);
|
||||||
final Insets statusBar = insetsState.calculateInsets(displayFrame,
|
final Insets statusBar = insetsState.calculateInsets(displayFrame,
|
||||||
Type.statusBars(), true /* ignoreVisibility */);
|
Type.statusBars(), true /* ignoreVisibility */);
|
||||||
mNonDecorInsets.set(decor.left, decor.top, decor.right, decor.bottom);
|
mNonDecorInsets.set(decor.left, decor.top, decor.right, decor.bottom);
|
||||||
@@ -2039,17 +2040,8 @@ public class DisplayPolicy {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO (b/235842600): Use public type once we can treat task bar as navigation bar.
|
|
||||||
static final int[] INTERNAL_DECOR_TYPES;
|
static final int DECOR_TYPES = Type.displayCutout() | Type.navigationBars();
|
||||||
static {
|
|
||||||
final ArraySet<Integer> decorTypes = InsetsState.toInternalType(
|
|
||||||
Type.displayCutout() | Type.navigationBars());
|
|
||||||
decorTypes.remove(ITYPE_EXTRA_NAVIGATION_BAR);
|
|
||||||
INTERNAL_DECOR_TYPES = new int[decorTypes.size()];
|
|
||||||
for (int i = 0; i < INTERNAL_DECOR_TYPES.length; i++) {
|
|
||||||
INTERNAL_DECOR_TYPES[i] = decorTypes.valueAt(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private final DisplayContent mDisplayContent;
|
private final DisplayContent mDisplayContent;
|
||||||
private final Info[] mInfoForRotation = new Info[4];
|
private final Info[] mInfoForRotation = new Info[4];
|
||||||
@@ -2076,20 +2068,6 @@ public class DisplayPolicy {
|
|||||||
info.mNeedUpdate = true;
|
info.mNeedUpdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO (b/235842600): Remove this method once we can treat task bar as navigation bar.
|
|
||||||
private static Insets calculateDecorInsetsWithInternalTypes(InsetsState state) {
|
|
||||||
final Rect frame = state.getDisplayFrame();
|
|
||||||
Insets insets = Insets.NONE;
|
|
||||||
for (int i = INTERNAL_DECOR_TYPES.length - 1; i >= 0; i--) {
|
|
||||||
final InsetsSource source = state.peekSource(INTERNAL_DECOR_TYPES[i]);
|
|
||||||
if (source != null) {
|
|
||||||
insets = Insets.max(source.calculateInsets(frame, true /* ignoreVisibility */),
|
|
||||||
insets);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return insets;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user