# Print output for @column tags ?> SurfaceControlViewHost.SurfacePackage - Android SDK | Android Developers

Most visited

Recently visited

SurfaceControlViewHost.SurfacePackage

public static final class SurfaceControlViewHost.SurfacePackage
extends Object implements Parcelable

java.lang.Object
   ↳ android.view.SurfaceControlViewHost.SurfacePackage


Package encapsulating a Surface hierarchy which contains interactive view elements. It's expected to get this object from SurfaceControlViewHost#getSurfacePackage afterwards it can be embedded within a SurfaceView by calling SurfaceView#setChildSurfacePackage. Note that each SurfacePackage must be released by calling SurfacePackage#release. However, if you use the recommended flow, the framework will automatically handle the lifetime for you. 1. When sending the package to the remote process, return it from an AIDL method or manually use FLAG_WRITE_RETURN_VALUE in writeToParcel. This will automatically release the package in the local process. 2. In the remote process, consume the package using SurfaceView. This way the SurfaceView will take over the lifetime and call SurfacePackage#release for the user. One final note: The SurfacePackage lifetime is totally de-coupled from the lifetime of the underlying SurfaceControlViewHost. Regardless of the lifetime of the package the user should still call SurfaceControlViewHost#release when finished.

Summary

Inherited constants

Fields

public static final Creator<SurfaceControlViewHost.SurfacePackage> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

void release()

Release the SurfaceControl associated with this package.

void writeToParcel(Parcel out, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

public static final Creator<SurfaceControlViewHost.SurfacePackage> CREATOR

Public methods

describeContents

public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

release

public void release ()

Release the SurfaceControl associated with this package. It's not necessary to call this if you pass the package to SurfaceView#setChildSurfacePackage as SurfaceView will take ownership in that case.

writeToParcel

public void writeToParcel (Parcel out, 
                int flags)

Flatten this object in to a Parcel.

Parameters
out Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES