Added in API level 37

PccClient


open class PccClient
kotlin.Any
   ↳ android.app.privatecompute.PccClient

Provides a connection to a PCC service.

Summary

Public methods
open static PccClient
createInstance(context: Context, binder: IBinder)

Factory method to create an instance of PccClient.

open Unit

Sends a Bundle of data to the connected PCC service.

Public methods

createInstance

Added in API level 37
open static fun createInstance(
    context: Context,
    binder: IBinder
): PccClient

Factory method to create an instance of PccClient. This should be called from onServiceConnected() with the IBinder received from the system

Example:

<code>
  private final ServiceConnection mConnection = new ServiceConnection() {
    @Override
    public void onServiceConnected(ComponentName className, IBinder service) {
      mClient = PccClient.createInstance(MainActivity.this, service);
    }
 
    @Override
    public void onServiceDisconnected(ComponentName className) {
      mClient = null;
    }
  };
 
  //...
  bindService(intent, mConnection, flags);
  </code>
Parameters
context Context: The Context from the calling component.
This value cannot be null.
binder IBinder: The IBinder object received from the service connection.
This value cannot be null.
Return
PccClient A new instance of PccClient.

sendData

Added in API level 37
open fun sendData(data: Bundle): Unit

Sends a Bundle of data to the connected PCC service. The Bundle is sanitized to enforce one-way data flow if the caller isn't allowed two-way communication with PCC components.

Parameters
data Bundle: The Bundle of data to send.
This value cannot be null.
Exceptions
java.lang.IllegalArgumentException if the Bundle contains unsafe data types and the caller isn't allowed two way communication with PCC components. To enforce a strictly one-way data flow, the Bundle is sanitized to prevent objects that can be used to establish a two-way communication channel like IBinder, Messenger, etc.

Allowed data types are:

java.lang.IllegalStateException if sendData is called after the service has been killed by the system
java.lang.RuntimeException if the PCC service is unavailable for any other reason.
java.lang.SecurityException if the packageName from the passed context does not match the actual package name of the app.