# EmojiTextViewHelper

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

*** ** * ** ***


```
public final class EmojiTextViewHelper
```

<br />

*** ** * ** ***

Utility class to enhance custom TextView widgets with `https://developer.android.com/reference/androidx/emoji/text/EmojiCompat`.

```
public class MyEmojiTextView extends TextView {
    public MyEmojiTextView(Context context) {
        super(context);
        init();
    }
    // ..
    private void init() {
        getEmojiTextViewHelper().updateTransformationMethod();
    }

    @Override
    public void setFilters(InputFilter[] filters) {
        super.setFilters(getEmojiTextViewHelper().getFilters(filters));
    }

    @Override
    public void setAllCaps(boolean allCaps) {
        super.setAllCaps(allCaps);
        getEmojiTextViewHelper().setAllCaps(allCaps);
    }

    private EmojiTextViewHelper getEmojiTextViewHelper() {
        if (mEmojiTextViewHelper == null) {
            mEmojiTextViewHelper = new EmojiTextViewHelper(this);
        }
        return mEmojiTextViewHelper;
    }
}
```

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/emoji/widget/EmojiTextViewHelper#EmojiTextViewHelper(android.widget.TextView)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/TextView.html textView)` Default constructor. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html InputFilter[]` | `https://developer.android.com/reference/androidx/emoji/widget/EmojiTextViewHelper#getFilters(android.text.InputFilter[])(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html InputFilter[] filters)` Appends EmojiCompat InputFilters to the widget InputFilters. |
| `void` | `https://developer.android.com/reference/androidx/emoji/widget/EmojiTextViewHelper#setAllCaps(boolean)(boolean allCaps)` Call when allCaps is set on TextView. |
| `void` | `https://developer.android.com/reference/androidx/emoji/widget/EmojiTextViewHelper#updateTransformationMethod()()` Updates widget's TransformationMethod so that the transformed text can be processed. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/text/method/TransformationMethod.html` | `https://developer.android.com/reference/androidx/emoji/widget/EmojiTextViewHelper#wrapTransformationMethod(android.text.method.TransformationMethod)( @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/text/method/TransformationMethod.html transformationMethod )` Returns transformation method that can update the transformed text to display emojis. |

## Public constructors

### EmojiTextViewHelper

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

```
public EmojiTextViewHelper(@NonNull TextView textView)
```

Default constructor.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/TextView.html textView` | TextView instance |

## Public methods

### getFilters

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

```
public @NonNull InputFilter[] getFilters(@NonNull InputFilter[] filters)
```

Appends EmojiCompat InputFilters to the widget InputFilters. Should be called by `https://developer.android.com/reference/android/widget/TextView.html#setFilters(android.text.InputFilter[])` to update the InputFilters. When used on devices running API 18 or below, this method returns `filters` that is given as a parameter.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html InputFilter[] filters` | InputFilter array passed to `https://developer.android.com/reference/android/widget/TextView.html#setFilters(android.text.InputFilter[])` |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html InputFilter[]` | same copy if the array already contains EmojiCompat InputFilter. A new array copy if not. |

### setAllCaps

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

```
public void setAllCaps(boolean allCaps)
```

Call when allCaps is set on TextView. When used on devices running API 18 or below, this method does nothing.

| Parameters |
|---|---|
| `boolean allCaps` | allCaps parameter passed to `https://developer.android.com/reference/android/widget/TextView.html#setAllCaps(boolean)` |

### updateTransformationMethod

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

```
public void updateTransformationMethod()
```

Updates widget's TransformationMethod so that the transformed text can be processed. Should be called in the widget constructor. When used on devices running API 18 or below, this method does nothing.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/emoji/widget/EmojiTextViewHelper#wrapTransformationMethod(android.text.method.TransformationMethod)` |   |

### wrapTransformationMethod

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

```
public @Nullable TransformationMethod wrapTransformationMethod(
    @Nullable TransformationMethod transformationMethod
)
```

Returns transformation method that can update the transformed text to display emojis. When used on devices running API 18 or below, this method returns `transformationMethod` that is given as a parameter.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/text/method/TransformationMethod.html transformationMethod` | instance to be wrapped |