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

# Builder

*** ** * ** ***

```
class Builder
```

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

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#Builder()()` <br /> |
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#Builder(android.widget.photopicker.EmbeddedPhotoPickerFeatureInfo)(featureInfo: https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo)` <br /> |

| Public methods ||
|---|---|
| [EmbeddedPhotoPickerFeatureInfo](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#build()()` Build the class for desired feature info arguments |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setAccentColor(kotlin.Long)(accentColor: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` Sets accent color which will change color of primary picker elements like Done button, selected media icon colors, tab color etc. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setCollapsedModeScrollingEnabled(kotlin.Boolean)(collapsedModeScrollingEnabled: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Sets whether the app chooses to allow the collapsed mode to be scrollable. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setEmbeddedUiCustomizationParams(android.widget.photopicker.EmbeddedPhotoPickerUiCustomizationParams)(embeddedUiCustomizationParams: https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerUiCustomizationParams?)` Sets the embedded-specific UI customization params for the Photo Picker. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setHighlightAlbumId(kotlin.String)(highlightAlbumId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` The app can choose to highlight media items of a photopicker album in the embedded photopicker in its expanded state. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setHighlightSearchMediaTextQuery(kotlin.String)(highlightSearchMediaTextQuery: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` The app can choose to highlight media items in the embedded photopicker in its expanded state. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setHighlightType(kotlin.Int)(highlightType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` The app can choose to specify the highlight type i. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setLaunchTab(kotlin.Int)(launchTab: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Specifies the default tab to display when the embedded PhotoPicker is first launched. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setMaxSelectionLimit(kotlin.Int)(maxSelectionLimit: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets maximum number of items that can be selected by the user |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setMimeTypes(kotlin.collections.MutableList)(mimeTypes: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!>)` Sets the mime type to filter media items on. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setOrderedSelection(kotlin.Boolean)(orderedSelection: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Sets ordered selection of media items i. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setPickerLaunchedInExpandedState(kotlin.Boolean)(launchedPickerInExpandedState: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Embedded photopicker can be launched in the expanded state by the app. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setPreSelectedUris(kotlin.collections.MutableList)(preSelectedUris: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html<https://developer.android.com/reference/kotlin/android/net/Uri.html#!>)` Sets list of uris to be pre-selected when embedded picker is opened. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setRequestLocationMetadata(kotlin.Boolean)(accessLocationMetadata: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` The app can request access to the location metadata of the media items selected by the user. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setSelectionParams(android.widget.photopicker.PhotoPickerSelectionParams)(selectionParams: https://developer.android.com/reference/kotlin/android/widget/photopicker/PhotoPickerSelectionParams?)` Sets the selection options, which specify filters for media item properties. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setThemeNightMode(kotlin.Int)(themeNightMode: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets the embedded photo picker theme to light or dark irrespective of the device theme. |
| [EmbeddedPhotoPickerFeatureInfo.Builder](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#) | `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setUiCustomizationParams(android.widget.photopicker.PhotoPickerUiCustomizationParams)(uiCustomizationParams: https://developer.android.com/reference/kotlin/android/widget/photopicker/PhotoPickerUiCustomizationParams?)` Sets the ui customization params to apply to the Photo Picker. |

## Public constructors

### Builder

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

```
Builder()
```

### Builder

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

```
Builder(featureInfo: EmbeddedPhotoPickerFeatureInfo)
```

| Parameters ||
|---|---|
| `featureInfo` | [EmbeddedPhotoPickerFeatureInfo](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo): `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo` object whose properties need to be copied to create a new object. This value cannot be `null`. |

## Public methods

### build

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

```
fun build(): EmbeddedPhotoPickerFeatureInfo
```

Build the class for desired feature info arguments

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo` | This value cannot be `null`. |

### setAccentColor

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

```
fun setAccentColor(accentColor: Long): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets accent color which will change color of primary picker elements like Done button, selected media icon colors, tab color etc.

The value of this intent-extra must be a string specifying the hex code of the accent color that is to be used within the picker.

This param is same as MediaStore#EXTRA_PICK_IMAGES_ACCENT_COLOR. See MediaStore#EXTRA_PICK_IMAGES_ACCENT_COLOR for more details on accepted colors.

| Parameters ||
|---|---|
| `accentColor` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html): Hex code of desired accent color. By default, the color of elements will reflect based on device theme |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setCollapsedModeScrollingEnabled

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

```
fun setCollapsedModeScrollingEnabled(collapsedModeScrollingEnabled: Boolean): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets whether the app chooses to allow the collapsed mode to be scrollable.

By default, the photopicker is non-scrollable in the collapsed state. Setting this to `false` or `true` does not affect the expanded mode, which remains scrollable. This is a setup-time option and cannot be changed mid-session.

| Parameters ||
|---|---|
| `collapsedModeScrollingEnabled` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): `true` if the app chooses to allow the collapsed mode to be scrollable, `false` otherwise. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This Builder object to allow for chaining of calls. This value cannot be `null`. |

### setEmbeddedUiCustomizationParams

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

```
fun setEmbeddedUiCustomizationParams(embeddedUiCustomizationParams: EmbeddedPhotoPickerUiCustomizationParams?): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets the embedded-specific UI customization params for the Photo Picker. This includes options like controlling the selection bar visibility in expanded mode, and any base UI customizations. If both `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setUiCustomizationParams(android.widget.photopicker.PhotoPickerUiCustomizationParams)` and this method are called, the parameters set in `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerUiCustomizationParams` will take precedence and the parameters set via `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setUiCustomizationParams(android.widget.photopicker.PhotoPickerUiCustomizationParams)` will be ignored.

| Parameters ||
|---|---|
| `embeddedUiCustomizationParams` | [EmbeddedPhotoPickerUiCustomizationParams](https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerUiCustomizationParams)?: The `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerUiCustomizationParams` object containing the ui customization params, or `null` to clear any custom options. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This Builder object to allow for chaining of calls. This value cannot be `null`. |

### setHighlightAlbumId

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

```
fun setHighlightAlbumId(highlightAlbumId: String): EmbeddedPhotoPickerFeatureInfo.Builder
```

The app can choose to highlight media items of a photopicker album in the embedded photopicker in its expanded state. These can be one of Favorites, Camera, Screenshots, Videos or Downloads. In order to do so, the input value should be one of the album values: MediaStore#PICK_IMAGES_HIGHLIGHT_ALBUM_FAVORITES for the Favorites album, MediaStore#PICK_IMAGES_HIGHLIGHT_ALBUM_CAMERA for the Camera album, MediaStore#PICK_IMAGES_HIGHLIGHT_ALBUM_SCREENSHOTS for the Screenshots album, MediaStore#PICK_IMAGES_HIGHLIGHT_ALBUM_VIDEOS for the Videos album and MediaStore#PICK_IMAGES_HIGHLIGHT_ALBUM_DOWNLOADS for the Downloads album.

The value of this string param must not be empty or null in case the app wants to show a highlighted album media section. An empty value will result in simply ignoring the request for a highlighted media section. A null value will result in `IllegalArgumentException` being thrown. Any other value except the ones specified will also result in `IllegalArgumentException` to be thrown. The app can also choose to highlight media items based on a text query using android.widget.photopicker.EmbeddedPhotoPickerFeatureInfo#setHighlightMediaTextQuery. Only one of album highlight or text highlight should be used at any point. Using both will result in `IllegalArgumentException` to be thrown.

| Parameters ||
|---|---|
| `highlightAlbumId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): One of the above mentioned string params specifying the album name. This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | in case input album is null |

### setHighlightSearchMediaTextQuery

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

```
fun setHighlightSearchMediaTextQuery(highlightSearchMediaTextQuery: String): EmbeddedPhotoPickerFeatureInfo.Builder
```

The app can choose to highlight media items in the embedded photopicker in its expanded state. The media items in this highlighted section are based on the string input query set in this method. The photopicker will trigger a search based on this input value to show media results in this section.This can be any string literal for which the app wants to highlight media results.

The value of this string param must not be empty or null in case the app wants to show a highlighted media section. An empty value will result in simply ignoring the request for a highlighted media section. A null value will result in `IllegalArgumentException` The app can also choose to highlight a specific photopicker album using android.widget.photopicker.EmbeddedPhotoPickerFeatureInfo#setHighlightAlbumName. Only one of album highlight or text highlight should be used at any point. Using both will result in `IllegalArgumentException` to be thrown.

| Parameters ||
|---|---|
| `highlightSearchMediaTextQuery` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): A String param based on which the highlighted results shown. This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | in case input string query is null |

### setHighlightType

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

```
fun setHighlightType(highlightType: Int): EmbeddedPhotoPickerFeatureInfo.Builder
```

The app can choose to specify the highlight type i.e. the way in which the highlighted media results will be shown in the photopicker. The highlight type can be set for both album and search highlights.

The value can be one of:

- MediaStore#PICK_IMAGES_HIGHLIGHT_TYPE_COLLAPSED to show a highlighted media section in the photopicker or
- MediaStore#PICK_IMAGES_HIGHLIGHT_TYPE_EXPANDED to show a highlighted media results grid. If this is the preferred highlight type, the embedded picker must be launched in the expanded state iniially by the app itself and setLaunchedPickerInExpandedState must be set to true to indicate the same. If the embedded picker's initial expanded state is found to be false, then the request for MediaStore#PICK_IMAGES_HIGHLIGHT_TYPE_EXPANDED is ignored.

The default highlight type value will be MediaStore#PICK_IMAGES_HIGHLIGHT_TYPE_COLLAPSED. Any other input highlight value will result in `IllegalArgumentException` to be thrown.

| Parameters ||
|---|---|
| `highlightType` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): One of the above mentioned int params specifying the highlight type. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if the input highlight type is invalid. |

### setLaunchTab

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

```
fun setLaunchTab(launchTab: Int): EmbeddedPhotoPickerFeatureInfo.Builder
```

Specifies the default tab to display when the embedded PhotoPicker is first launched. The app can choose to launch to a specific tab in the embedded photopicker This can be the Photos tab (which will be the default tab if not specified by the app) or the Collections tab. In order to do so, the input value should be one of the android.widget.photopicker.EmbeddedPhotoPickerFeatureInfo.LaunchTab values: `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo#TAB_IMAGES:kotlin.Int` for the Photos tab, `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo#TAB_ALBUMS:kotlin.Int` for the Collections tab. `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo#TAB_UNSET:kotlin.Int` for the default tab.

The value of this int param must be set in case the app wants to launch to a particular start destination.

| Parameters ||
|---|---|
| `launchTab` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): One of the above int params specifying the start destination for launching picker. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo#TAB_UNSET:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo#TAB_ALBUMS:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo#TAB_IMAGES:kotlin.Int` |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if the provided launchTab is not a valid android.widget.photopicker.EmbeddedPhotoPickerFeatureInfo.LaunchTab value. |

