From 0353f53b9a35abb3179d34a0b995f3b691f6c29f Mon Sep 17 00:00:00 2001 From: Chris Li Date: Thu, 13 May 2021 15:59:36 -0700 Subject: [PATCH] Add feature id, isRootDisplayArea, isOrganized to DisplayArea dump This is to allow us to verify DisplayArea policy in CTS Bug: 175840704 Test: atest CtsWindowManagerDeviceTestCases:DisplayAreaTests Change-Id: I60d9fe1ee68b38e2812feb9a818f9d4a67edc694 --- core/proto/android/server/windowmanagerservice.proto | 3 +++ services/core/java/com/android/server/wm/DisplayArea.java | 8 +++++++- .../core/java/com/android/server/wm/TaskDisplayArea.java | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto index b157146e70a38..fa1e9d4afcdfe 100644 --- a/core/proto/android/server/windowmanagerservice.proto +++ b/core/proto/android/server/windowmanagerservice.proto @@ -221,6 +221,9 @@ message DisplayAreaProto { optional string name = 2 [ (.android.privacy).dest = DEST_EXPLICIT ]; repeated DisplayAreaChildProto children = 3 [deprecated=true]; optional bool is_task_display_area = 4; + optional bool is_root_display_area = 5; + optional int32 feature_id = 6; + optional bool is_organized = 7; } /* represents a generic child of a DisplayArea */ diff --git a/services/core/java/com/android/server/wm/DisplayArea.java b/services/core/java/com/android/server/wm/DisplayArea.java index 9855ea50c83d5..b24ab93145b1a 100644 --- a/services/core/java/com/android/server/wm/DisplayArea.java +++ b/services/core/java/com/android/server/wm/DisplayArea.java @@ -25,6 +25,9 @@ import static android.window.DisplayAreaOrganizer.FEATURE_WINDOW_TOKENS; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION; import static com.android.internal.util.Preconditions.checkState; +import static com.android.server.wm.DisplayAreaProto.FEATURE_ID; +import static com.android.server.wm.DisplayAreaProto.IS_ORGANIZED; +import static com.android.server.wm.DisplayAreaProto.IS_ROOT_DISPLAY_AREA; import static com.android.server.wm.DisplayAreaProto.IS_TASK_DISPLAY_AREA; import static com.android.server.wm.DisplayAreaProto.NAME; import static com.android.server.wm.DisplayAreaProto.WINDOW_CONTAINER; @@ -273,6 +276,9 @@ public class DisplayArea extends WindowContainer { super.dumpDebug(proto, WINDOW_CONTAINER, logLevel); proto.write(NAME, mName); proto.write(IS_TASK_DISPLAY_AREA, isTaskDisplayArea()); + proto.write(IS_ROOT_DISPLAY_AREA, asRootDisplayArea() != null); + proto.write(FEATURE_ID, mFeatureId); + proto.write(IS_ORGANIZED, isOrganized()); proto.end(token); } @@ -515,7 +521,7 @@ public class DisplayArea extends WindowContainer { return true; } - protected boolean isTaskDisplayArea() { + boolean isTaskDisplayArea() { return false; } diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java index ccfdb8c236794..ae90a7d00fa9b 100644 --- a/services/core/java/com/android/server/wm/TaskDisplayArea.java +++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java @@ -2131,7 +2131,7 @@ final class TaskDisplayArea extends DisplayArea { } @Override - protected boolean isTaskDisplayArea() { + boolean isTaskDisplayArea() { return true; }