This is documentation for Stream Chat Android SDK v5, which is nolonger actively maintained. For up-to-date documentation, see the latest version (v6).

App Startup Initializers

The UI Components library relies on Jetpack App Startup Initializers to initialize certain components. These run automatically when you include the UI Components library and start your application.

In some cases, you might wish to prevent the automatic initialization, for example, to decrease your app’s initial startup time. You can do this by following the Manually initialize components guide from the Android Developers documentation.

Removing the automatic initializers and not running the initializers manually will result in crashes when using the UI Components.

Specifically, you’ll have to do the following:

  1. Disable the auto-initialization of our components, by adding the following to your Manifest:

    <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities="${applicationId}.androidx-startup"
        android:exported="false"
        tools:node="merge">
        <meta-data
            android:name="com.getstream.sdk.chat.startup.ThreeTenInitializer"
            tools:node="remove"
        />
        <meta-data
            android:name="io.getstream.chat.android.ui.common.ChatUIInitializer"
            tools:node="remove"
        />
    </provider>
    
  2. Initialize them manually, before any of the Stream UI Components are used in your application.

AppInitializer.getInstance(appContext).run {
    initializeComponent(ThreeTenInitializer::class.java)
    initializeComponent(ChatUIInitializer::class.java)
}

You need to have a dependency on the App Startup library to access AppInitializer.

© Getstream.io, Inc. All Rights Reserved.