# MetadataRepo

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

*** ** * ** ***


```
@AnyThread
public final class MetadataRepo
```

<br />

*** ** * ** ***

Class to hold the emoji metadata required to process and draw emojis.

## Summary

| ### Public methods |
|---|---|
| `static https://developer.android.com/reference/androidx/emoji/text/MetadataRepo` | `https://developer.android.com/reference/androidx/emoji/text/MetadataRepo#create(android.content.res.AssetManager,java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/res/AssetManager.html assetManager, https://developer.android.com/reference/java/lang/String.html assetPath)` Construct MetadataRepo from an asset. |
| `static https://developer.android.com/reference/androidx/emoji/text/MetadataRepo` | `https://developer.android.com/reference/androidx/emoji/text/MetadataRepo#create(android.graphics.Typeface,java.nio.ByteBuffer)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Typeface.html typeface, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/nio/ByteBuffer.html byteBuffer)` Construct MetadataRepo from a byte buffer. |
| `static https://developer.android.com/reference/androidx/emoji/text/MetadataRepo` | `https://developer.android.com/reference/androidx/emoji/text/MetadataRepo#create(android.graphics.Typeface,java.io.InputStream)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Typeface.html typeface, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/io/InputStream.html inputStream)` Construct MetadataRepo from an input stream. |

## Public methods

### create

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

```
public static MetadataRepo create(@NonNull AssetManager assetManager, String assetPath)
```

Construct MetadataRepo from an asset.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/res/AssetManager.html assetManager` | AssetManager instance |
| `https://developer.android.com/reference/java/lang/String.html assetPath` | asset manager path of the file that the Typeface and metadata will be created from |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |

### create

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

```
public static MetadataRepo create(@NonNull Typeface typeface, @NonNull ByteBuffer byteBuffer)
```

Construct MetadataRepo from a byte buffer. The position of the ByteBuffer will change, it is caller's responsibility to reposition the buffer if required.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Typeface.html typeface` | Typeface to be used to render emojis |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/nio/ByteBuffer.html byteBuffer` | ByteBuffer to read emoji metadata from |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |

### create

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

```
public static MetadataRepo create(@NonNull Typeface typeface, @NonNull InputStream inputStream)
```

Construct MetadataRepo from an input stream. The library does not close the given InputStream, therefore it is caller's responsibility to properly close the stream.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Typeface.html typeface` | Typeface to be used to render emojis |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/io/InputStream.html inputStream` | InputStream to read emoji metadata from |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |