Package com.google.android.exoplayer2

## Class BundleListRetriever

- java.lang.Object
- - android.os.Binder
  - - com.google.android.exoplayer2.BundleListRetriever

- All Implemented Interfaces:
    `IBinder`

      public final class BundleListRetriever
      extends Binder

  A `Binder` to transfer a list of `Bundles` 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
       List<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");
       List<Bundle> list = BundleListRetriever.getList(binder);

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface android.os.IBinder

      `IBinder.DeathRecipient`

  - ### Field Summary

    - ### Fields inherited from interface android.os.IBinder

      `DUMP_TRANSACTION, FIRST_CALL_TRANSACTION, FLAG_ONEWAY, INTERFACE_TRANSACTION, LAST_CALL_TRANSACTION, LIKE_TRANSACTION, PING_TRANSACTION, TWEET_TRANSACTION`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BundleListRetriever​(List<Bundle> list)` | Creates a `Binder` to send a list of `Bundles` to another process.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ImmutableList<Bundle>` | `getList​(IBinder binder)` | Gets a list of `Bundles` from a `BundleListRetriever`.
    `protected boolean` | `onTransact​(int code, Parcel data, Parcel reply, int flags)` |

    - ### Methods inherited from class android.os.Binder

      `attachInterface, clearCallingIdentity, clearCallingWorkSource, dump, dump, dumpAsync, flushPendingCommands, getCallingPid, getCallingUid, getCallingUidOrThrow, getCallingUserHandle, getCallingWorkSourceUid, getInterfaceDescriptor, isBinderAlive, joinThreadPool, linkToDeath, pingBinder, queryLocalInterface, restoreCallingIdentity, restoreCallingWorkSource, setCallingWorkSourceUid, transact, unlinkToDeath`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BundleListRetriever

          public BundleListRetriever​(List<Bundle> list)

      Creates a `Binder` to send a list of `Bundles` to another process.

  - ### Method Detail

    - #### onTransact

          protected boolean onTransact​(int code,
                                       Parcel data,
                                       @Nullable
                                       Parcel reply,
                                       int flags)
                                throws RemoteException

      Overrides:
        `onTransact` in class `Binder`
      Throws:
        `RemoteException`

    - #### getList

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

      Gets a list of `Bundles` from a `BundleListRetriever`.
      Parameters:
        `binder` - A binder interface backed by `BundleListRetriever`.
      Returns:
        The list of `Bundles`.