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:
Lucas Dupin
2019-11-21 15:15:36 -08:00
committed by Evan Laird
parent 23e867d5de
commit 21cc2e5f7d
2 changed files with 7 additions and 1 deletions

View File

@@ -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;
}

View File

@@ -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.