ProcessingFeatureController

class ProcessingFeatureController<T : Any> @MsdkInternalApi constructor(initialFeature: T, featureFactory: suspend () -> Result<T>, initialIsActive: Boolean, activationApplicator: suspend (Boolean) -> MimiApplicatorResult, activationTimeout: Duration, tag: String?)

Controls the activation state of a top-level Mimi processing feature, and exposes the underlying feature so callers can interact with its modules.

Use activate and deactivate to toggle the feature on the connected device. feature reflects the activation state as an AsyncState: the value is the underlying feature when active and null when inactive; the loadingState emits LoadingState.InProgress while an activate / deactivate call is running, LoadingState.Done when at rest, and LoadingState.Failure when the previous call failed.

Since

13.0.0

Parameters

T
  • the underlying feature type, e.g. VoiceClarityFeature.

Constructors

Link copied to clipboard
constructor(initialFeature: T, featureFactory: suspend () -> Result<T>, initialIsActive: Boolean, activationApplicator: suspend (Boolean) -> MimiApplicatorResult, activationTimeout: Duration, tag: String?)

Properties

Link copied to clipboard

Observable handle to the underlying feature wrapped in AsyncState.

Functions

Link copied to clipboard

Activates the feature on the connected device.

Link copied to clipboard

Deactivates the feature on the connected device.