private View createViewForJob(JobParameters job) {
    TableLayout tableLayout = new TableLayout(this);
    addRow(tableLayout, "TAG = " + job.getTag());
    addRow(tableLayout, "SERVICE = " + job.getService());
    if (job.getTriggerReason() != null
        && job.getTrigger() instanceof JobTrigger.ContentUriTrigger) {
      ContentUriTrigger trigger = (ContentUriTrigger) job.getTrigger();

      addRow(tableLayout, "OBSERVED URIs = ");
      for (ObservedUri uri : trigger.getUris()) {
        addRow(
            tableLayout,
            "URI = " + uri.getUri() + ", flags = " + Integer.toBinaryString(uri.getFlags()));
      }
      addRow(tableLayout, "TRIGGERED URIs = ");
      for (Uri uri : job.getTriggerReason().getTriggeredContentUris()) {
        addRow(tableLayout, uri.toString());
      }
    }
    ScrollView scrollView = new ScrollView(this);
    scrollView.addView(tableLayout);
    return scrollView;
  }
An Activity that shows details on the associated Job.
testapp/src/main/java/com/firebase/jobdispatcher/testapp/JobDetailActivity.java