Android UIWidget#
The Curity HAAPI Android UIWidget is the top of the Android HAAPI stack. It composes the Android SDK internally and ships prebuilt themable fragments for every step of a HAAPI flow, launched through HaapiFlowActivity. The framework is built on top of the Android Views system and Material Components.
This page is a platform-specific entry point: install instructions, the per-language reference, and pointers to the shared topic pages.
Installation#
The Android UIWidget ships as its own Maven artifact. The Android SDK and Driver are automatically pulled in as transitive dependencies.
dependencies {
// Replace LATEST_VERSION with the latest release on Maven Central.
implementation("se.curity.identityserver:identityserver.haapi.android.ui.widget:LATEST_VERSION")
}
Requirements#
-
Android 8.0 or later (API level 26+) runtime target.
-
Android 9+ (API 28) and CIS 9.3.0+ for native Passkeys / WebAuthn support.
-
Kotlin 1.9+ and Android Gradle Plugin 8.x or later for the host project — older toolchains may resolve the dependency but are not tested.
-
Application theme’s parent must be
Theme.Haapi.Ui.Widget.BaseTheme,Theme.MaterialComponents, or a descendant. The framework is not tested with Jetpack Compose hosts — Views or Material Components are required. -
In
AndroidManifest.xml, register yourApplicationsubclass andHaapiFlowActivity:<application android:name=".ClientApplication" ...> <activity android:name=".MainActivity" ... /> <activity android:name="se.curity.identityserver.haapi.android.ui.widget.HaapiFlowActivity" /> </application> -
Digital Asset Links wired into the manifest for the attestation prerequisite (see Quickstart — Android step 5).
Code Reference#
The auto-generated Android UIWidget reference, with the full public API surface, lives at:
For class-level documentation, signatures, and parameter lists, follow the link above. The pages below cover configuration and usage patterns.
Topic Pages#
Foundational#
- Configuration —
WidgetConfiguration.Builder, the minimal builder calls - Flow Lifecycle —
HaapiFlowActivity, Activity Result, interruption
Configuration#
- Presentation Options — modal vs stack, polling, selector style, auto-error-feedback
- Theming — colors, drawables, XML component styles
- UI Extensibility — swap individual fragments
- Passkeys and WebAuthn Fallback — native flow + browser fallback
Operational#
- Preview Tools — Compose
@Previewand the Previewer Host Activity for theming iteration - Logging —
HaapiLogger.setLevelwith Driver + SDK + UI tag prefixes
Platform-Only#
- App Widget Support (Android Only) — using HAAPI from a home-screen App Widget
- Previewer Host Activity (Android Only) — validate theme through the real Fragment pipeline
Related: UI Layer Overview · iOS UIKit (sibling) · Android SDK · Android Driver · Android Reference