Package-level declarations

Types

Link copied to clipboard
data class FeatureConfig(val enabled: Boolean? = false, val introducedAt: String = "", val expiresAt: String? = null)
Link copied to clipboard
data class Features(val chatAssignedSentryData: FeatureConfig? = FeatureConfig(false, "", ""), val privacyNotice: FeatureConfig? = null)
Link copied to clipboard
data class PrivacyNoticeContent(val url: String? = null, val text: String? = null)

Partner-authored privacy notice copy for one language. Both fields are required to render; either being absent leaves the banner hidden.

Link copied to clipboard
data class SDKFileUploadTypes(val description: String = DocumentDescription.EMPTY.value, val maxSizeInMB: Long = 0, val validMimeType: List<String> = listOf())

Functions

Link copied to clipboard
fun isChatAssignedFeatureEnabled(isSentryEnabled: Boolean, features: Features?, nowMillis: Long = System.currentTimeMillis()): Boolean
Link copied to clipboard
fun isFeatureActive(globalEnabled: Boolean, feature: FeatureConfig?, nowMillis: Long = System.currentTimeMillis()): Boolean
Link copied to clipboard
fun isFeatureEnabled(feature: FeatureConfig?, nowMillis: Long = System.currentTimeMillis()): Boolean

Mirrors isFeatureEnabled in chat-sdk-web, so a single PCD entry behaves identically on both platforms: only an explicit enabled: false is a hard off, and the introducedAt/expiresAt bounds are each applied only when actually present.