From 8d8b31b833dfff1ee87eac8e058832a5ab2d8705 Mon Sep 17 00:00:00 2001 From: chaviw Date: Wed, 29 Apr 2020 11:36:22 -0700 Subject: [PATCH] Added featureId to DisplayAreaInfo This is something clients will need if they register to listen to DisplayAreas for several features. This will help distinguish the DisplayAreaInfos. Test: Builds Bug: 152114574 Change-Id: If1d14aee070388274afb6a43bc1c631d79fb4b38 --- api/test-current.txt | 3 ++- core/java/android/window/DisplayAreaInfo.java | 7 ++++++- services/core/java/com/android/server/wm/DisplayArea.java | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/api/test-current.txt b/api/test-current.txt index d693f03a2bd68..b164496baa1ff 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -5277,12 +5277,13 @@ package android.widget { package android.window { public final class DisplayAreaInfo implements android.os.Parcelable { - ctor public DisplayAreaInfo(@NonNull android.window.WindowContainerToken, int); + ctor public DisplayAreaInfo(@NonNull android.window.WindowContainerToken, int, int); method public int describeContents(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator CREATOR; field @NonNull public final android.content.res.Configuration configuration; field public final int displayId; + field public final int featureId; field @NonNull public final android.window.WindowContainerToken token; } diff --git a/core/java/android/window/DisplayAreaInfo.java b/core/java/android/window/DisplayAreaInfo.java index 0d35bcafdf453..358467ff599f4 100644 --- a/core/java/android/window/DisplayAreaInfo.java +++ b/core/java/android/window/DisplayAreaInfo.java @@ -43,15 +43,19 @@ public final class DisplayAreaInfo implements Parcelable { */ public final int displayId; - public DisplayAreaInfo(@NonNull WindowContainerToken token, int displayId) { + public final int featureId; + + public DisplayAreaInfo(@NonNull WindowContainerToken token, int displayId, int featureId) { this.token = token; this.displayId = displayId; + this.featureId = featureId; } private DisplayAreaInfo(Parcel in) { token = WindowContainerToken.CREATOR.createFromParcel(in); configuration.readFromParcel(in); displayId = in.readInt(); + featureId = in.readInt(); } @Override @@ -59,6 +63,7 @@ public final class DisplayAreaInfo implements Parcelable { token.writeToParcel(dest, flags); configuration.writeToParcel(dest, flags); dest.writeInt(displayId); + dest.writeInt(featureId); } @NonNull diff --git a/services/core/java/com/android/server/wm/DisplayArea.java b/services/core/java/com/android/server/wm/DisplayArea.java index 9b34bd17d0426..0240a6beed179 100644 --- a/services/core/java/com/android/server/wm/DisplayArea.java +++ b/services/core/java/com/android/server/wm/DisplayArea.java @@ -171,7 +171,7 @@ public class DisplayArea extends WindowContainer { DisplayAreaInfo getDisplayAreaInfo() { DisplayAreaInfo info = new DisplayAreaInfo(mRemoteToken.toWindowContainerToken(), - getDisplayContent().getDisplayId()); + getDisplayContent().getDisplayId(), mFeatureId); info.configuration.setTo(getConfiguration()); return info; }