You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tasks/app/src/main/java/org/tasks/jobs/Job.java

36 lines
750 B
Java

package org.tasks.jobs;
import android.content.Intent;
import android.support.annotation.NonNull;
import org.tasks.analytics.Tracker;
import org.tasks.injection.InjectingJobIntentService;
import javax.inject.Inject;
import timber.log.Timber;
public abstract class Job extends InjectingJobIntentService {
@Inject Tracker tracker;
@Override
protected void onHandleWork(@NonNull Intent intent) {
super.onHandleWork(intent);
Timber.d("onHandleIntent(%s)", intent);
try {
run();
} catch (Exception e) {
tracker.reportException(e);
} finally {
scheduleNext();
}
}
protected abstract void run();
protected abstract void scheduleNext();
}