# DataSourceBitmapLoader

Artifact: [androidx.media3:media3-datasource](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/datasource/DataSourceBitmapLoader.java+class:androidx.media3.datasource.DataSourceBitmapLoader)

*** ** * ** ***

<br />

```
@UnstableApi
class DataSourceBitmapLoader : BitmapLoader
```

<br />

*** ** * ** ***

A `https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader` implementation that uses a `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource` to support fetching images from URIs and `https://developer.android.com/reference/android/graphics/BitmapFactory.html` to load them into `https://developer.android.com/reference/android/graphics/Bitmap.html`.

Loading tasks are delegated to a `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListeningExecutorService.html` defined during construction. If no executor service is passed, all tasks are delegated to a single-thread executor service that is shared between instances of this class.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` A builder for `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader` instances. |

| ### Constants |
|---|---|
| `const https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Supplier.html<https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListeningExecutorService.html!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DEFAULT_EXECUTOR_SERVICE()` |

| ### Public constructors |
|---|
| `[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(android.content.Context))(context: https://developer.android.com/reference/android/content/Context.html!)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead. <br /> |
| `[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(android.content.Context,int))(context: https://developer.android.com/reference/android/content/Context.html!, maximumOutputDimension: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead. <br /> |
| `[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(com.google.common.util.concurrent.ListeningExecutorService,androidx.media3.datasource.DataSource.Factory))( listeningExecutorService: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListeningExecutorService.html!, dataSourceFactory: https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource.Factory! )` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead. <br /> |
| `[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(com.google.common.util.concurrent.ListeningExecutorService,androidx.media3.datasource.DataSource.Factory,android.graphics.BitmapFactory.Options))( listeningExecutorService: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListeningExecutorService.html!, dataSourceFactory: https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource.Factory!, options: https://developer.android.com/reference/android/graphics/BitmapFactory.Options.html? )` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead. <br /> |
| `[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(com.google.common.util.concurrent.ListeningExecutorService,androidx.media3.datasource.DataSource.Factory,android.graphics.BitmapFactory.Options,int))( listeningExecutorService: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListeningExecutorService.html!, dataSourceFactory: https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource.Factory!, options: https://developer.android.com/reference/android/graphics/BitmapFactory.Options.html?, maximumOutputDimension: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead. <br /> |

| ### Public functions |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/android/graphics/Bitmap.html!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#decodeBitmap(byte[])(data: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!)` Decodes an image from compressed binary data. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/android/graphics/Bitmap.html!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#loadBitmap(android.net.Uri)(uri: https://developer.android.com/reference/android/net/Uri.html!)` Loads an image from `uri`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#supportsMimeType(java.lang.String)(mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` Returns whether the given `mimeType` is supported. |

### Inherited functions

From [androidx.media3.common.util.BitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader) `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/android/graphics/Bitmap.html!>?` `https://developer.android.com/reference/kotlin/androidx/media3/common/util/BitmapLoader#loadBitmapFromMetadata(androidx.media3.common.MediaMetadata)(metadata: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata!)`

Loads an image from `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata`.

## Constants

### DEFAULT_EXECUTOR_SERVICE

```
const val DEFAULT_EXECUTOR_SERVICE: Supplier<ListeningExecutorService!>!
```

## Public constructors

### DataSourceBitmapLoader

```
[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(android.content.Context))(context: Context!)
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead.

### DataSourceBitmapLoader

```
[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(android.content.Context,int))(context: Context!, maximumOutputDimension: Int)
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead.

### DataSourceBitmapLoader

```
[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(com.google.common.util.concurrent.ListeningExecutorService,androidx.media3.datasource.DataSource.Factory))(
    listeningExecutorService: ListeningExecutorService!,
    dataSourceFactory: DataSource.Factory!
)
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead.

### DataSourceBitmapLoader

```
[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(com.google.common.util.concurrent.ListeningExecutorService,androidx.media3.datasource.DataSource.Factory,android.graphics.BitmapFactory.Options))(
    listeningExecutorService: ListeningExecutorService!,
    dataSourceFactory: DataSource.Factory!,
    options: BitmapFactory.Options?
)
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead.

### DataSourceBitmapLoader

```
[DataSourceBitmapLoader](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader#DataSourceBitmapLoader(com.google.common.util.concurrent.ListeningExecutorService,androidx.media3.datasource.DataSource.Factory,android.graphics.BitmapFactory.Options,int))(
    listeningExecutorService: ListeningExecutorService!,
    dataSourceFactory: DataSource.Factory!,
    options: BitmapFactory.Options?,
    maximumOutputDimension: Int
)
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceBitmapLoader.Builder` instead.

## Public functions

### decodeBitmap

```
fun decodeBitmap(data: ByteArray<Byte>!): ListenableFuture<Bitmap!>!
```

Decodes an image from compressed binary data.

### loadBitmap

```
fun loadBitmap(uri: Uri!): ListenableFuture<Bitmap!>!
```

Loads an image from `uri`.

### supportsMimeType

```
fun supportsMimeType(mimeType: String!): Boolean
```

Returns whether the given `mimeType` is supported.