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 { public class GtasksBackgroundService extends SyncV2BackgroundService {
@Autowired private GtasksPreferenceService gtasksPreferenceService; @Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private GtasksSyncV2Provider gtasksSyncV2Provider;
@Override @Override
protected SyncV2Provider getSyncProvider() { protected SyncV2Provider getSyncProvider() {
return GtasksSyncV2Provider.getInstance(); return gtasksSyncV2Provider;
} }
@Override @Override

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

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

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

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

Loading…
Cancel
Save