### setMaxSelectionLimit

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

```
fun setMaxSelectionLimit(maxSelectionLimit: Int): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets maximum number of items that can be selected by the user

The value of this intent-extra should be a positive integer greater than or equal to 1 and less than or equal to MediaStore#getPickImagesMaxLimit

| Parameters ||
|---|---|
| `maxSelectionLimit` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): Max selection count restriction. Pass limit as 1 to open PhotoPicker in single-select mode. Default is multi select mode with limit as MediaStore#getPickImagesMaxLimit() Value is 1 or greater |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setMimeTypes

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

```
fun setMimeTypes(mimeTypes: MutableList<String!>): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets the mime type to filter media items on.

Values may be a combination of concrete MIME types (such as "image/png") and/or partial MIME types (such as "image/\*").

| Parameters ||
|---|---|
| `mimeTypes` | [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)!\>: List of mime types to filter. By default, all media items will be returned. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setOrderedSelection

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

```
fun setOrderedSelection(orderedSelection: Boolean): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets ordered selection of media items i.e. this allows user to view/receive items in their selected order

| Parameters ||
|---|---|
| `orderedSelection` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): Pass true to set ordered selection. Default is false |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setPickerLaunchedInExpandedState

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

```
fun setPickerLaunchedInExpandedState(launchedPickerInExpandedState: Boolean): EmbeddedPhotoPickerFeatureInfo.Builder
```

Embedded photopicker can be launched in the expanded state by the app. If the app opts to do so, this field must be set to true indicating the app chose to initially launch the embedded picker in the expanded state.

| Parameters ||
|---|---|
| `launchedPickerInExpandedState` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): Indicates that the app chose to launch the picker in expanded state. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setPreSelectedUris

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

```
fun setPreSelectedUris(preSelectedUris: MutableList<Uri!>): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets list of uris to be pre-selected when embedded picker is opened.

