Google is committed to advancing racial equity for Black communities. See how.

KeyedAppStatesCallback

interface KeyedAppStatesCallback
androidx.enterprise.feedback.KeyedAppStatesCallback

Interface used to listen for the result when using KeyedAppStatesReporter#setStates(Collection, KeyedAppStatesCallback) or KeyedAppStatesReporter#setStatesImmediate(Collection, KeyedAppStatesCallback).

onResult(int, Throwable) will only only report errors which occur inside this app. If a failure occurs in the Device Policy Controller then this will not be reported.

STATUS_SUCCESS will be reported if the states are sent to all Device Policy Controllers.

Summary

Constants
static Int

An error occurred because the local app buffer was exceeded.

static Int

Used when the states have been sent to all eligible receivers.

static Int

An error has occurred because the transaction setting the states has exceeded the Android binder limit (1MB).

static Int

Used when an error has occurred which stopped the states being set that isn't covered by the other error types.

Public methods
abstract Unit
onResult(state: Int, @Nullable throwable: Throwable?)

Called either when an error happens in this app, or when the states have been sent to all eligible receivers.

Constants

STATUS_EXCEEDED_BUFFER_ERROR

static val STATUS_EXCEEDED_BUFFER_ERROR: Int

An error occurred because the local app buffer was exceeded. This means too many setState or setStateImmediate calls have been made without a connection to the DPC being formed.

Value: 3

STATUS_SUCCESS

static val STATUS_SUCCESS: Int

Used when the states have been sent to all eligible receivers.

If there are 0 eligible receivers on the device, then this will be recorded as success.

Value: 0

STATUS_TRANSACTION_TOO_LARGE_ERROR

static val STATUS_TRANSACTION_TOO_LARGE_ERROR: Int

An error has occurred because the transaction setting the states has exceeded the Android binder limit (1MB). This can occur because the app is filling up the 1MB limit with other IPC calls, or because the size or number of states being set is too large.

Value: 2

STATUS_UNKNOWN_ERROR

static val STATUS_UNKNOWN_ERROR: Int

Used when an error has occurred which stopped the states being set that isn't covered by the other error types.

Value: 1

Public methods

onResult

abstract fun onResult(
    state: Int,
    @Nullable throwable: Throwable?
): Unit

Called either when an error happens in this app, or when the states have been sent to all eligible receivers.

If there is an error, this will be called with the first error encountered.

If there are 0 eligible receivers on the device, then this will be recorded as success.