From 32f14f0378bbee0f642b9678192e89131c528806 Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Tue, 14 Apr 2020 09:46:32 +0800 Subject: [PATCH] Introducee maxBounds in WindowConfiguration This value is used to report WM#getMaximumWindowMetrics. Current approach, which is use logical display metrics, is not compatible with display area feature. Especially, when multiple task display area feature are phasing in. Test: atest WindowConfigurationTests Bug: 151414021 Change-Id: Iaa1f52395a1b7a0a7fefd5c31cfde703fa81f509 --- .../java/android/app/WindowConfiguration.java | 90 ++++++++++++++++--- .../android/app/window_configuration.proto | 1 + .../server/wm/WindowConfigurationTests.java | 18 ++++ 3 files changed, 99 insertions(+), 10 deletions(-) diff --git a/core/java/android/app/WindowConfiguration.java b/core/java/android/app/WindowConfiguration.java index a486b9501e0c9..ec81ae3bc7c2b 100644 --- a/core/java/android/app/WindowConfiguration.java +++ b/core/java/android/app/WindowConfiguration.java @@ -20,11 +20,13 @@ import static android.app.ActivityThread.isSystem; import static android.app.WindowConfigurationProto.ACTIVITY_TYPE; import static android.app.WindowConfigurationProto.APP_BOUNDS; import static android.app.WindowConfigurationProto.BOUNDS; +import static android.app.WindowConfigurationProto.MAX_BOUNDS; import static android.app.WindowConfigurationProto.WINDOWING_MODE; import static android.view.Surface.rotationToString; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.TestApi; import android.compat.annotation.UnsupportedAppUsage; import android.content.res.Configuration; @@ -35,8 +37,10 @@ import android.util.proto.ProtoInputStream; import android.util.proto.ProtoOutputStream; import android.util.proto.WireTypeMismatchException; import android.view.DisplayInfo; +import android.view.WindowManager; import java.io.IOException; +import java.util.Objects; /** * Class that contains windowing configuration/state for other objects that contain windows directly @@ -63,6 +67,12 @@ public class WindowConfiguration implements Parcelable, Comparable