Support @left marker
By default cutouts are centered and support a @right marker to allow
them to be right aligned. Let's also support left alignment by
introducing a @left marker.
Test: atest DisplayCutoutTest
Test: manual
Bug: 143222961
Bug: 145707162
Change-Id: Ic5a645bd9f0513f3665f31c8b0f1861585bf30e6
Merged-In: Ic5a645bd9f0513f3665f31c8b0f1861585bf30e6
(cherry picked from commit 6e9636c5e0)
This commit is contained in:
@@ -66,6 +66,7 @@ public final class DisplayCutout {
|
||||
private static final String BOTTOM_MARKER = "@bottom";
|
||||
private static final String DP_MARKER = "@dp";
|
||||
private static final String RIGHT_MARKER = "@right";
|
||||
private static final String LEFT_MARKER = "@left";
|
||||
|
||||
/**
|
||||
* Category for overlays that allow emulating a display cutout on devices that don't have
|
||||
@@ -642,6 +643,9 @@ public final class DisplayCutout {
|
||||
if (spec.endsWith(RIGHT_MARKER)) {
|
||||
offsetX = displayWidth;
|
||||
spec = spec.substring(0, spec.length() - RIGHT_MARKER.length()).trim();
|
||||
} else if (spec.endsWith(LEFT_MARKER)) {
|
||||
offsetX = 0;
|
||||
spec = spec.substring(0, spec.length() - LEFT_MARKER.length()).trim();
|
||||
} else {
|
||||
offsetX = displayWidth / 2f;
|
||||
}
|
||||
|
||||
@@ -3194,7 +3194,9 @@
|
||||
|
||||
The path is assumed to be specified in display coordinates with pixel units and in
|
||||
the display's native orientation, with the origin of the coordinate system at the
|
||||
center top of the display.
|
||||
center top of the display. Optionally, you can append either `@left` or `@right` to the
|
||||
end of the path string, in order to change the path origin to either the top left,
|
||||
or top right of the display.
|
||||
|
||||
To facilitate writing device-independent emulation overlays, the marker `@dp` can be
|
||||
appended after the path string to interpret coordinates in dp instead of px units.
|
||||
|
||||
Reference in New Issue
Block a user