Package-level declarations

Types

Link copied to clipboard
data class BannerContent(val position: BannerPosition, val imageUrl: String?, val title: InAppText?, val message: InAppText?, @ColorInt val backgroundColor: Int, val action: InAppAction, val autoDismissMs: Long, val showCloseButton: Boolean)
Link copied to clipboard
Link copied to clipboard
data class CarouselContent(val items: List<CarouselItem>, val showCloseButton: Boolean)
Link copied to clipboard
data class CarouselItem(val imageUrl: String?, val title: InAppText?, val message: InAppText?, val action: InAppAction?)
Link copied to clipboard
data class FullscreenContent(val imageUrl: String?, @ColorInt val backgroundColor: Int, val title: InAppText?, val message: InAppText?, val buttons: List<InAppButton>, val showCloseButton: Boolean)
Link copied to clipboard
sealed class InAppAction

What happens when an in-app element is tapped.

Link copied to clipboard
data class InAppButton(val text: InAppText, @ColorInt val backgroundColor: Int, @ColorInt val borderColor: Int, val cornerRadiusDp: Float, val action: InAppAction)
Link copied to clipboard
sealed class InAppLayout

Typed native in-app message model. Mirrors the iOS PWInAppLayout enum: a layout discriminator carrying a dedicated content type, so adding a template is one new InAppLayout subclass plus one new view — no untyped map access leaks into the UI.

Link copied to clipboard
data class InAppMessage(val id: String?, val layout: InAppLayout, val maxDisplays: Int?, val cooldownSec: Long?, val expireEpochSec: Long?, val rawJson: String)

A parsed native in-app: the layout, optional opt-in frequency caps, and the raw config JSON. The raw JSON is retained so the presenting Activity can be handed the message by value through an Intent extra (re-parsed on the other side), which survives process death and configuration changes.

Link copied to clipboard
data class InAppText(val text: String, @ColorInt val color: Int)

A piece of styled text — label plus its (required) color.

Link copied to clipboard
data class ModalContent(@ColorInt val backgroundColor: Int, val title: InAppText?, val message: InAppText?, val imageUrl: String?, val showCloseButton: Boolean, val buttons: List<InAppButton>, val dimsBackground: Boolean)
Link copied to clipboard
data class StoriesContent(val items: List<StoryItem>, val loops: Boolean, val showCloseButton: Boolean)
Link copied to clipboard
data class StoryItem(val imageUrl: String?, val title: InAppText?, val message: InAppText?, val buttons: List<InAppButton>, val durationMs: Long)

Functions

Link copied to clipboard

Every image URL the message references, in slide order, including off-screen carousel/stories slides, with null/blank dropped. Used to warm Glide's cache before the view is built (mirrors iOS prefetching message.imageURLs() at enqueue time).