diff options
| -rw-r--r-- | core/java/android/view/DisplayCutout.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/policy/PhoneWindowManager.java | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/view/DisplayCutout.java b/core/java/android/view/DisplayCutout.java index f59c0b5036bd..47bda538ae52 100644 --- a/core/java/android/view/DisplayCutout.java +++ b/core/java/android/view/DisplayCutout.java @@ -16,6 +16,8 @@ package android.view; +import static android.util.DisplayMetrics.DENSITY_DEFAULT; +import static android.util.DisplayMetrics.DENSITY_DEVICE_STABLE; import static android.view.DisplayCutoutProto.BOUNDS; import static android.view.DisplayCutoutProto.INSETS; @@ -358,7 +360,7 @@ public final class DisplayCutout { */ public static DisplayCutout fromResources(Resources res, int displayWidth, int displayHeight) { return fromSpec(res.getString(R.string.config_mainBuiltInDisplayCutout), - displayWidth, displayHeight, res.getDisplayMetrics().density); + displayWidth, displayHeight, DENSITY_DEVICE_STABLE / (float) DENSITY_DEFAULT); } /** @@ -368,7 +370,7 @@ public final class DisplayCutout { */ public static Path pathFromResources(Resources res, int displayWidth, int displayHeight) { return pathAndDisplayCutoutFromSpec(res.getString(R.string.config_mainBuiltInDisplayCutout), - displayWidth, displayHeight, res.getDisplayMetrics().density).first; + displayWidth, displayHeight, DENSITY_DEVICE_STABLE / (float) DENSITY_DEFAULT).first; } /** diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index fce4b2019ed0..920e77f72771 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -4809,6 +4809,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { // For layout, the status bar is always at the top with our fixed height. displayFrames.mStable.top = displayFrames.mUnrestricted.top + mStatusBarHeightForRotation[displayFrames.mRotation]; + // Make sure the status bar covers the entire cutout height + displayFrames.mStable.top = Math.max(displayFrames.mStable.top, + displayFrames.mDisplayCutoutSafe.top); // Tell the bar controller where the collapsed status bar content is mTmpRect.set(mStatusBar.getContentFrameLw()); |