# BundleListRetriever

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

*** ** * ** ***

<br />

```
@UnstableApi
public final class BundleListRetriever extends Binder
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [android.os.Binder](https://developer.android.com/reference/android/os/Binder.html) ||
|   | ↳ | [androidx.media3.common.BundleListRetriever](https://developer.android.com/reference/androidx/media3/common/BundleListRetriever) |

*** ** * ** ***

A `https://developer.android.com/reference/android/os/Binder.html` to transfer a list of `https://developer.android.com/reference/android/os/Bundle.html` across processes by splitting the list into multiple transactions.

Note: Using this class causes synchronous binder calls in the opposite direction regardless of the "oneway" property.

Example usage:

```
// Sender
ImmutableList<Bundle> list = ...;
IBinder binder = new BundleListRetriever(list);
Bundle bundle = new Bundle();
bundle.putBinder("list", binder);

// Receiver
Bundle bundle = ...; // Received from the sender
IBinder binder = bundle.getBinder("list");
ImmutableList<Bundle> list = BundleListRetriever.getList(binder);
```

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever#BundleListRetriever(java.util.List<android.os.Bundle>)(https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/os/Bundle.html> list)` Creates a `https://developer.android.com/reference/android/os/Binder.html` to send a list of `https://developer.android.com/reference/android/os/Bundle.html` to another process. |

| ### Public methods |
|---|---|
| `static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/os/Bundle.html>` | `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever#getList(android.os.IBinder)(https://developer.android.com/reference/android/os/IBinder.html binder)` Gets a list of `https://developer.android.com/reference/android/os/Bundle.html` from a `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever`. |

| ### Protected methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever#onTransact(int,android.os.Parcel,android.os.Parcel,int)(int code, https://developer.android.com/reference/android/os/Parcel.html data, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/os/Parcel.html reply, int flags)` |

### Inherited Constants

From [android.os.IBinder](https://developer.android.com/reference/android/os/IBinder.html) `static final int` `https://developer.android.com/reference/android/os/IBinder.html#DUMP_TRANSACTION = 1598311760` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#FIRST_CALL_TRANSACTION = 1` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#FLAG_ONEWAY = 1` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#INTERFACE_TRANSACTION = 1598968902` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#LAST_CALL_TRANSACTION = 16777215` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#LIKE_TRANSACTION = 1598835019` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#PING_TRANSACTION = 1599098439` `static final int` `https://developer.android.com/reference/android/os/IBinder.html#TWEET_TRANSACTION = 1599362900`

### Inherited methods

From [android.os.Binder](https://developer.android.com/reference/android/os/Binder.html) `void` `https://developer.android.com/reference/android/os/Binder.html#attachInterface(android.os.IInterface, java.lang.String)(https://developer.android.com/reference/android/os/IInterface.html owner, https://developer.android.com/reference/java/lang/String.html descriptor)` `native static final long` `https://developer.android.com/reference/android/os/Binder.html#clearCallingIdentity()()` `native static final long` `https://developer.android.com/reference/android/os/Binder.html#clearCallingWorkSource()()` `void` `https://developer.android.com/reference/android/os/Binder.html#dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])(https://developer.android.com/reference/java/io/FileDescriptor.html fd, https://developer.android.com/reference/java/io/PrintWriter.html fout, String[] args)` `void` `https://developer.android.com/reference/android/os/Binder.html#dumpAsync(java.io.FileDescriptor, java.lang.String[])(https://developer.android.com/reference/java/io/FileDescriptor.html fd, String[] args)` `native static final void` `https://developer.android.com/reference/android/os/Binder.html#flushPendingCommands()()` `native static final int` `https://developer.android.com/reference/android/os/Binder.html#getCallingPid()()` `native static final int` `https://developer.android.com/reference/android/os/Binder.html#getCallingUid()()` `static final int` `https://developer.android.com/reference/android/os/Binder.html#getCallingUidOrThrow()()` `static final https://developer.android.com/reference/android/os/UserHandle.html` `https://developer.android.com/reference/android/os/Binder.html#getCallingUserHandle()()` `native static final int` `https://developer.android.com/reference/android/os/Binder.html#getCallingWorkSourceUid()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/android/os/Binder.html#getInterfaceDescriptor()()` `boolean` `https://developer.android.com/reference/android/os/Binder.html#isBinderAlive()()` `static final void` `https://developer.android.com/reference/android/os/Binder.html#joinThreadPool()()` `void` `https://developer.android.com/reference/android/os/Binder.html#linkToDeath(android.os.IBinder.DeathRecipient, int)(https://developer.android.com/reference/android/os/IBinder.DeathRecipient.html recipient, int flags)` `boolean` `https://developer.android.com/reference/android/os/Binder.html#pingBinder()()` `https://developer.android.com/reference/android/os/IInterface.html` `https://developer.android.com/reference/android/os/Binder.html#queryLocalInterface(java.lang.String)(https://developer.android.com/reference/java/lang/String.html descriptor)` `native static final void` `https://developer.android.com/reference/android/os/Binder.html#restoreCallingIdentity(long)(long p)` `native static final void` `https://developer.android.com/reference/android/os/Binder.html#restoreCallingWorkSource(long)(long p)` `native static final long` `https://developer.android.com/reference/android/os/Binder.html#setCallingWorkSourceUid(int)(int p)` `final boolean` `https://developer.android.com/reference/android/os/Binder.html#transact(int, android.os.Parcel, android.os.Parcel, int)(int code, https://developer.android.com/reference/android/os/Parcel.html data, https://developer.android.com/reference/android/os/Parcel.html reply, int flags)` `boolean` `https://developer.android.com/reference/android/os/Binder.html#unlinkToDeath(android.os.IBinder.DeathRecipient, int)(https://developer.android.com/reference/android/os/IBinder.DeathRecipient.html recipient, int flags)` From [android.os.IBinder](https://developer.android.com/reference/android/os/IBinder.html) `void` `https://developer.android.com/reference/android/os/IBinder.html#addFrozenStateChangeCallback(java.util.concurrent.Executor, android.os.IBinder.FrozenStateChangeCallback)(

https://developer.android.com/reference/java/util/concurrent/Executor.html executor,

https://developer.android.com/reference/android/os/IBinder.FrozenStateChangeCallback.html callback

)` `static int` `https://developer.android.com/reference/android/os/IBinder.html#getSuggestedMaxIpcSizeBytes()()` `boolean` `https://developer.android.com/reference/android/os/IBinder.html#removeFrozenStateChangeCallback(android.os.IBinder.FrozenStateChangeCallback)(

https://developer.android.com/reference/android/os/IBinder.FrozenStateChangeCallback.html callback

)`

## Public constructors

### BundleListRetriever

```
public BundleListRetriever(List<Bundle> list)
```

Creates a `https://developer.android.com/reference/android/os/Binder.html` to send a list of `https://developer.android.com/reference/android/os/Bundle.html` to another process.

## Public methods

### getList

```
public static ImmutableList<Bundle> getList(IBinder binder)
```

Gets a list of `https://developer.android.com/reference/android/os/Bundle.html` from a `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/os/IBinder.html binder` | A binder interface backed by `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever`. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/os/Bundle.html>` | The list of `https://developer.android.com/reference/android/os/Bundle.html`. |

## Protected methods

### onTransact

```
protected boolean onTransact(int code, Parcel data, @Nullable Parcel reply, int flags)
```

| Throws |
|---|---|
| `https://developer.android.com/reference/android/os/RemoteException.html` |   |