mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-16 05:23:04 +00:00
Beginning of libtextsecure refactor.
1) Break out appropriate components. 2) Switch the incoming pipeline from SendReceiveService to the JobManager.
This commit is contained in:
@@ -16,10 +16,14 @@
|
||||
*/
|
||||
package org.whispersystems.jobqueue;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import org.whispersystems.jobqueue.persistence.PersistentStorage;
|
||||
|
||||
public class JobConsumer extends Thread {
|
||||
|
||||
private static final String TAG = JobConsumer.class.getSimpleName();
|
||||
|
||||
enum JobResult {
|
||||
SUCCESS,
|
||||
FAILURE,
|
||||
@@ -69,6 +73,7 @@ public class JobConsumer extends Thread {
|
||||
job.onRun();
|
||||
return JobResult.SUCCESS;
|
||||
} catch (Throwable throwable) {
|
||||
Log.w(TAG, throwable);
|
||||
if (!job.onShouldRetry(throwable)) {
|
||||
return JobResult.FAILURE;
|
||||
} else if (!job.isRequirementsMet()) {
|
||||
|
||||
@@ -39,14 +39,16 @@ public class JobManager implements RequirementListener {
|
||||
private final PersistentStorage persistentStorage;
|
||||
|
||||
public JobManager(Context context, String name,
|
||||
RequirementProvider requirementProvider,
|
||||
List<RequirementProvider> requirementProviders,
|
||||
JobSerializer jobSerializer, int consumers)
|
||||
{
|
||||
this.persistentStorage = new PersistentStorage(context, name, jobSerializer);
|
||||
eventExecutor.execute(new LoadTask(null));
|
||||
|
||||
if (requirementProvider != null) {
|
||||
requirementProvider.setListener(this);
|
||||
if (requirementProviders != null && !requirementProviders.isEmpty()) {
|
||||
for (RequirementProvider provider : requirementProviders) {
|
||||
provider.setListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i=0;i<consumers;i++) {
|
||||
|
||||
Reference in New Issue
Block a user