Inject GtasksSyncV2Provider with dagger

pull/143/head
Alex Baker 12 years ago
parent 741f72d999
commit 7786dc89cf

@ -15,10 +15,11 @@ import com.todoroo.astrid.sync.SyncV2Provider;
public class GtasksBackgroundService extends SyncV2BackgroundService {
@Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private GtasksSyncV2Provider gtasksSyncV2Provider;
@Override
protected SyncV2Provider getSyncProvider() {
return GtasksSyncV2Provider.getInstance();
return gtasksSyncV2Provider;
}
@Override

@ -26,6 +26,7 @@ import org.tasks.R;
public class GtasksPreferences extends SyncProviderPreferences {
@Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private GtasksSyncV2Provider gtasksSyncV2Provider;
public GtasksPreferences() {
super();
@ -70,7 +71,7 @@ public class GtasksPreferences extends SyncProviderPreferences {
}
public void logOut() {
GtasksSyncV2Provider.getInstance().signOut();
gtasksSyncV2Provider.signOut();
}
@Override

@ -10,9 +10,7 @@ import android.text.TextUtils;
import com.google.api.services.tasks.model.Tasks;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Query;
@ -36,7 +34,6 @@ import com.todoroo.astrid.gtasks.api.GoogleTasksException;
import com.todoroo.astrid.gtasks.api.GtasksApiUtilities;
import com.todoroo.astrid.gtasks.api.GtasksInvoker;
import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator;
import com.todoroo.astrid.service.AstridDependencyInjector;
import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.SyncResultCallbackWrapper;
import com.todoroo.astrid.service.TaskService;
@ -52,34 +49,34 @@ import java.util.HashSet;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import javax.inject.Inject;
import javax.inject.Singleton;
import static org.tasks.date.DateTimeUtils.newDate;
@Singleton
public class GtasksSyncV2Provider extends SyncV2Provider {
@Autowired TaskService taskService;
@Autowired MetadataService metadataService;
@Autowired StoreObjectDao storeObjectDao;
@Autowired GtasksPreferenceService gtasksPreferenceService;
@Autowired GtasksSyncService gtasksSyncService;
@Autowired GtasksListService gtasksListService;
@Autowired GtasksMetadataService gtasksMetadataService;
@Autowired GtasksTaskListUpdater gtasksTaskListUpdater;
static {
AstridDependencyInjector.initialize();
}
private static GtasksSyncV2Provider instance = null;
protected GtasksSyncV2Provider() {
DependencyInjectionService.getInstance().inject(this);
}
public synchronized static GtasksSyncV2Provider getInstance() {
if(instance == null) {
instance = new GtasksSyncV2Provider();
}
return instance;
private final TaskService taskService;
private final MetadataService metadataService;
private final StoreObjectDao storeObjectDao;
private final GtasksPreferenceService gtasksPreferenceService;
private final GtasksSyncService gtasksSyncService;
private final GtasksListService gtasksListService;
private final GtasksMetadataService gtasksMetadataService;
private final GtasksTaskListUpdater gtasksTaskListUpdater;
@Inject
public GtasksSyncV2Provider(TaskService taskService, MetadataService metadataService, StoreObjectDao storeObjectDao, GtasksPreferenceService gtasksPreferenceService,
GtasksSyncService gtasksSyncService, GtasksListService gtasksListService, GtasksMetadataService gtasksMetadataService, GtasksTaskListUpdater gtasksTaskListUpdater) {
this.taskService = taskService;
this.metadataService = metadataService;
this.storeObjectDao = storeObjectDao;
this.gtasksPreferenceService = gtasksPreferenceService;
this.gtasksSyncService = gtasksSyncService;
this.gtasksListService = gtasksListService;
this.gtasksMetadataService = gtasksMetadataService;
this.gtasksTaskListUpdater = gtasksTaskListUpdater;
}
@Override

@ -21,6 +21,7 @@ import com.todoroo.astrid.gtasks.GtasksMetadataService;
import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.gtasks.GtasksTaskListUpdater;
import com.todoroo.astrid.gtasks.sync.GtasksSyncService;
import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider;
import com.todoroo.astrid.tags.TagService;
import org.tasks.Broadcaster;
@ -74,6 +75,7 @@ public class AstridDependencyInjector extends AbstractDependencyInjector {
@Inject GtasksMetadataService gtasksMetadataService;
@Inject GtasksSyncService gtasksSyncService;
@Inject GtasksTaskListUpdater gtasksTaskListUpdater;
@Inject GtasksSyncV2Provider gtasksSyncV2Provider;
/**
* Initialize list of injectables. Special care must used when
@ -117,6 +119,7 @@ public class AstridDependencyInjector extends AbstractDependencyInjector {
injectables.put("gtasksMetadataService", gtasksMetadataService);
injectables.put("gtasksTaskListUpdater", gtasksTaskListUpdater);
injectables.put("gtasksSyncService", gtasksSyncService);
injectables.put("gtasksSyncV2Provider", gtasksSyncV2Provider);
// com.todoroo.astrid.tags
injectables.put("tagService", tagService);

@ -32,12 +32,13 @@ public class SyncV2Service {
* there is enough interest, the Astrid team could create an interface
* for responding to sync requests through this new API.
*/
private static final SyncV2Provider[] providers = new SyncV2Provider[] {
GtasksSyncV2Provider.getInstance()
};
private final SyncV2Provider[] providers;
@Inject
public SyncV2Service() {
public SyncV2Service(GtasksSyncV2Provider gtasksSyncV2Provider) {
providers = new SyncV2Provider[] {
gtasksSyncV2Provider
};
}
/**

Loading…
Cancel
Save