# SettingsPreferenceMetadata.Builder

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

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/service/settings/preferences/SettingsPreferenceMetadata.Builder "View this page in Java")  

```
class Builder
```

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

Builder to construct[SettingsPreferenceMetadata](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata).

## Summary

|                                                                                                                                                                                         Public constructors                                                                                                                                                                                         ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#Builder(kotlin.String,%20kotlin.String))`(`screenKey:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `key:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Create Builder instance. |

|                                                                                                                                                                                                                                                                                                                 Public methods                                                                                                                                                                                                                                                                                                                  ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SettingsPreferenceMetadata](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata)                  | [build](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#build())`()` Constructs an immutable[SettingsPreferenceMetadata](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata)object.                                                                                                                                                           |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setAvailable](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setAvailable(kotlin.Boolean))`(`available:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets whether the preference is available.                                                                                                                                                               |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setEnabled](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setEnabled(kotlin.Boolean))`(`enabled:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Set whether the preference is enabled.                                                                                                                                                                        |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setExtras](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setExtras(android.os.Bundle))`(`extras:` `[Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#)`)` Sets additional fields specific to this preference.                                                                                                                                                             |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setLaunchIntent](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setLaunchIntent(android.content.Intent))`(`launchIntent:` `[Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html#)?`)` Sets the intent to launch the host app page for this preference.                                                                                                                   |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setReadPermissions](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setReadPermissions(kotlin.collections.MutableList))`(`readPermissions:` `[MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!>`)` Sets the permissions required for reading this preference.    |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setRestricted](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setRestricted(kotlin.Boolean))`(`restricted:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets whether the preference is restricted.                                                                                                                                                           |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setSummary](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setSummary(kotlin.String))`(`summary:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?`)` Sets the preference summary.                                                                                                                                                                                    |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setTitle](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setTitle(kotlin.String))`(`title:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?`)` Sets the preference title.                                                                                                                                                                                            |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setWritable](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setWritable(kotlin.Boolean))`(`writable:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets whether the preference is writable.                                                                                                                                                                   |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setWritePermissions](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setWritePermissions(kotlin.collections.MutableList))`(`writePermissions:` `[MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!>`)` Sets the permissions required for writing this preference. |
| [SettingsPreferenceMetadata.Builder](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#) | [setWriteSensitivity](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata.Builder#setWriteSensitivity(kotlin.Int))`(`sensitivity:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the preference write-level sensitivity.                                                                                                                                                        |

## Public constructors

### Builder

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

```
Builder(
    screenKey: String, 
    key: String)
```

Create Builder instance.

|                                                       Parameters                                                       ||
|-------------|-----------------------------------------------------------------------------------------------------------|
| `screenKey` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):required to be not empty |
| `key`       | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):required to be not empty |

## Public methods

### build

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

```
fun build(): SettingsPreferenceMetadata
```

Constructs an immutable[SettingsPreferenceMetadata](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata)object.  

### setAvailable

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

```
fun setAvailable(available: Boolean): SettingsPreferenceMetadata.Builder
```

Sets whether the preference is available.  

### setEnabled

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

```
fun setEnabled(enabled: Boolean): SettingsPreferenceMetadata.Builder
```

Set whether the preference is enabled.  

### setExtras

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

```
fun setExtras(extras: Bundle): SettingsPreferenceMetadata.Builder
```

Sets additional fields specific to this preference. Treat all data as optional.  

### setLaunchIntent

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

```
fun setLaunchIntent(launchIntent: Intent?): SettingsPreferenceMetadata.Builder
```

Sets the intent to launch the host app page for this preference.  

### setReadPermissions

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

```
fun setReadPermissions(readPermissions: MutableList<String!>): SettingsPreferenceMetadata.Builder
```

Sets the permissions required for reading this preference.  

### setRestricted

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

```
fun setRestricted(restricted: Boolean): SettingsPreferenceMetadata.Builder
```

Sets whether the preference is restricted.  

### setSummary

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

```
fun setSummary(summary: String?): SettingsPreferenceMetadata.Builder
```

Sets the preference summary.  

### setTitle

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

```
fun setTitle(title: String?): SettingsPreferenceMetadata.Builder
```

Sets the preference title.  

### setWritable

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

```
fun setWritable(writable: Boolean): SettingsPreferenceMetadata.Builder
```

Sets whether the preference is writable.  

### setWritePermissions

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

```
fun setWritePermissions(writePermissions: MutableList<String!>): SettingsPreferenceMetadata.Builder
```

Sets the permissions required for writing this preference.  

### setWriteSensitivity

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

```
fun setWriteSensitivity(sensitivity: Int): SettingsPreferenceMetadata.Builder
```

Sets the preference write-level sensitivity.

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ||
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `sensitivity` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Value is[android.service.settings.preferences.SettingsPreferenceMetadata#NO_SENSITIVITY](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata#NO_SENSITIVITY:kotlin.Int),[android.service.settings.preferences.SettingsPreferenceMetadata#EXPECT_POST_CONFIRMATION](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata#EXPECT_POST_CONFIRMATION:kotlin.Int),[android.service.settings.preferences.SettingsPreferenceMetadata#DEEPLINK_ONLY](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata#DEEPLINK_ONLY:kotlin.Int), or[android.service.settings.preferences.SettingsPreferenceMetadata#NO_DIRECT_ACCESS](https://developer.android.com/reference/kotlin/android/service/settings/preferences/SettingsPreferenceMetadata#NO_DIRECT_ACCESS:kotlin.Int) |