Merge "Replace WindowState#getLayoutingAttrs with LayoutParams#forRotation" into tm-qpr-dev
This commit is contained in:
@@ -3744,6 +3744,18 @@ public interface WindowManager extends ViewManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #paramsForRotation
|
||||
* @hide
|
||||
*/
|
||||
public LayoutParams forRotation(int rotation) {
|
||||
if (paramsForRotation == null || paramsForRotation.length <= rotation
|
||||
|| paramsForRotation[rotation] == null) {
|
||||
return this;
|
||||
}
|
||||
return paramsForRotation[rotation];
|
||||
}
|
||||
|
||||
public LayoutParams() {
|
||||
super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
|
||||
type = TYPE_APPLICATION;
|
||||
|
||||
@@ -1158,11 +1158,9 @@ public class DisplayPolicy {
|
||||
(displayFrames, windowContainer, inOutFrame) -> {
|
||||
if (!mNavButtonForcedVisible) {
|
||||
final LayoutParams lp =
|
||||
win.getLayoutingAttrs(displayFrames.mRotation);
|
||||
win.mAttrs.forRotation(displayFrames.mRotation);
|
||||
if (lp.providedInsets != null) {
|
||||
for (InsetsFrameProvider provider :
|
||||
win.getLayoutingAttrs(displayFrames.mRotation)
|
||||
.providedInsets) {
|
||||
for (InsetsFrameProvider provider : lp.providedInsets) {
|
||||
if (provider.type != ITYPE_NAVIGATION_BAR) {
|
||||
continue;
|
||||
}
|
||||
@@ -1371,7 +1369,7 @@ public class DisplayPolicy {
|
||||
private int getStatusBarHeight(DisplayFrames displayFrames) {
|
||||
int statusBarHeight;
|
||||
if (mStatusBar != null) {
|
||||
statusBarHeight = mStatusBar.getLayoutingAttrs(displayFrames.mRotation).height;
|
||||
statusBarHeight = mStatusBar.mAttrs.forRotation(displayFrames.mRotation).height;
|
||||
} else {
|
||||
statusBarHeight = 0;
|
||||
}
|
||||
@@ -1527,7 +1525,7 @@ public class DisplayPolicy {
|
||||
final InsetsStateController controller = mDisplayContent.getInsetsStateController();
|
||||
for (int i = mInsetsSourceWindowsExceptIme.size() - 1; i >= 0; i--) {
|
||||
final WindowState win = mInsetsSourceWindowsExceptIme.valueAt(i);
|
||||
mWindowLayout.computeFrames(win.getLayoutingAttrs(displayFrames.mRotation),
|
||||
mWindowLayout.computeFrames(win.mAttrs.forRotation(displayFrames.mRotation),
|
||||
displayFrames.mInsetsState, displayFrames.mDisplayCutoutSafe,
|
||||
displayFrames.mUnrestricted, win.getWindowingMode(), UNSPECIFIED_LENGTH,
|
||||
UNSPECIFIED_LENGTH, win.getRequestedVisibilities(),
|
||||
@@ -1545,7 +1543,7 @@ public class DisplayPolicy {
|
||||
void updateInsetsSourceFramesExceptIme(DisplayFrames displayFrames) {
|
||||
for (int i = mInsetsSourceWindowsExceptIme.size() - 1; i >= 0; i--) {
|
||||
final WindowState win = mInsetsSourceWindowsExceptIme.valueAt(i);
|
||||
mWindowLayout.computeFrames(win.getLayoutingAttrs(displayFrames.mRotation),
|
||||
mWindowLayout.computeFrames(win.mAttrs.forRotation(displayFrames.mRotation),
|
||||
displayFrames.mInsetsState, displayFrames.mDisplayCutoutSafe,
|
||||
displayFrames.mUnrestricted, win.getWindowingMode(), UNSPECIFIED_LENGTH,
|
||||
UNSPECIFIED_LENGTH, win.getRequestedVisibilities(),
|
||||
@@ -1578,7 +1576,7 @@ public class DisplayPolicy {
|
||||
// We invoke this to get the proper DisplayFrames.
|
||||
displayFrames = win.getDisplayFrames(displayFrames);
|
||||
|
||||
final WindowManager.LayoutParams attrs = win.getLayoutingAttrs(displayFrames.mRotation);
|
||||
final WindowManager.LayoutParams attrs = win.mAttrs.forRotation(displayFrames.mRotation);
|
||||
final Rect attachedWindowFrame = attached != null ? attached.getFrame() : null;
|
||||
|
||||
// If this window has different LayoutParams for rotations, we cannot trust its requested
|
||||
@@ -2041,7 +2039,7 @@ public class DisplayPolicy {
|
||||
if (mNavigationBar == null) {
|
||||
return 0;
|
||||
}
|
||||
LayoutParams lp = mNavigationBar.getLayoutingAttrs(rotation);
|
||||
LayoutParams lp = mNavigationBar.mAttrs.forRotation(rotation);
|
||||
Insets providedInsetsSize = null;
|
||||
if (lp.providedInsets != null) {
|
||||
for (InsetsFrameProvider provider : lp.providedInsets) {
|
||||
@@ -2073,7 +2071,7 @@ public class DisplayPolicy {
|
||||
if (mNavigationBar == null) {
|
||||
return 0;
|
||||
}
|
||||
return mNavigationBar.getLayoutingAttrs(rotation).height;
|
||||
return mNavigationBar.mAttrs.forRotation(rotation).height;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2202,7 +2200,7 @@ public class DisplayPolicy {
|
||||
@NavigationBarPosition
|
||||
int navigationBarPosition(int displayRotation) {
|
||||
if (mNavigationBar != null) {
|
||||
final int gravity = mNavigationBar.getLayoutingAttrs(displayRotation).gravity;
|
||||
final int gravity = mNavigationBar.mAttrs.forRotation(displayRotation).gravity;
|
||||
switch (gravity) {
|
||||
case Gravity.LEFT:
|
||||
return NAV_BAR_LEFT;
|
||||
|
||||
@@ -1474,15 +1474,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
return mAttrs;
|
||||
}
|
||||
|
||||
WindowManager.LayoutParams getLayoutingAttrs(int rotation) {
|
||||
final WindowManager.LayoutParams[] paramsForRotation = mAttrs.paramsForRotation;
|
||||
if (paramsForRotation == null || paramsForRotation.length != 4
|
||||
|| paramsForRotation[rotation] == null) {
|
||||
return mAttrs;
|
||||
}
|
||||
return paramsForRotation[rotation];
|
||||
}
|
||||
|
||||
/** Retrieves the flags used to disable system UI functions. */
|
||||
int getDisableFlags() {
|
||||
return mDisableFlags;
|
||||
|
||||
Reference in New Issue
Block a user