Skip to content
Snippets Groups Projects
Commit 5b56c5fb authored by Evan Laird's avatar Evan Laird Committed by Cherrypicker Worker
Browse files

Add pixel scaling to ScreenDecorationUtils

SreenDecorationUtils was querying rounded_corner_radius directly using
static methods defined in RoundedCorners.java, and was not taking into
consideration the potential for physical pixel scaling.

This CL replicates the logic that exists in RoundedCorners.java and
ScreenDecorations.java to implement similar scaling in the static
getter.

Test: manual
Flag: NONE
Bug: 335357341
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1bd662453b41f64bcafdb125aae73782bdc40a4c)
Merged-In: I3ce403510b3ca35970685fc97a4fbcedaeb79151
Change-Id: I3ce403510b3ca35970685fc97a4fbcedaeb79151
parent 27c58b4b
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,9 @@ package com.android.internal.policy;
import android.content.Context;
import android.content.res.Resources;
import android.util.DisplayUtils;
import android.view.Display;
import android.view.DisplayInfo;
import android.view.RoundedCorners;
import com.android.internal.R;
......@@ -57,11 +60,31 @@ public class ScreenDecorationsUtils {
bottomRadius = defaultRadius;
}
// If the physical pixels are scaled, apply it here
float scale = getPhysicalPixelDisplaySizeRatio(context);
if (scale != 1f) {
topRadius = topRadius * scale;
bottomRadius = bottomRadius * scale;
}
// Always use the smallest radius to make sure the rounded corners will
// completely cover the display.
return Math.min(topRadius, bottomRadius);
}
static float getPhysicalPixelDisplaySizeRatio(Context context) {
DisplayInfo displayInfo = new DisplayInfo();
context.getDisplay().getDisplayInfo(displayInfo);
final Display.Mode maxDisplayMode =
DisplayUtils.getMaximumResolutionDisplayMode(displayInfo.supportedModes);
if (maxDisplayMode == null) {
return 1f;
}
return DisplayUtils.getPhysicalPixelDisplaySizeRatio(
maxDisplayMode.getPhysicalWidth(), maxDisplayMode.getPhysicalHeight(),
displayInfo.getNaturalWidth(), displayInfo.getNaturalHeight());
}
/**
* If live rounded corners are supported on windows.
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment