# EmojiCompatInitializer

Artifact: [androidx.emoji2:emoji2](https://developer.android.com/jetpack/androidx/releases/emoji2) [View Source](https://cs.android.com/search?q=file:androidx/emoji2/text/EmojiCompatInitializer.java+class:androidx.emoji2.text.EmojiCompatInitializer) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/emoji2#1.0.0)

*** ** * ** ***


```
class EmojiCompatInitializer : Initializer<Boolean!>
```

<br />

*** ** * ** ***

Initializer for configuring EmojiCompat with the system installed downloadable font provider.

This initializer will initialize EmojiCompat immediately then defer loading the font for a short delay to avoid delaying application startup. Typically, the font will be loaded shortly after the first screen of your application loads, which means users may see system emoji briefly prior to the compat font loading.

This is the recommended configuration for all apps that don't need specialized configuration, and don't need to control the background thread that initialization runs on. For more information see `https://developer.android.com/reference/kotlin/androidx/emoji2/text/DefaultEmojiCompatConfig`.

In addition to the reasons listed in `DefaultEmojiCompatConfig` you may wish to disable this automatic configuration if you intend to call initialization from an existing background thread pool in your application.

This is enabled by default by including the `:emoji2:emoji2` gradle artifact. To disable the default configuration (and allow manual configuration) add this to your manifest:

```kotlin
    <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities="${applicationId}.androidx-startup"
        android:exported="false"
        tools:node="merge">
        <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                  tools:node="remove" />
    </provider>
```
This initializer depends on `https://developer.android.com/reference/kotlin/androidx/lifecycle/ProcessLifecycleInitializer`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/emoji2/text/DefaultEmojiCompatConfig` |   |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/emoji2/text/EmojiCompatInitializer#EmojiCompatInitializer()()` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/emoji2/text/EmojiCompatInitializer#create(android.content.Context)(context: https://developer.android.com/reference/android/content/Context.html)` Initialize EmojiCompat with the app's context. |
| `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/java/lang/Class.html<https://developer.android.com/reference/kotlin/androidx/startup/Initializer<*>!>!>` | `https://developer.android.com/reference/kotlin/androidx/emoji2/text/EmojiCompatInitializer#dependencies()()` Dependes on ProcessLifecycleInitializer |

## Public constructors

### EmojiCompatInitializer

Added in 1.0.0

```
EmojiCompatInitializer()
```

## Public functions

### create

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/emoji2#1.0.0)

```
fun create(context: Context): Boolean
```

Initialize EmojiCompat with the app's context.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | application context |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | result of default init |

### dependencies

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/emoji2#1.0.0)

```
fun dependencies(): (Mutable)List<Class<Initializer<*>!>!>
```

Dependes on ProcessLifecycleInitializer