@Test
  public void prepareJob() {
    Intent intent = new Intent();

    Bundle encode = encodeContentUriJob(getContentUriTrigger(), TestUtil.JOB_CODER);
    intent.putExtra(GooglePlayJobWriter.REQUEST_PARAM_EXTRAS, encode);

    Parcel container = Parcel.obtain();
    container.writeStrongBinder(new Binder());
    PendingCallback pcb = new PendingCallback(container);
    intent.putExtra("callback", pcb);

    ArrayList<Uri> uris = new ArrayList<>();
    uris.add(ContactsContract.AUTHORITY_URI);
    uris.add(Media.EXTERNAL_CONTENT_URI);
    intent.putParcelableArrayListExtra(BundleProtocol.PACKED_PARAM_TRIGGERED_URIS, uris);

    JobInvocation jobInvocation = receiver.prepareJob(intent);
    assertEquals(jobInvocation.getTriggerReason().getTriggeredContentUris(), uris);
  }
The default ShadowMessenger implementation causes NPEs when using the {@link
Messenger#Messenger(Handler)} constructor. We create our own empty Shadow so we can just use
the standard Android implementation, which is totally fine.

@see <a href="https://github.com/robolectric/robolectric/issues/2246">Robolectric issue</a>
jobdispatcher/src/test/java/com/firebase/jobdispatcher/GooglePlayReceiverTest.java