View on GitHub

Cadabra

A/B testing library for Java/Kotlin/Android

cadabra-android / com.fo2rist.cadabra.android / VariantResources

VariantResources

interface VariantResources

Android resources accessor for particular experiment’s Variant. Automatically resolves resources (strings, layouts etc.) associated with one of experiment’s Variant. Usage:

E.g. For experiment variants A, B declare strings with names “title_a”, “title_b” or layouts “layout_a”, “layout_b” etc.

Then if the experiment is resolved to variant B, cadabra will return “title_b” and “layout_b” when getStringId(R.string.title_a), getLayoutId(R.layout.layout_a) are called.

If the experiment wasn’t started resolves all resources into defaults.

Functions

getLayoutId Get layout res ID for variant.abstract fun getLayoutId(defaultResourceId: Int): Int
getString Get string for variant.abstract fun getString(defaultResourceId: Int): String
getStringId Get string res ID for variant.abstract fun getStringId(defaultResourceId: Int): Int

Inheritors

ExperimentContext Full context of experiment state as it’s resolved for current session/user. If the experiment wasn’t started the variant is null resources resolved as is.class ExperimentContext : VariantResources