# SetBlobVisibilityRequest

Artifact: [androidx.appsearch:appsearch](https://developer.android.com/jetpack/androidx/releases/appsearch) [View Source](https://cs.android.com/search?q=file:androidx/appsearch/app/SetBlobVisibilityRequest.java+class:androidx.appsearch.app.SetBlobVisibilityRequest) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

*** ** * ** ***


```
public class SetBlobVisibilityRequest
```

<br />

*** ** * ** ***

Request to configure the visibility settings of blobs in AppSearch.

Used with `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSession#setBlobVisibilityAsync(androidx.appsearch.app.SetBlobVisibilityRequest)` to specify visibility and display properties for blob namespaces. You can control which blob namespaces are displayed on system UI surfaces and which are accessible based on specific visibility configurations.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSession#openBlobForWriteAsync(java.util.Set<androidx.appsearch.app.AppSearchBlobHandle>)` |   |
| `https://developer.android.com/reference/androidx/appsearch/app/GlobalSearchSession#openBlobForReadAsync(java.util.Set<androidx.appsearch.app.AppSearchBlobHandle>)` |   |

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/appsearch/app/SetBlobVisibilityRequest.Builder` Builder for `https://developer.android.com/reference/androidx/appsearch/app/SetBlobVisibilityRequest` objects. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/appsearch/app/SetBlobVisibilityRequest#getNamespacesNotDisplayedBySystem()()` Returns all the blob namespaces that are opted out of being displayed and visible on any system UI surface. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig>>` | `https://developer.android.com/reference/androidx/appsearch/app/SetBlobVisibilityRequest#getNamespacesVisibleToConfigs()()` Returns a mapping of blob namespaces to the set of `https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig`s that have access to that namespace. |

## Public methods

### getNamespacesNotDisplayedBySystem

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

```
public @NonNull Set<String> getNamespacesNotDisplayedBySystem()
```

Returns all the blob namespaces that are opted out of being displayed and visible on any system UI surface.

### getNamespacesVisibleToConfigs

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

```
public @NonNull Map<String, Set<SchemaVisibilityConfig>> getNamespacesVisibleToConfigs()
```

Returns a mapping of blob namespaces to the set of `https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig`s that have access to that namespace.

All conditions in a single `https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig` are "AND" relationship. A caller must match all conditions to have the access. All `https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig`s in the set of a blob namespace are "OR" relationship. A caller could have access if they matches any `https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig` in the set.

This method provides the set of `https://developer.android.com/reference/androidx/appsearch/app/SchemaVisibilityConfig` for all blob namespaces.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appsearch/app/SetBlobVisibilityRequest.Builder#addNamespaceVisibleToConfig(java.lang.String,androidx.appsearch.app.SchemaVisibilityConfig)` |   |