diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksCustomFilterCriteriaExposer.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksCustomFilterCriteriaExposer.java index 165e003cd..e203212ab 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksCustomFilterCriteriaExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksCustomFilterCriteriaExposer.java @@ -5,7 +5,6 @@ */ package com.todoroo.astrid.gtasks; -import android.content.BroadcastReceiver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; @@ -13,9 +12,7 @@ import android.content.res.Resources; import android.graphics.drawable.BitmapDrawable; import com.todoroo.andlib.data.AbstractModel; -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; @@ -27,24 +24,24 @@ import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; -import com.todoroo.astrid.service.AstridDependencyInjector; import org.tasks.R; +import org.tasks.injection.InjectingBroadcastReceiver; -public class GtasksCustomFilterCriteriaExposer extends BroadcastReceiver { - @Autowired private GtasksPreferenceService gtasksPreferenceService; - @Autowired private GtasksListService gtasksListService; +import javax.inject.Inject; + +public class GtasksCustomFilterCriteriaExposer extends InjectingBroadcastReceiver { private static final String IDENTIFIER = "gtaskslist"; //$NON-NLS-1$ - static { - AstridDependencyInjector.initialize(); - } + @Inject GtasksPreferenceService gtasksPreferenceService; + @Inject GtasksListService gtasksListService; @Override public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + ContextManager.setContext(context); - DependencyInjectionService.getInstance().inject(this); // if we aren't logged in, don't expose sync action if(!gtasksPreferenceService.isLoggedIn()) { @@ -53,7 +50,6 @@ public class GtasksCustomFilterCriteriaExposer extends BroadcastReceiver { Resources r = context.getResources(); - StoreObject[] lists = gtasksListService.getLists(); CustomFilterCriterion[] result = new CustomFilterCriterion[1]; diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksDetailExposer.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksDetailExposer.java index c3a53aaf6..1c614039d 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksDetailExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksDetailExposer.java @@ -5,17 +5,17 @@ */ package com.todoroo.astrid.gtasks; -import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.data.Metadata; -import com.todoroo.astrid.service.AstridDependencyInjector; + +import org.tasks.injection.InjectingBroadcastReceiver; + +import javax.inject.Inject; /** * Exposes Task Details for Google TAsks: @@ -24,22 +24,16 @@ import com.todoroo.astrid.service.AstridDependencyInjector; * @author Tim Su * */ -public class GtasksDetailExposer extends BroadcastReceiver { +public class GtasksDetailExposer extends InjectingBroadcastReceiver { - @Autowired private GtasksMetadataService gtasksMetadataService; - @Autowired private GtasksListService gtasksListService; - @Autowired private GtasksPreferenceService gtasksPreferenceService; - - static { - AstridDependencyInjector.initialize(); - } - - public GtasksDetailExposer() { - DependencyInjectionService.getInstance().inject(this); - } + @Inject GtasksMetadataService gtasksMetadataService; + @Inject GtasksListService gtasksListService; + @Inject GtasksPreferenceService gtasksPreferenceService; @Override public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + ContextManager.setContext(context); // if we aren't logged in, don't expose features @@ -64,7 +58,7 @@ public class GtasksDetailExposer extends BroadcastReceiver { context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ); } - public String getTaskDetails(long id) { + private String getTaskDetails(long id) { Metadata metadata = gtasksMetadataService.getTaskMetadata(id); if(metadata == null) { return null; diff --git a/astrid/src/main/java/com/todoroo/astrid/service/GlobalEventReceiver.java b/astrid/src/main/java/com/todoroo/astrid/service/GlobalEventReceiver.java index bc8b052e0..391d61d83 100644 --- a/astrid/src/main/java/com/todoroo/astrid/service/GlobalEventReceiver.java +++ b/astrid/src/main/java/com/todoroo/astrid/service/GlobalEventReceiver.java @@ -5,16 +5,17 @@ */ package com.todoroo.astrid.service; -import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.utility.Flags; +import org.tasks.injection.InjectingBroadcastReceiver; + +import javax.inject.Inject; + /** * BroadcastReceiver for receiving Astrid events not associated with a * specific activity @@ -22,26 +23,21 @@ import com.todoroo.astrid.utility.Flags; * @author Tim Su * */ -public final class GlobalEventReceiver extends BroadcastReceiver { - - static { - AstridDependencyInjector.initialize(); - } +public final class GlobalEventReceiver extends InjectingBroadcastReceiver { - @Autowired private TaskService taskService; + @Inject TaskService taskService; @Override public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + if(intent == null) { return; } - DependencyInjectionService.getInstance().inject(this); - if(AstridApiConstants.BROADCAST_EVENT_FLUSH_DETAILS.equals(intent.getAction())) { taskService.clearDetails(Criterion.all); Flags.set(Flags.REFRESH); } } - } diff --git a/astrid/src/main/java/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java b/astrid/src/main/java/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java index f32ed35cf..4cc2c03c4 100644 --- a/astrid/src/main/java/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/tags/TagCustomFilterCriteriaExposer.java @@ -5,15 +5,12 @@ */ package com.todoroo.astrid.tags; -import android.content.BroadcastReceiver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.graphics.drawable.BitmapDrawable; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.Query; @@ -28,19 +25,21 @@ import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.Task; import org.tasks.R; +import org.tasks.injection.InjectingBroadcastReceiver; + +import javax.inject.Inject; + +public class TagCustomFilterCriteriaExposer extends InjectingBroadcastReceiver { -public class TagCustomFilterCriteriaExposer extends BroadcastReceiver { private static final String IDENTIFIER_TAG_IS = "tag_is"; //$NON-NLS-1$ private static final String IDENTIFIER_TAG_CONTAINS = "tag_contains"; //$NON-NLS-1$ - @Autowired TagService tagService; - - public TagCustomFilterCriteriaExposer() { - DependencyInjectionService.getInstance().inject(this); - } + @Inject TagService tagService; @Override public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + Resources r = context.getResources(); CustomFilterCriterion[] ret = new CustomFilterCriterion[2]; diff --git a/astrid/src/main/java/com/todoroo/astrid/tags/TagDetailExposer.java b/astrid/src/main/java/com/todoroo/astrid/tags/TagDetailExposer.java index cdebc17ce..39792ff82 100644 --- a/astrid/src/main/java/com/todoroo/astrid/tags/TagDetailExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/tags/TagDetailExposer.java @@ -5,30 +5,28 @@ */ package com.todoroo.astrid.tags; -import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.astrid.api.AstridApiConstants; +import org.tasks.injection.InjectingBroadcastReceiver; + +import javax.inject.Inject; + /** * Exposes Task Detail for tags, i.e. "Tags: frogs, animals" * * @author Tim Su * */ -public class TagDetailExposer extends BroadcastReceiver { +public class TagDetailExposer extends InjectingBroadcastReceiver { - @Autowired TagService tagService; - - public TagDetailExposer() { - DependencyInjectionService.getInstance().inject(this); - } + @Inject TagService tagService; @Override public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); // get tags associated with this task long taskId = intent.getLongExtra(AstridApiConstants.EXTRAS_TASK_ID, -1); if(taskId == -1) { @@ -48,7 +46,7 @@ public class TagDetailExposer extends BroadcastReceiver { context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ); } - public String getTaskDetails(long id) { + private String getTaskDetails(long id) { String tagList = tagService.getTagsAsString(id); if(tagList.length() == 0) { return null; @@ -56,5 +54,4 @@ public class TagDetailExposer extends BroadcastReceiver { return /*" " +*/ tagList; } - } diff --git a/astrid/src/main/java/org/tasks/injection/BroadcastModule.java b/astrid/src/main/java/org/tasks/injection/BroadcastModule.java index fd32b0c29..6a64048ac 100644 --- a/astrid/src/main/java/org/tasks/injection/BroadcastModule.java +++ b/astrid/src/main/java/org/tasks/injection/BroadcastModule.java @@ -1,6 +1,11 @@ package org.tasks.injection; +import com.todoroo.astrid.gtasks.GtasksCustomFilterCriteriaExposer; +import com.todoroo.astrid.gtasks.GtasksDetailExposer; import com.todoroo.astrid.reminders.Notifications; +import com.todoroo.astrid.service.GlobalEventReceiver; +import com.todoroo.astrid.tags.TagCustomFilterCriteriaExposer; +import com.todoroo.astrid.tags.TagDetailExposer; import com.todoroo.astrid.widget.TasksWidget; import org.tasks.scheduling.RefreshBroadcastReceiver; @@ -11,7 +16,12 @@ import dagger.Module; injects = { RefreshBroadcastReceiver.class, TasksWidget.class, - Notifications.class + Notifications.class, + GtasksCustomFilterCriteriaExposer.class, + GtasksDetailExposer.class, + GlobalEventReceiver.class, + TagDetailExposer.class, + TagCustomFilterCriteriaExposer.class }) public class BroadcastModule { }