Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in [U Extensions 22](https://developer.android.com/sdkExtensions) Summary: [Nested Classes](https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#nestedclasses) \| [Inherited Constants](https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#inhconstants) \| [Fields](https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#lfields) \| [Methods](https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#inhmethods)

# PhotoPickerSelectionParams

*** ** * ** ***


`
public

final

class
PhotoPickerSelectionParams
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.widget.photopicker.PhotoPickerSelectionParams |

<br />

*** ** * ** ***

An immutable parcel that carries constraints to be applied to media items displayed in the
Photo Picker.

Media items that fail to satisfy these constraints will be disabled for selection.

Callers should use `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder` to construct an instance of this class.

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder` A builder class used to construct and validate an immutable `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams` object. |

| ### Inherited constants |
|---|
| From interface `https://developer.android.com/reference/android/os/Parcelable` |---|---| | `int` | `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor. | | `int` | `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams>` | `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#CREATOR` |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` long` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMaxMediaItemResolutionInPixels()() ` Returns the maximum allowed resolution, in pixels, for a media item to be selectable. |
| ` long` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMaxMediaItemSizeInBytes()() ` Returns the maximum allowed size, in bytes, for a media item to be selectable. |
| ` long` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMaxSelectionBatchSizeInBytes()() ` Returns the maximum allowed cumulative size, in bytes, for the entire batch of selected media items. |
| ` https://developer.android.com/reference/java/time/Duration` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMaxVideoDuration()() ` Returns the maximum allowed duration for a video to be selectable. |
| ` https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMimeTypes()() ` Returns the list of allowed MIME types that media items must match to be selectable. |
| ` long` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMinMediaItemResolutionInPixels()() ` Returns the minimum required resolution, in pixels, for a media item to be selectable. |
| ` https://developer.android.com/reference/java/time/Duration` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#getMinVideoDuration()() ` Returns the minimum required duration for a video to be selectable. |
| ` void` | ` https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/android/os/Parcelable ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | | ` abstract void` | ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. | ||

## Fields

### CREATOR

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

```
public static final Creator<PhotoPickerSelectionParams> CREATOR
```

<br />

<br />

## Public methods

### describeContents

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

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### getMaxMediaItemResolutionInPixels

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

```
public long getMaxMediaItemResolutionInPixels ()
```

Returns the maximum allowed resolution, in pixels, for a media item to be selectable.

If the maximum resolution is not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMaxMediaItemResolutionInPixels(long)`, this method returns -1, indicating that the
photo picker will not restrict selection based on the maximum media item resolution.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getMaxMediaItemSizeInBytes

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

```
public long getMaxMediaItemSizeInBytes ()
```

Returns the maximum allowed size, in bytes, for a media item to be selectable.

If the maximum media item size is not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMaxMediaItemSizeInBytes(long)`, this method returns -1, indicating that the
photo picker will not restrict selection based on the maximum media item size.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getMaxSelectionBatchSizeInBytes

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

```
public long getMaxSelectionBatchSizeInBytes ()
```

Returns the maximum allowed cumulative size, in bytes, for the entire batch of selected
media items.

If the maximum selection batch size is not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMaxSelectionBatchSizeInBytes(long)`, this method returns -1, indicating that the
photo picker will not restrict selection based on the total batch size.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getMaxVideoDuration

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

```
public Duration getMaxVideoDuration ()
```

Returns the maximum allowed duration for a video to be selectable.

If the maximum video duration is not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMaxVideoDuration(java.time.Duration)`, this method returns `null`,
indicating that the photo picker will not restrict selection based on the maximum video
duration.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/time/Duration` | <br /> |

### getMimeTypes

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

```
public List<String> getMimeTypes ()
```

Returns the list of allowed MIME types that media items must match to be selectable.

If the allowed MIME types are not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMimeTypes(java.util.List<java.lang.String>)`, this method returns an empty list, indicating that the
photo picker will not restrict selection based on the MIME type.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String>` | This value cannot be `null`. <br /> |

### getMinMediaItemResolutionInPixels

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

```
public long getMinMediaItemResolutionInPixels ()
```

Returns the minimum required resolution, in pixels, for a media item to be selectable.

If the minimum resolution is not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMinMediaItemResolutionInPixels(long)`, this method returns -1, indicating that the
photo picker will not restrict selection based on the minimum media item resolution.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getMinVideoDuration

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

```
public Duration getMinVideoDuration ()
```

Returns the minimum required duration for a video to be selectable.

If the minimum video duration is not set by the caller app using `https://developer.android.com/reference/android/widget/photopicker/PhotoPickerSelectionParams.Builder#setMinVideoDuration(java.time.Duration)`, this method returns `null`,
indicating that the photo picker will not restrict selection based on the minimum video
duration.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/time/Duration` | <br /> |

### writeToParcel

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

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |