.setTrigger(Trigger.executionWindow(0, 60)) .setRecurring(false) .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .setTag("foobar") .build();
@Test public void testWriteToBundle_backoffSeconds() { for (RetryStrategy retryStrategy : Arrays.asList(RetryStrategy.DEFAULT_EXPONENTIAL, RetryStrategy.DEFAULT_LINEAR)) { Bundle b = writer .writeToBundle( initializeDefaultBuilder().setRetryStrategy(retryStrategy).build(), new Bundle()) .getBundle("retryStrategy"); assertEquals( "initial_backoff_seconds", retryStrategy.getInitialBackoff(), b.getInt("initial_backoff_seconds")); assertEquals( "maximum_backoff_seconds", retryStrategy.getMaximumBackoff(), b.getInt("maximum_backoff_seconds")); } }
@NonNull static Bundle encodeContentUriJob(ContentUriTrigger trigger, JobCoder coder) { Job job = getBuilderWithNoopValidator() .setTag(TAG) .setTrigger(trigger) .setService(TestJobService.class) .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .build(); return coder.encode(job, new Bundle()); }
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
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(); }
static Job createJob(FirebaseJobDispatcher dispatcher) { return dispatcher.newJobBuilder() .setRecurring(false) .setReplaceCurrent(true) // retry with exponential backoff .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .setConstraints( // only run on a network Constraint.ON_ANY_NETWORK ) .setService(ParseFirebaseJobService.class) // the JobService that will be called .setTag(JOB_TAG_UPLOAD_TOKEN) // uniquely identifies the job .build(); }
private @NonNull Job.Builder createBuilder(BackupType backupType) { return firebaseJobDispatcher.newJobBuilder() .setReplaceCurrent(true) .setService(SmsJobService.class) .setTag(backupType.name()) .setRetryStrategy(defaultRetryStrategy()) .setConstraints(jobConstraints(backupType)); }
.setService(DemoJobService.class) .setReplaceCurrent(form.replaceCurrent.get()) .setRetryStrategy( jobDispatcher.newRetryStrategy( form.retryStrategy.get(),
.setService(service) .setExtras(extras) .setRetryStrategy(rs) .build();
@Test public void testOnStartCommand_handlesStartJob_validRequest() throws Exception { JobService service = spy(new ExampleJobService()); Job jobSpec = TestUtil.getBuilderWithNoopValidator() .setTag("tag") .setService(ExampleJobService.class) .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .setTrigger(Trigger.NOW) .setLifetime(Lifetime.FOREVER) .build(); countDownLatch = new CountDownLatch(1); Bundle jobSpecData = getJobCoder().encode(jobSpec, new Bundle()); IRemoteJobService remoteJobService = IRemoteJobService.Stub.asInterface(service.onBind(new Intent(JobService.ACTION_EXECUTE))); remoteJobService.start(jobSpecData, noopCallback); flush(service); assertTrue("Expected job to run to completion", countDownLatch.await(5, TimeUnit.SECONDS)); }
@Test public void testWriteToBundle_retryPolicy() { assertEquals( "retry_policy", GooglePlayJobWriter.LEGACY_RETRY_POLICY_EXPONENTIAL, writer .writeToBundle( initializeDefaultBuilder() .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL) .build(), new Bundle()) .getBundle("retryStrategy") .getInt("retry_policy")); assertEquals( "retry_policy", GooglePlayJobWriter.LEGACY_RETRY_POLICY_LINEAR, writer .writeToBundle( initializeDefaultBuilder().setRetryStrategy(RetryStrategy.DEFAULT_LINEAR).build(), new Bundle()) .getBundle("retryStrategy") .getInt("retry_policy")); }
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); }
private static Builder setValidBuilderDefaults(Builder mBuilder) { return mBuilder .setTag("tag") .setTrigger(Trigger.NOW) .setService(TestJobService.class) .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL); }
@Test public void testDecode_ignoresMissingRetryStrategy() { assertNotNull( "Expected null retry strategy to cause decode to use a default", coder.decode( coder.encode( setValidBuilderDefaults(builder).setRetryStrategy(null).build(), new Bundle()))); }