This is same as MediaStore#EXTRA_PICKER_PRE_SELECTION_URIS. See MediaStore#EXTRA_PICKER_PRE_SELECTION_URIS for more details on restrictions and filter criteria.

| Parameters ||
|---|---|
| `preSelectedUris` | [MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)\<[Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#)!\>: list of uris to be pre-selected. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setRequestLocationMetadata

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

```
fun setRequestLocationMetadata(accessLocationMetadata: Boolean): EmbeddedPhotoPickerFeatureInfo.Builder
```

The app can request access to the location metadata of the media items selected by the user.

This is indicated by a boolean value which when set to `true` informs the picker that the app is requesting location information for the media items selected by the user. The default value for this option will always be `false` i.e. not sharing the location metadata of the selected media items with the calling app.

Setting this option to true does not guarantee that the calling app will get the location information. The media items selected by the user may not have any location metadata associated with them at all. The picker also reserves the right to inform the user of this request and the user's choice to share the location information will be final. The calling app will not be able to get the requested data in both these cases.

| Parameters ||
|---|---|
| `accessLocationMetadata` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): boolean value indicating location access request |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setSelectionParams

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

```
fun setSelectionParams(selectionParams: PhotoPickerSelectionParams?): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets the selection options, which specify filters for media item properties.

| Parameters ||
|---|---|
| `selectionParams` | [PhotoPickerSelectionParams](https://developer.android.com/reference/kotlin/android/widget/photopicker/PhotoPickerSelectionParams)?: The `https://developer.android.com/reference/kotlin/android/widget/photopicker/PhotoPickerSelectionParams` object containing the selection filters, or `null` to clear any custom selection options. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This Builder object to allow for chaining of calls. This value cannot be `null`. |

