Merge "SurfaceControl: Bind close-guard lifetime to native-object lifetime." into rvc-dev

This commit is contained in:
Rob Carr
2020-03-02 20:40:17 +00:00
committed by Android (Google) Code Review

View File

@@ -420,6 +420,9 @@ public final class SurfaceControl implements Parcelable {
if (mNativeObject != 0) { if (mNativeObject != 0) {
release(); release();
} }
if (nativeObject != 0) {
mCloseGuard.open("release");
}
mNativeObject = nativeObject; mNativeObject = nativeObject;
} }
@@ -867,14 +870,12 @@ public final class SurfaceControl implements Parcelable {
private SurfaceControl(Parcel in) { private SurfaceControl(Parcel in) {
readFromParcel(in); readFromParcel(in);
mCloseGuard.open("release");
} }
/** /**
* @hide * @hide
*/ */
public SurfaceControl() { public SurfaceControl() {
mCloseGuard.open("release");
} }
public void readFromParcel(Parcel in) { public void readFromParcel(Parcel in) {
@@ -972,9 +973,9 @@ public final class SurfaceControl implements Parcelable {
if (mNativeObject != 0) { if (mNativeObject != 0) {
nativeRelease(mNativeObject); nativeRelease(mNativeObject);
mNativeObject = 0; mNativeObject = 0;
}
mCloseGuard.close(); mCloseGuard.close();
} }
}
/** /**
* Disconnect any client still connected to the surface. * Disconnect any client still connected to the surface.