summaryrefslogtreecommitdiff
path: root/core/java/android/view/WindowlessViewRoot.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view/WindowlessViewRoot.java')
-rw-r--r--core/java/android/view/WindowlessViewRoot.java24
1 files changed, 15 insertions, 9 deletions
diff --git a/core/java/android/view/WindowlessViewRoot.java b/core/java/android/view/WindowlessViewRoot.java
index c2500b89073e..addf8e242e3d 100644
--- a/core/java/android/view/WindowlessViewRoot.java
+++ b/core/java/android/view/WindowlessViewRoot.java
@@ -16,12 +16,11 @@
package android.view;
-import android.content.res.Resources;
-import android.content.Context;
-import android.view.SurfaceControl;
-import android.view.View;
-
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.TestApi;
+import android.content.Context;
+import android.os.IBinder;
/**
* Utility class for adding a view hierarchy to a SurfaceControl.
@@ -31,10 +30,13 @@ import android.annotation.TestApi;
*/
@TestApi
public class WindowlessViewRoot {
- ViewRootImpl mViewRoot;
- WindowlessWindowManager mWm;
- public WindowlessViewRoot(Context c, Display d, SurfaceControl rootSurface) {
- mWm = new WindowlessWindowManager(c.getResources().getConfiguration(), rootSurface);
+ private ViewRootImpl mViewRoot;
+ private WindowlessWindowManager mWm;
+ public WindowlessViewRoot(@NonNull Context c, @NonNull Display d,
+ @NonNull SurfaceControl rootSurface,
+ @Nullable IBinder hostInputToken) {
+ mWm = new WindowlessWindowManager(c.getResources().getConfiguration(), rootSurface,
+ hostInputToken);
mViewRoot = new ViewRootImpl(c, d, mWm);
}
@@ -49,4 +51,8 @@ public class WindowlessViewRoot {
t.apply();
});
}
+
+ public void dispose() {
+ mViewRoot.dispatchDetachedFromWindow();
+ }
}