Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# AllCaps

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/text/InputFilter.AllCaps "View this page in Java")

```
open class AllCaps : InputFilter
```

|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||
| ↳ | [android.text.InputFilter.AllCaps](https://developer.android.com/reference/kotlin/android/text/InputFilter.AllCaps#) |

This filter will capitalize all the lowercase and titlecase letters that are added through edits. (Note that if there are no lowercase or titlecase letters in the input, the text would not be transformed, even if the result of capitalization of the string is different from the string.)

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/text/InputFilter.AllCaps#AllCaps()()` <br /> |
| `https://developer.android.com/reference/kotlin/android/text/InputFilter.AllCaps#AllCaps(java.util.Locale)(locale: https://developer.android.com/reference/kotlin/java/util/Locale.html#)` Constructs a locale-specific AllCaps filter, to make sure capitalization rules of that locale are used for transforming the sequence. |

| Public methods ||
|---|---|
| open [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)! | `https://developer.android.com/reference/kotlin/android/text/InputFilter.AllCaps#filter(kotlin.CharSequence,%20kotlin.Int,%20kotlin.Int,%20android.text.Spanned,%20kotlin.Int,%20kotlin.Int)(source: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html!, start: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, end: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dest: https://developer.android.com/reference/kotlin/android/text/Spanned!, dstart: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dend: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This method is called when the buffer is going to replace the range `dstart ... dend` of `dest` with the new text from the range `start ... end` of `source`. |

## Public constructors

### AllCaps

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
AllCaps()
```

### AllCaps

Added in [API level 27](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
AllCaps(locale: Locale)
```

Constructs a locale-specific AllCaps filter, to make sure capitalization rules of that locale are used for transforming the sequence.

| Parameters ||
|---|---|
| `locale` | [Locale](https://developer.android.com/reference/kotlin/java/util/Locale.html#): This value cannot be `null`. |

## Public methods

### filter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun filter(
    source: CharSequence!, 
    start: Int, 
    end: Int, 
    dest: Spanned!, 
    dstart: Int, 
    dend: Int
): CharSequence!
```

This method is called when the buffer is going to replace the range `dstart ... dend` of `dest` with the new text from the range `start ... end` of `source`. Return the CharSequence that you would like to have placed there instead, including an empty string if appropriate, or `null` to accept the original replacement. Be careful to not to reject 0-length replacements, as this is what happens when you delete text. Also beware that you should not attempt to make any changes to `dest` from this method; you may only examine it for context. Note: If source is an instance of `https://developer.android.com/reference/kotlin/android/text/Spanned` or `https://developer.android.com/reference/kotlin/android/text/Spannable`, the span objects in the source should be copied into the filtered result (i.e. the non-null return value). `https://developer.android.com/reference/kotlin/android/text/TextUtils#copySpansFrom(android.text.Spanned,%20kotlin.Int,%20kotlin.Int,%20java.lang.Class,%20android.text.Spannable,%20kotlin.Int)` can be used for convenience if the span boundary indices would be remaining identical relative to the source.