From bdd07c2982cc8939c6b764ad46f094db2321b2e1 Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Mon, 25 Jan 2021 10:39:50 +0800 Subject: [PATCH] Promote mWindowContextToken to TestApi ... to test it on WindowManager_LayoutParamsTest Test: atest WindowManager_LayoutParamsTest Bug: 159767464 Bug: 153369119 Change-Id: Ibec7ce213ca614c4c40bdb4ce8b7cad9b2ca958e --- core/api/test-current.txt | 2 ++ core/java/android/view/WindowManager.java | 41 +++++++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/core/api/test-current.txt b/core/api/test-current.txt index c237d7d572382..bd246050f3334 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -2310,6 +2310,8 @@ package android.view { } public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable { + method @Nullable public final android.os.IBinder getWindowContextToken(); + method public final void setWindowContextToken(@NonNull android.os.IBinder); field public static final int ACCESSIBILITY_TITLE_CHANGED = 33554432; // 0x2000000 field public static final int PRIVATE_FLAG_NO_MOVE_ANIMATION = 64; // 0x40 field public CharSequence accessibilityTitle; diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 1327f9c6e8270..05d7e5d6948ce 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -83,6 +83,7 @@ import static android.view.WindowLayoutParamsProto.Y; import android.Manifest.permission; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; @@ -99,6 +100,7 @@ import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; import android.os.Build; +import android.os.Bundle; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; @@ -2846,12 +2848,14 @@ public interface WindowManager extends ViewManager { /** * The token of {@link android.app.WindowContext}. It is usually a - * {@link android.app.WindowTokenClient} and is used for updating - * {@link android.content.res.Resources} from {@link Configuration} propagated from the - * server side. + * {@link android.app.WindowTokenClient} and is used for associating the params with an + * existing node in the WindowManager hierarchy and getting the corresponding + * {@link Configuration} and {@link android.content.res.Resources} values with updates + * propagated from the server side. * * @hide */ + @Nullable public IBinder mWindowContextToken = null; /** @@ -3538,6 +3542,37 @@ public interface WindowManager extends ViewManager { return userActivityTimeout; } + /** + * Sets the {@link android.app.WindowContext} token. + * + * @see #getWindowContextToken() + * + * @hide + */ + @TestApi + public final void setWindowContextToken(@NonNull IBinder token) { + mWindowContextToken = token; + } + + /** + * Gets the {@link android.app.WindowContext} token. + * + * The token is usually a {@link android.app.WindowTokenClient} and is used for associating + * the params with an existing node in the WindowManager hierarchy and getting the + * corresponding {@link Configuration} and {@link android.content.res.Resources} values with + * updates propagated from the server side. + * + * @see android.app.WindowTokenClient + * @see Context#createWindowContext(Display, int, Bundle) + * + * @hide + */ + @TestApi + @Nullable + public final IBinder getWindowContextToken() { + return mWindowContextToken; + } + public int describeContents() { return 0; }