SurfaceControl
class SurfaceControl : Parcelable
| kotlin.Any | |
| ↳ | android.view.SurfaceControl | 
Handle to an on-screen Surface managed by the system compositor. The SurfaceControl is a combination of a buffer source, and metadata about how to display the buffers. By constructing a Surface from this SurfaceControl you can submit buffers to be composited. Using SurfaceControl.Transaction you can manipulate various properties of how the buffer will be displayed on-screen. SurfaceControl's are arranged into a scene-graph like hierarchy, and as such any SurfaceControl may have a parent. Geometric properties like transform, crop, and Z-ordering will be inherited from the parent, as if the child were content in the parents buffer stream.
Summary
| Nested classes | |
|---|---|
| 
            
             Builder class for   | 
        |
| 
            
             Jank information to be fed back via   | 
        |
| abstract | 
            
             Listener interface to be informed about SurfaceFlinger's jank classification for a specific surface.  | 
        
| 
            
             Handle to a registered OnJankDatalistener.  | 
        |
| 
            
             An atomic set of changes to a set of SurfaceControl.  | 
        |
| abstract | 
            
             Interface to handle request to   | 
        
| 
            
             Transaction stats given to the listener registered in   | 
        |
| 
            
             Threshold values that are sent with   | 
        |
| Constants | |
|---|---|
| static Int | 
            
             Identity transform.  | 
        
| static Int | 
            
             Mirror horizontally.  | 
        
| static Int | 
            
             Mirror vertically.  | 
        
| static Int | 
            
             Rotate 180 degrees clock-wise.  | 
        
| static Int | 
            
             Rotate 270 degrees clock-wise.  | 
        
| static Int | 
            
             Rotate 90 degrees clock-wise.  | 
        
| Inherited constants | |
|---|---|
| Public methods | |
|---|---|
| Int | |
| Boolean | 
            isValid()Check whether this instance points to a valid layer with the system-compositor.  | 
        
| Unit | 
            readFromParcel(in: Parcel!) | 
        
| Unit | 
            release()Release the local reference to the server-side surface.  | 
        
| String | 
            toString() | 
        
| Unit | 
            writeToParcel(dest: Parcel, flags: Int) | 
        
| Properties | |
|---|---|
| static Parcelable.Creator<SurfaceControl!> | |
Constants
BUFFER_TRANSFORM_IDENTITY
static val BUFFER_TRANSFORM_IDENTITY: Int
Identity transform. These transforms that can be applied to buffers as they are displayed to a window.
Value: 0See Also
BUFFER_TRANSFORM_MIRROR_HORIZONTAL
static val BUFFER_TRANSFORM_MIRROR_HORIZONTAL: Int
Mirror horizontally. Can be combined with BUFFER_TRANSFORM_MIRROR_VERTICAL and BUFFER_TRANSFORM_ROTATE_90.
Value: 1BUFFER_TRANSFORM_MIRROR_VERTICAL
static val BUFFER_TRANSFORM_MIRROR_VERTICAL: Int
Mirror vertically. Can be combined with BUFFER_TRANSFORM_MIRROR_HORIZONTAL and BUFFER_TRANSFORM_ROTATE_90.
Value: 2BUFFER_TRANSFORM_ROTATE_180
static val BUFFER_TRANSFORM_ROTATE_180: Int
Rotate 180 degrees clock-wise. Cannot be combined with other transforms. Equivalent to (BUFFER_TRANSFORM_MIRROR_HORIZONTAL | BUFFER_TRANSFORM_MIRROR_VERTICAL).
Value: 3BUFFER_TRANSFORM_ROTATE_270
static val BUFFER_TRANSFORM_ROTATE_270: Int
Rotate 270 degrees clock-wise. Cannot be combined with other transforms. Equivalent to (BUFFER_TRANSFORM_ROTATE_180 | BUFFER_TRANSFORM_ROTATE_90).
Value: 7BUFFER_TRANSFORM_ROTATE_90
static val BUFFER_TRANSFORM_ROTATE_90: Int
Rotate 90 degrees clock-wise. Can be combined with BUFFER_TRANSFORM_MIRROR_HORIZONTAL and BUFFER_TRANSFORM_MIRROR_VERTICAL.
Value: 4Public methods
describeContents
fun describeContents(): Int
| Return | |
|---|---|
Int | 
            a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR | 
          
isValid
fun isValid(): Boolean
Check whether this instance points to a valid layer with the system-compositor. For example this may be false if construction failed, or the layer was released (release).
| Return | |
|---|---|
Boolean | 
            Whether this SurfaceControl is valid. | 
release
fun release(): Unit
Release the local reference to the server-side surface. The surface may continue to exist on-screen as long as its parent continues to exist. To explicitly remove a surface from the screen use Transaction.reparent with a null-parent. After release, isValid will return false and other methods will throw an exception. Always call release() when you're done with a SurfaceControl.
toString
fun toString(): String
| Return | |
|---|---|
String | 
            a string representation of the object. | 
writeToParcel
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
| Parameters | |
|---|---|
dest | 
            Parcel: The Parcel in which the object should be written. This value cannot be null. | 
          
flags | 
            Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |