Merge "Allow extending the SurfacePackage lifetime" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
25546c3867
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user