AbstractSandboxedUiAdapter


abstract class AbstractSandboxedUiAdapter : SandboxedUiAdapter, SessionObserverFactoryRegistry


An abstract class that implements SandboxedUiAdapter while abstracting away methods that do not need to be implemented by a UI provider.

UI providers should use this class rather than implementing SandboxedUiAdapter directly.

Summary

Nested types

An abstract class that implements SandboxedUiAdapter.Session so that a UI provider does not need to implement the entire interface.

Public constructors

Public functions

final Unit
addObserverFactory(sessionObserverFactory: SessionObserverFactory)

Adds a SessionObserverFactory for tracking UI presentation state across UI sessions.

final Unit

Removes a SessionObserverFactory, if it has been previously added with addObserverFactory.

Inherited functions

From androidx.privacysandbox.ui.core.SandboxedUiAdapter
abstract Unit
openSession(
    context: Context,
    sessionConstants: SessionConstants,
    initialWidth: Int,
    initialHeight: Int,
    isZOrderOnTop: Boolean,
    clientExecutor: Executor,
    client: SandboxedUiAdapter.SessionClient
)

Open a new session for displaying content with an initial size of initialWidthxinitialHeight pixels.

Public constructors

AbstractSandboxedUiAdapter

Added in 1.0.0-alpha13
AbstractSandboxedUiAdapter()

Public functions

addObserverFactory

final fun addObserverFactory(sessionObserverFactory: SessionObserverFactory): Unit

Adds a SessionObserverFactory for tracking UI presentation state across UI sessions. This has no effect on already open sessions.

For each session that is created for the adapter after this call returns, SessionObserverFactory.create will be invoked to allow a new SessionObserver instance to be attached to the UI session. This SessionObserver will receive UI updates for the lifetime of the session. A separate SessionObserverFactory.create call will be made for each UI session.

removeObserverFactory

final fun removeObserverFactory(sessionObserverFactory: SessionObserverFactory): Unit

Removes a SessionObserverFactory, if it has been previously added with addObserverFactory.

If the SessionObserverFactory was not previously added, no action is performed. Any existing SessionObserver instances that have been created by the SessionObserverFactory will continue to receive updates until their corresponding UI session has been closed. For any subsequent sessions created], no call to SessionObserverFactory.create will be made.

Public properties

sessionObserverFactories

final val sessionObserverFactoriesList<SessionObserverFactory>