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 your Application subclass and HaapiFlowActivity:

    <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#

Operational#

  • Preview Tools — Compose @Preview and the Previewer Host Activity for theming iteration
  • Logging HaapiLogger.setLevel with Driver + SDK + UI tag prefixes

Platform-Only#

Was this helpful?