From faf05d64d11f09ff3d7b533fb81f059e5f85bcf4 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 28 May 2014 08:18:20 -0500 Subject: [PATCH] Clean up more injections --- .../astrid/core/CustomFilterExposer.java | 11 +++----- .../astrid/gtasks/GtasksFilterExposer.java | 16 +++++------ .../service/AstridDependencyInjector.java | 2 +- .../todoroo/astrid/tags/TagFilterExposer.java | 27 ++++++------------- .../tasks/{ => injection}/TasksModule.java | 10 +++++-- 5 files changed, 27 insertions(+), 39 deletions(-) rename astrid/src/main/java/org/tasks/{ => injection}/TasksModule.java (74%) diff --git a/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java index 6daf5ef19..bd49ac878 100644 --- a/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java @@ -14,9 +14,7 @@ import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; 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.Order; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.QueryTemplate; @@ -35,6 +33,7 @@ import com.todoroo.astrid.service.ThemeService; import org.tasks.R; import org.tasks.injection.InjectingActivity; +import org.tasks.injection.Injector; import java.util.ArrayList; @@ -51,11 +50,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr private static final String TOKEN_FILTER_ID = "id"; //$NON-NLS-1$ private static final String TOKEN_FILTER_NAME = "name"; //$NON-NLS-1$ - @Autowired StoreObjectDao storeObjectDao; - - public CustomFilterExposer() { - DependencyInjectionService.getInstance().inject(this); - } + @Inject StoreObjectDao storeObjectDao; @Override public void onReceive(Context context, Intent intent) { @@ -74,6 +69,8 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr } private Filter[] buildSavedFilters(Context context, Resources r) { + ((Injector) context.getApplicationContext()).inject(this); + int themeFlags = ThemeService.getFilterThemeFlags(); TodorooCursor cursor = storeObjectDao.query(Query.select(StoreObject.PROPERTIES).where( diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java index 8202f1c25..544b40703 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java @@ -15,9 +15,7 @@ import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; 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.Functions; import com.todoroo.andlib.sql.Join; @@ -35,9 +33,11 @@ import com.todoroo.astrid.dao.TaskDao.TaskCriteria; 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.Injector; + +import javax.inject.Inject; /** * Exposes filters based on lists @@ -47,12 +47,8 @@ import org.tasks.R; */ public class GtasksFilterExposer extends BroadcastReceiver implements AstridFilterExposer { - @Autowired private GtasksListService gtasksListService; - @Autowired private GtasksPreferenceService gtasksPreferenceService; - - static { - AstridDependencyInjector.initialize(); - } + @Inject GtasksListService gtasksListService; + @Inject GtasksPreferenceService gtasksPreferenceService; private StoreObject[] lists; @@ -91,7 +87,7 @@ public class GtasksFilterExposer extends BroadcastReceiver implements AstridFilt } private FilterListItem[] prepareFilters(Context context) { - DependencyInjectionService.getInstance().inject(this); + ((Injector) context.getApplicationContext()).inject(this); // if we aren't logged in (or we are logged in to astrid.com), don't expose features if(!gtasksPreferenceService.isLoggedIn()) { diff --git a/astrid/src/main/java/com/todoroo/astrid/service/AstridDependencyInjector.java b/astrid/src/main/java/com/todoroo/astrid/service/AstridDependencyInjector.java index a7d14f1a7..52a28efb7 100644 --- a/astrid/src/main/java/com/todoroo/astrid/service/AstridDependencyInjector.java +++ b/astrid/src/main/java/com/todoroo/astrid/service/AstridDependencyInjector.java @@ -26,7 +26,7 @@ import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider; import com.todoroo.astrid.tags.TagService; import org.tasks.Broadcaster; -import org.tasks.TasksModule; +import org.tasks.injection.TasksModule; import org.tasks.filters.FilterCounter; import org.tasks.injection.Injector; import org.tasks.scheduling.RefreshScheduler; diff --git a/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java index c87e86caf..07bb7108d 100644 --- a/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java @@ -19,9 +19,7 @@ import android.text.TextUtils; import android.widget.EditText; import android.widget.Toast; -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.QueryTemplate; import com.todoroo.andlib.utility.DialogUtilities; @@ -43,6 +41,7 @@ import com.todoroo.astrid.tags.TagService.Tag; import org.tasks.R; import org.tasks.injection.InjectingActivity; +import org.tasks.injection.Injector; import java.util.ArrayList; import java.util.List; @@ -59,13 +58,7 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE private static final String TAG = "tag"; //$NON-NLS-1$ - @Autowired TagService tagService; - - protected boolean addUntaggedFilter = true; - - public TagFilterExposer() { - DependencyInjectionService.getInstance().inject(this); - } + @Inject TagService tagService; /** Create filter from new tag object */ public static FilterWithCustomIntent filterFromTag(Context context, Tag tag, Criterion criterion) { @@ -130,7 +123,9 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ); } - protected FilterListItem[] prepareFilters(Context context) { + private FilterListItem[] prepareFilters(Context context) { + ((Injector) context.getApplicationContext()).inject(this); + ContextManager.setContext(context); ArrayList list = new ArrayList<>(); @@ -142,18 +137,12 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE } private void addTags(ArrayList list) { - List tagList = getTagList(); - list.add(filterFromTags(tagList.toArray(new Tag[tagList.size()]), - R.string.tag_FEx_header)); - } - - protected List getTagList() { - return tagService.getTagList(); + List tagList = tagService.getTagList(); + list.add(filterFromTags(tagList.toArray(new Tag[tagList.size()]), R.string.tag_FEx_header)); } private FilterCategory filterFromTags(Tag[] tags, int name) { - boolean shouldAddUntagged = addUntaggedFilter && - Preferences.getBoolean(R.string.p_show_not_in_list_filter, true); + boolean shouldAddUntagged = Preferences.getBoolean(R.string.p_show_not_in_list_filter, true); ArrayList filters = new ArrayList<>(tags.length); diff --git a/astrid/src/main/java/org/tasks/TasksModule.java b/astrid/src/main/java/org/tasks/injection/TasksModule.java similarity index 74% rename from astrid/src/main/java/org/tasks/TasksModule.java rename to astrid/src/main/java/org/tasks/injection/TasksModule.java index 297756175..21bccbde1 100644 --- a/astrid/src/main/java/org/tasks/TasksModule.java +++ b/astrid/src/main/java/org/tasks/injection/TasksModule.java @@ -1,10 +1,13 @@ -package org.tasks; +package org.tasks.injection; import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.alarms.AlarmControlSet; +import com.todoroo.astrid.core.CustomFilterExposer; import com.todoroo.astrid.files.FilesControlSet; import com.todoroo.astrid.gcal.GCalControlSet; +import com.todoroo.astrid.gtasks.GtasksFilterExposer; import com.todoroo.astrid.service.AstridDependencyInjector; +import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagsControlSet; import com.todoroo.astrid.timers.TimerActionControlSet; import com.todoroo.astrid.timers.TimerFilterExposer; @@ -27,7 +30,10 @@ import dagger.Module; FilterAdapter.class, TimerFilterExposer.class, GCalControlSet.class, - TimerActionControlSet.class + TimerActionControlSet.class, + CustomFilterExposer.class, + GtasksFilterExposer.class, + TagFilterExposer.class } ) public class TasksModule {