@Test
  public void testExtractCallback_extraMapValues() {
    Bundle validBundle = new Bundle();
    validBundle.putString("foo", "bar");
    validBundle.putInt("bar", 3);
    validBundle.putParcelable("parcelable", new Bundle());
    validBundle.putParcelable("callback", new InspectableBinder().toPendingCallback());

    Pair<JobCallback, Bundle> extraction = extractCallback(validBundle);
    assertNotNull(extraction);
    assertEquals(
        "should have stripped the 'callback' entry from the extracted bundle",
        3,
        extraction.second.keySet().size());
  }
ShadowParcel doesn't correctly handle {@link Parcel#writeStrongBinder(IBinder)} or {@link
Parcel#readStrongBinder()}, so we shim a simple implementation that uses an in-memory map to
read and write Binder objects.
jobdispatcher/src/test/java/com/firebase/jobdispatcher/GooglePlayCallbackExtractorTest.java