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 constructors | |
|---|---|
| 
      SurfacePackage(SurfaceControlViewHost.SurfacePackage other)
      Constructs a copy of  | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        int | 
      describeContents()
      Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | 
| 
        
        
        
        
        
        InputTransferToken | 
      getInputTransferToken()
      Gets an  | 
| 
        
        
        
        
        
        SurfaceControl | 
      getSurfaceControl()
      Returns the  | 
| 
        
        
        
        
        
        void | 
      notifyConfigurationChanged(Configuration c)
      Forward a configuration to the remote SurfaceControlViewHost. | 
| 
        
        
        
        
        
        void | 
      notifyDetachedFromWindow()
      Tear down the remote SurfaceControlViewHost and cause View#onDetachedFromWindow to be invoked on the other side. | 
| 
        
        
        
        
        
        void | 
      release()
      Release the  | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object. | 
| 
        
        
        
        
        
        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 constructors
SurfacePackage
public SurfacePackage (SurfaceControlViewHost.SurfacePackage other)
Constructs a copy of SurfacePackage with an independent lifetime.
 The caller can use this to create an independent copy in situations where ownership of
 the SurfacePackage would be transferred elsewhere, such as attaching to a
 SurfaceView, returning as Binder result value, etc. The caller is
 responsible for releasing this copy when its done.
| Parameters | |
|---|---|
| other | SurfaceControlViewHost.SurfacePackage:SurfacePackageto create a copy of.
 This value cannot benull. | 
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 0orCONTENTS_FILE_DESCRIPTOR | 
getInputTransferToken
public InputTransferToken getInputTransferToken ()
Gets an InputTransferToken which can be used to request focus on the embedded
 surface or to transfer touch gesture to the embedded surface.
| Returns | |
|---|---|
| InputTransferToken | the InputTransferToken associated with SurfacePackageornullif
 the embedded hasn't set up its view or doesn't have input. | 
getSurfaceControl
public SurfaceControl getSurfaceControl ()
Returns the SurfaceControl associated with this SurfacePackage for
 cases where more control is required.
| Returns | |
|---|---|
| SurfaceControl | the SurfaceControl associated with this SurfacePackage and its containing
     SurfaceControlViewHost
 This value cannot be null. | 
notifyConfigurationChanged
public void notifyConfigurationChanged (Configuration c)
Forward a configuration to the remote SurfaceControlViewHost.
 This will cause View#onConfigurationChanged to be invoked on the remote
 end. This does not automatically cause the SurfaceControlViewHost
 to be resized. The root View of a SurfaceControlViewHost
 is more akin to a PopupWindow in that the size is user specified
 independent of configuration width and height.
 In order to receive the configuration change via
 View.onConfigurationChanged, the context used with the
 SurfaceControlViewHost and it's embedded view hierarchy must
 be a WindowContext obtained from Context.createWindowContext.
 If a regular service context is used, then your embedded view hierarchy
 will always perceive the global configuration.
| Parameters | |
|---|---|
| c | Configuration: The configuration to forward
 This value cannot benull. | 
notifyDetachedFromWindow
public void notifyDetachedFromWindow ()
Tear down the remote SurfaceControlViewHost and cause View#onDetachedFromWindow to be invoked on the other side.
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.
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
public void writeToParcel (Parcel out, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
| out | Parcel: This value cannot benull. | 
| flags | int: Additional flags about how the object should be written.
 May be 0 orParcelable.PARCELABLE_WRITE_RETURN_VALUE.
 Value is either0or a combination ofParcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