### setThemeNightMode

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

```
fun setThemeNightMode(themeNightMode: Int): EmbeddedPhotoPickerFeatureInfo.Builder
```

Sets the embedded photo picker theme to light or dark irrespective of the device theme.

| Parameters ||
|---|---|
| `themeNightMode` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): hex code of the desired `https://developer.android.com/reference/kotlin/android/content/res/Configuration.html#UI_MODE_NIGHT_MASK:kotlin.Int` value. The default value is `https://developer.android.com/reference/kotlin/android/content/res/Configuration.html#UI_MODE_NIGHT_UNDEFINED:kotlin.Int` to apply the system (device) theme. Supported values are - - `https://developer.android.com/reference/kotlin/android/content/res/Configuration.html#UI_MODE_NIGHT_UNDEFINED:kotlin.Int` -\> system theme - `https://developer.android.com/reference/kotlin/android/content/res/Configuration.html#UI_MODE_NIGHT_YES:kotlin.Int` -\> dark theme - `https://developer.android.com/reference/kotlin/android/content/res/Configuration.html#UI_MODE_NIGHT_NO:kotlin.Int` -\> light theme |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This value cannot be `null`. |

### setUiCustomizationParams

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in [U Extensions 22](https://developer.android.com/sdkExtensions)  
Deprecated in [API level 37.1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
fun setUiCustomizationParams(uiCustomizationParams: PhotoPickerUiCustomizationParams?): EmbeddedPhotoPickerFeatureInfo.Builder
```

**Deprecated:** *Use `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#setEmbeddedUiCustomizationParams(android.widget.photopicker.EmbeddedPhotoPickerUiCustomizationParams)` to set all UI parameters, including embedded-specific ones.*

Sets the ui customization params to apply to the Photo Picker.

| Parameters ||
|---|---|
| `uiCustomizationParams` | [PhotoPickerUiCustomizationParams](https://developer.android.com/reference/kotlin/android/widget/photopicker/PhotoPickerUiCustomizationParams)?: The `https://developer.android.com/reference/kotlin/android/widget/photopicker/PhotoPickerUiCustomizationParams` object containing the ui customization params, or `null` to clear any custom options. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/widget/photopicker/EmbeddedPhotoPickerFeatureInfo.Builder#` | This Builder object to allow for chaining of calls. This value cannot be `null`. |