ConfigManager

open class ConfigManager(val context: Context, val storeManager: StoreManager, val entitlements: Entitlements, val storage: Storage, val network: SuperwallAPI, val deviceHelper: DeviceHelper, var options: SuperwallOptions, val paywallManager: PaywallManager, val webPaywallRedeemer: () -> WebPaywallRedeemer, val factory: ConfigManager.Factory, val assignments: Assignments, val paywallPreload: PaywallPreload, ioScope: IOScope, val tracker: suspend (TrackableSuperwallEvent) -> Unit, val testMode: TestMode? = null, val identityManager: () -> IdentityManager? = null, val setSubscriptionStatus: (SubscriptionStatus) -> Unit? = null, val awaitUtilNetwork: suspend () -> Unit = { context.awaitUntilNetworkExists() }, val activateTestMode: suspend (Config, Boolean) -> Unit = { _, _ -> }, val actor: StateActor<ConfigContext, ConfigState>) : ConfigContext(source)

Constructors

Link copied to clipboard
constructor(context: Context, storeManager: StoreManager, entitlements: Entitlements, storage: Storage, network: SuperwallAPI, deviceHelper: DeviceHelper, options: SuperwallOptions, paywallManager: PaywallManager, webPaywallRedeemer: () -> WebPaywallRedeemer, factory: ConfigManager.Factory, assignments: Assignments, paywallPreload: PaywallPreload, ioScope: IOScope, tracker: suspend (TrackableSuperwallEvent) -> Unit, testMode: TestMode? = null, identityManager: () -> IdentityManager? = null, setSubscriptionStatus: (SubscriptionStatus) -> Unit? = null, awaitUtilNetwork: suspend () -> Unit = { context.awaitUntilNetworkExists() }, activateTestMode: suspend (Config, Boolean) -> Unit = { _, _ -> }, actor: StateActor<ConfigContext, ConfigState>)

Properties

Link copied to clipboard
open override val activateTestMode: suspend (Config, Boolean) -> Unit
Link copied to clipboard
Link copied to clipboard
open override val assignments: Assignments
Link copied to clipboard
open override val awaitUtilNetwork: suspend () -> Unit
Link copied to clipboard
Link copied to clipboard
open override val context: Context
Link copied to clipboard
open override val deviceHelper: DeviceHelper
Link copied to clipboard
open override val entitlements: Entitlements
Link copied to clipboard
open override val factory: ConfigManager.Factory
Link copied to clipboard
val hasConfig: Flow<Config>
Link copied to clipboard
open override val identityManager: () -> IdentityManager?
Link copied to clipboard
open override val network: SuperwallAPI
Link copied to clipboard
open override var options: SuperwallOptions
Link copied to clipboard
open override val paywallManager: PaywallManager
Link copied to clipboard
open override val paywallPreload: PaywallPreload
Link copied to clipboard
open override val scope: CoroutineScope
Link copied to clipboard
Link copied to clipboard
open override val state: StateFlow<ConfigState>

Delegate state reads to the actor.

Link copied to clipboard
open override val storage: Storage
Link copied to clipboard
open override val storeManager: StoreManager
Link copied to clipboard
open override val testMode: TestMode?
Link copied to clipboard
open override val tracker: suspend (TrackableSuperwallEvent) -> Unit
Link copied to clipboard
Link copied to clipboard
open override val webPaywallRedeemer: () -> WebPaywallRedeemer

Functions

Link copied to clipboard
open fun delete(storable: Storable<*>)

Delete a value from storage.

Link copied to clipboard
open fun effect(action: TypedAction<ConfigContext>)

Fire-and-forget dispatch of a sub-action on this context's actor.

Link copied to clipboard
suspend fun fetchConfiguration()
Link copied to clipboard
suspend fun getAssignments()
Link copied to clipboard
open suspend fun immediate(action: TypedAction<ConfigContext>)
Link copied to clipboard
open suspend fun immediateUntil(action: TypedAction<ConfigContext>, until: (ConfigState) -> Boolean)
Link copied to clipboard
open fun <T : Any> persist(storable: Storable<T>, value: T)

Persist a value to storage.

Link copied to clipboard
suspend fun preloadAllPaywalls()
Link copied to clipboard
suspend fun preloadPaywallsByNames(eventNames: Set<String>)
Link copied to clipboard
open fun <T : Any> read(storable: Storable<T>): Result<T>
Link copied to clipboard

Re-runs preload if any DeviceHelper field referenced by IF_TRUE rules has changed since the last preload. Cheap no-op when (a) config has no IF_TRUE rule or (b) the fingerprint matches the last dispatched preload.

Link copied to clipboard
suspend fun reevaluateTestMode(config: Config? = null, appUserId: String? = null, aliasId: String? = null)
Link copied to clipboard
fun reset()
Link copied to clipboard
open override fun setTriggers(triggers: Map<String, Trigger>)
Link copied to clipboard
open fun sideEffect(what: suspend () -> Unit)
Link copied to clipboard
open fun track(event: TrackableSuperwallEvent)
Link copied to clipboard
open override fun update(reducer: Reducer<ConfigState>)

Apply a state reducer inline.