# VibrationAttributes.Builder

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

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/os/VibrationAttributes.Builder "View this page in Java")  

```
class Builder
```

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

Builder class for[VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)objects. By default, all information is set to UNKNOWN.

## Summary

|                                                                                                                                                   Public constructors                                                                                                                                                    ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#Builder())`()` Constructs a new Builder with the defaults.                                                                                                                                                            |
| [Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#Builder(android.media.AudioAttributes))`(`audio:` `[AudioAttributes](https://developer.android.com/reference/kotlin/android/media/AudioAttributes.html#)`)` Constructs a new Builder from AudioAttributes.            |
| [Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#Builder(android.os.VibrationAttributes))`(`vib:` `[VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)?`)` Constructs a new Builder from a given VibrationAttributes. |

|                                                                                                                                                                                                                                                                       Public methods                                                                                                                                                                                                                                                                       ||
|-----------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)                  | [build](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#build())`()` Combines all of the attributes that have been set and returns a new[VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)object.                                                                                                                                           |
| [VibrationAttributes.Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#) | [setFlags](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#setFlags(kotlin.Int,%20kotlin.Int))`(`flags:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `mask:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets only the flags specified in the bitmask, leaving the other supported flag values unchanged in the builder. |
| [VibrationAttributes.Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#) | [setUsage](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#setUsage(kotlin.Int))`(`usage:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the attribute describing the type of the corresponding vibration.                                                                                                                                              |

## Public constructors

### Builder

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

```
Builder()
```

Constructs a new Builder with the defaults.  

### Builder

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

```
Builder(audio: AudioAttributes)
```

Constructs a new Builder from AudioAttributes.

|                                                                 Parameters                                                                 ||
|---------|-----------------------------------------------------------------------------------------------------------------------------------|
| `audio` | [AudioAttributes](https://developer.android.com/reference/kotlin/android/media/AudioAttributes.html#):This value cannot be`null`. |

### Builder

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

```
Builder(vib: VibrationAttributes?)
```

Constructs a new Builder from a given VibrationAttributes.

|                                                              Parameters                                                               ||
|-------|--------------------------------------------------------------------------------------------------------------------------------|
| `vib` | [VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)?:This value may be`null`. |

## Public methods

### build

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

```
fun build(): VibrationAttributes
```

Combines all of the attributes that have been set and returns a new[VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)object.

|                                                                                                                      Return                                                                                                                       ||
|------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| [VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes) | a new[VibrationAttributes](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes)object This value cannot be`null`. |

### setFlags

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

```
fun setFlags(
    flags: Int, 
    mask: Int
): VibrationAttributes.Builder
```

Sets only the flags specified in the bitmask, leaving the other supported flag values unchanged in the builder.

|                                                                                                                                                                                                                                                                      Parameters                                                                                                                                                                                                                                                                       ||
|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `flags` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Combination of flags to be set. Value is either`0`or a combination of[android.os.VibrationAttributes#FLAG_BYPASS_INTERRUPTION_POLICY](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#FLAG_BYPASS_INTERRUPTION_POLICY:kotlin.Int), android.os.VibrationAttributes.FLAG_BYPASS_USER_VIBRATION_INTENSITY_OFF, android.os.VibrationAttributes.FLAG_INVALIDATE_SETTINGS_CACHE, and android.os.VibrationAttributes.FLAG_PIPELINED_EFFECT |
| `mask`  | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Bit range that should be changed.                                                                                                                                                                                                                                                                                                                                                                                                                                 |

|                                                                                    Return                                                                                     ||
|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| [VibrationAttributes.Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#) | the same Builder instance. This value cannot be`null`. |

### setUsage

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

```
fun setUsage(usage: Int): VibrationAttributes.Builder
```

Sets the attribute describing the type of the corresponding vibration.

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `usage` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):The type of usage for the vibration Value is[android.os.VibrationAttributes#USAGE_UNKNOWN](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_UNKNOWN:kotlin.Int),[android.os.VibrationAttributes#USAGE_ACCESSIBILITY](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_ACCESSIBILITY:kotlin.Int),[android.os.VibrationAttributes#USAGE_ALARM](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_ALARM:kotlin.Int),[android.os.VibrationAttributes#USAGE_COMMUNICATION_REQUEST](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_COMMUNICATION_REQUEST:kotlin.Int),[android.os.VibrationAttributes#USAGE_HARDWARE_FEEDBACK](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_HARDWARE_FEEDBACK:kotlin.Int),[android.os.VibrationAttributes#USAGE_MEDIA](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_MEDIA:kotlin.Int),[android.os.VibrationAttributes#USAGE_NOTIFICATION](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_NOTIFICATION:kotlin.Int),[android.os.VibrationAttributes#USAGE_PHYSICAL_EMULATION](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_PHYSICAL_EMULATION:kotlin.Int),[android.os.VibrationAttributes#USAGE_RINGTONE](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_RINGTONE:kotlin.Int),[android.os.VibrationAttributes#USAGE_TOUCH](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_TOUCH:kotlin.Int), android.os.VibrationAttributes.USAGE_IME_FEEDBACK, or[android.os.VibrationAttributes#USAGE_GESTURE_INPUT](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes#USAGE_GESTURE_INPUT:kotlin.Int) |

|                                                                                    Return                                                                                     ||
|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| [VibrationAttributes.Builder](https://developer.android.com/reference/kotlin/android/os/VibrationAttributes.Builder#) | the same Builder instance. This value cannot be`null`. |