SandboxedSdk


public final class SandboxedSdk
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.sdksandbox.SandboxedSdk


Represents an SDK loaded in the sandbox process.

Returned in response to SdkSandboxManager.loadSdk, on success. An application can obtain it by calling SdkSandboxManager.loadSdk. It should use this object to obtain an interface to the SDK through getInterface().

The SDK should create it when SandboxedSdkProvider.onLoadSdk is called, and drop all references to it when SandboxedSdkProvider.beforeUnloadSdk() is called. Additionally, the SDK should fail calls made to the IBinder returned from getInterface() after SandboxedSdkProvider.beforeUnloadSdk() has been called.

Summary

Inherited constants

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".

Fields

public static final Creator<SandboxedSdk> CREATOR

Public constructors

SandboxedSdk(IBinder sdkInterface)

Creates a SandboxedSdk object.

Public methods

int describeContents()

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

IBinder getInterface()

Returns the interface to the SDK that was loaded in response to SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver).

SharedLibraryInfo getSharedLibraryInfo()

Returns the SharedLibraryInfo for the SDK.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract int describeContents()

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

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Fields

CREATOR

public static final Creator<SandboxedSdk> CREATOR

Public constructors

SandboxedSdk

public SandboxedSdk (IBinder sdkInterface)

Creates a SandboxedSdk object.

Parameters
sdkInterface IBinder: The SDK's interface. This will be the entrypoint into the sandboxed SDK for the application. The SDK should keep this valid until it's loaded in the sandbox, and start failing calls to this interface once it has been unloaded.

This interface can later be retrieved using getInterface(). This value cannot be null.

Public methods

describeContents

Added in API level 34
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

getInterface

public IBinder getInterface ()

Returns the interface to the SDK that was loaded in response to SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver). A null interface is returned if the Binder has since become unavailable, in response to the SDK being unloaded.

Returns
IBinder

getSharedLibraryInfo

public SharedLibraryInfo getSharedLibraryInfo ()

Returns the SharedLibraryInfo for the SDK.

Returns
SharedLibraryInfo This value cannot be null.

Throws
IllegalStateException if the system service has not yet attached SharedLibraryInfo to the SandboxedSdk object sent by the SDK.

writeToParcel

Added in API level 34
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest 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