Merge "Allow extending the SurfacePackage lifetime" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-03-24 04:54:02 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 0 deletions

View File

@@ -48100,6 +48100,7 @@ package android.view {
}
public static final class SurfaceControlViewHost.SurfacePackage implements android.os.Parcelable {
ctor public SurfaceControlViewHost.SurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage);
method public int describeContents();
method public void release();
method public void writeToParcel(@NonNull android.os.Parcel, int);

View File

@@ -79,6 +79,26 @@ public class SurfaceControlViewHost {
mInputToken = inputToken;
}
/**
* Constructs a copy of {@code SurfacePackage} with an independent lifetime.
*
* The caller can use this to create an independent copy in situations where ownership of
* the {@code SurfacePackage} would be transferred elsewhere, such as attaching to a
* {@code SurfaceView}, returning as {@code Binder} result value, etc. The caller is
* responsible for releasing this copy when its done.
*
* @param other {@code SurfacePackage} to create a copy of.
*/
public SurfacePackage(@NonNull SurfacePackage other) {
SurfaceControl otherSurfaceControl = other.mSurfaceControl;
if (otherSurfaceControl != null && otherSurfaceControl.isValid()) {
mSurfaceControl = new SurfaceControl();
mSurfaceControl.copyFrom(otherSurfaceControl, "SurfacePackage");
}
mAccessibilityEmbeddedConnection = other.mAccessibilityEmbeddedConnection;
mInputToken = other.mInputToken;
}
private SurfacePackage(Parcel in) {
mSurfaceControl = new SurfaceControl();
mSurfaceControl.readFromParcel(in);