@Test public void testWriteToBundle_extras() { Bundle extras = new Bundle(); extras.putString("bar", "foo"); extras.putInt("an_int", 1); extras.putBoolean("a bool", true); Bundle result = writer .writeToBundle(initializeDefaultBuilder().setExtras(extras).build(), new Bundle()) .getBundle("extras"); // Can't use assertBundlesEqual because we write non-user metadata to the extras Bundle, so // there'll always be unexpected values. Instead, check that all the user-provided extras are // there. for (String key : extras.keySet()) { assertEquals('"' + key + '"' + " mismatch", extras.get(key), result.get(key)); } } }
@Test public void testCodingForExtras() { Bundle extras = new Bundle(); extras.putString("foo", "bar"); builder.setExtras(extras); Bundle deserializedExtras = coder .decode(coder.encode(setValidBuilderDefaults(builder).build(), new Bundle())) .build() .getExtras(); assertBundlesEqual(extras, deserializedExtras); }
static Job createJob(FirebaseJobDispatcher dispatcher, String gcmSenderId) { Bundle extras = new Bundle(); extras.putString(KEY_GCM_SENDER_ID, gcmSenderId); return dispatcher.newJobBuilder() .setExtras(extras) .setRecurring(false) .setReplaceCurrent(true) // retry with exponential backoff .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .setConstraints( // only run on a network Constraint.ON_ANY_NETWORK ) .setService(ParseGCMJobService.class) // the JobService that will be called .setTag(JOB_TAG_REGISTER) // uniquely identifies the job .build(); }
.setExtras(extras) .setLifetime(Lifetime.FOREVER) .setService(OnExitJobService.class)
.setExtras(myExtrasBundle) .build();
.setTrigger(trigger) .setService(service) .setExtras(extras) .setRetryStrategy(rs) .build();
private static Builder initializeDefaultBuilder() { return TestUtil.getBuilderWithNoopValidator() .setConstraints(Constraint.DEVICE_CHARGING) .setExtras(null) .setLifetime(Lifetime.FOREVER) .setRecurring(false) .setReplaceCurrent(false) .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .setService(TestJobService.class) .setTag("tag") .setTrigger(Trigger.NOW); }