# SetBlobVisibilityRequest.Builder

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

# Builder

*** ** * ** ***

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

```
class Builder
```

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

Builder for[SetBlobVisibilityRequest](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest)objects.

## Summary

|                                                           Public constructors                                                            ||
|---------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#Builder())`()` <br /> |

|                                                                                                                                                                                                                                                                                                                                                                                                                              Public methods                                                                                                                                                                                                                                                                                                                                                                                                                              ||
|--------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SetBlobVisibilityRequest.Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#) | [addNamespaceVisibleToConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#addNamespaceVisibleToConfig(kotlin.String,%20android.app.appsearch.SchemaVisibilityConfig))`(`namespace:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `visibilityConfig:` `[SchemaVisibilityConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SchemaVisibilityConfig)`)` Specifies that blobs within the given`namespace`can be accessed by the caller if they meet the requirements defined in[SchemaVisibilityConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SchemaVisibilityConfig). |
| [SetBlobVisibilityRequest](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest)                  | [build](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#build())`()` Builds a new[SetBlobVisibilityRequest](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest)object.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SetBlobVisibilityRequest.Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#) | [clearNamespaceVisibleToConfigs](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#clearNamespaceVisibleToConfigs(kotlin.String))`(`namespace:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Clears all visibility configurations for the specified blob`namespace`.                                                                                                                                                                                                                                                                                                                                                             |
| [SetBlobVisibilityRequest.Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#) | [setNamespaceDisplayedBySystem](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#setNamespaceDisplayedBySystem(kotlin.String,%20kotlin.Boolean))`(`namespace:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `displayed:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets whether or not blobs in the specified`namespace`will be displayed on any system UI surface.                                                                                                                                                                                                                 |

## Public constructors

### Builder

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

```
Builder()
```

## Public methods

### addNamespaceVisibleToConfig

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

```
fun addNamespaceVisibleToConfig(
    namespace: String, 
    visibilityConfig: SchemaVisibilityConfig
): SetBlobVisibilityRequest.Builder
```

Specifies that blobs within the given`namespace`can be accessed by the caller if they meet the requirements defined in[SchemaVisibilityConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SchemaVisibilityConfig).

The requirements in each[SchemaVisibilityConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SchemaVisibilityConfig)have an "AND" relationship, meaning that all conditions within a configuration must be met for access. For instance, the caller may need specific permissions and belong to a specific package.

Repeated calls to this method can add multiple[SchemaVisibilityConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SchemaVisibilityConfig)s to a namespace. The caller will have access if they match any of the configurations added, so the configurations form an "OR" relationship.

|                                                                                                      Parameters                                                                                                       ||
|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `namespace`        | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):The blob namespace to set visibility for. This value cannot be`null`.                                            |
| `visibilityConfig` | [SchemaVisibilityConfig](https://developer.android.com/reference/kotlin/android/app/appsearch/SchemaVisibilityConfig):The config hold specifying visibility settings. This value cannot be`null`. |

|                                                                                 Return                                                                                  ||
|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SetBlobVisibilityRequest.Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#) | This value cannot be`null`. |

### build

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

```
fun build(): SetBlobVisibilityRequest
```

Builds a new[SetBlobVisibilityRequest](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest)object.

|                                                                         Return                                                                         ||
|---------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SetBlobVisibilityRequest](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest) | This value cannot be`null`. |

### clearNamespaceVisibleToConfigs

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

```
fun clearNamespaceVisibleToConfigs(namespace: String): SetBlobVisibilityRequest.Builder
```

Clears all visibility configurations for the specified blob`namespace`.

After calling this method, the specified namespace will have no visibility configurations, meaning it will only be accessible by default rules.

|                                                                                         Parameters                                                                                          ||
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `namespace` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):The blob namespace for which visibility config should be cleared. This value cannot be`null`. |

|                                                                                 Return                                                                                  ||
|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SetBlobVisibilityRequest.Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#) | This value cannot be`null`. |

### setNamespaceDisplayedBySystem

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

```
fun setNamespaceDisplayedBySystem(
    namespace: String, 
    displayed: Boolean
): SetBlobVisibilityRequest.Builder
```

Sets whether or not blobs in the specified`namespace`will be displayed on any system UI surface.

This setting applies to the provided`namespace`only, all other`namespace`s that are not included here will be reverted to the default displayed setting.

If this method is not called, the default behavior allows blobs to be displayed on system UI surfaces.

|                                                                                    Parameters                                                                                    ||
|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `namespace` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):The name of the namespace to configure visibility for. This value cannot be`null`. |
| `displayed` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):If`false`, blobs in this namespace will not appear on system UI surfaces.        |

|                                                                                 Return                                                                                  ||
|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SetBlobVisibilityRequest.Builder](https://developer.android.com/reference/kotlin/android/app/appsearch/SetBlobVisibilityRequest.Builder#) | This value cannot be`null`. |