use of com.birbit.android.jobqueue.JobManager in project android-priority-jobqueue by yigit.
the class AddInBackgroundTest method addInBackground.
@Test
public void addInBackground() throws Throwable {
long currentThreadId = Thread.currentThread().getId();
final AtomicLong onAddedThreadId = new AtomicLong();
final CountDownLatch addedLatch = new CountDownLatch(2);
final Job dummyJob = new DummyJob(new Params(1).setDelayMs(delayed ? 1000 : 0)) {
@Override
public void onAdded() {
super.onAdded();
onAddedThreadId.set(Thread.currentThread().getId());
addedLatch.countDown();
}
};
JobManager jobManager = createJobManager();
jobManager.stop();
if (useCallback) {
jobManager.addJobInBackground(dummyJob, new AsyncAddCallback() {
@Override
public void onAdded() {
addedLatch.countDown();
}
});
} else {
addedLatch.countDown();
jobManager.addJobInBackground(dummyJob);
}
addedLatch.await();
MatcherAssert.assertThat("thread ids should be different. delayed:" + delayed, currentThreadId, CoreMatchers.not(onAddedThreadId.get()));
if (useCallback) {
JobHolder holder = new JobManagerThreadRunnable<JobHolder>(jobManager) {
@Override
public JobHolder onRun() {
return findJobFromQueues(dummyJob.getId());
}
}.run();
MatcherAssert.assertThat("there should be a job in the holder. id:" + dummyJob.getId() + ", delayed:" + delayed, holder, CoreMatchers.notNullValue());
MatcherAssert.assertThat("id callback should have the proper id:", holder.getJob(), CoreMatchers.is(dummyJob));
}
}
use of com.birbit.android.jobqueue.JobManager in project android-priority-jobqueue by yigit.
the class ApplicationContextTests method getContextTest.
public void getContextTest(boolean persistent) throws InterruptedException, MultipleFailureException {
final ContextCheckJob addedJob = new ContextCheckJob(new Params(1).setPersistent(persistent));
final JobManager jobManager = createJobManager();
waitUntilAJobIsDone(jobManager, new WaitUntilCallback() {
@Override
public void run() {
jobManager.addJob(addedJob);
}
@Override
public void assertJob(Job job) {
}
});
if (!errors.isEmpty()) {
throw new MultipleFailureException(errors);
}
}
use of com.birbit.android.jobqueue.JobManager in project android-priority-jobqueue by yigit.
the class CleanupRule method finished.
@Override
protected void finished(Description description) {
String id = getId(description);
System.out.println("tear down " + id);
for (JobManager jobManager : test.getCreatedJobManagers()) {
JobManagerTestBase.NeverEndingDummyJob.unlockAll();
jobManager.destroy();
}
System.out.println("finished tear down of " + id);
}
Aggregations