From e1ba3463642947f1a3128e6ddd3cecdd7f0cbd1e Mon Sep 17 00:00:00 2001 From: Tim Su Date: Fri, 19 Nov 2010 18:50:14 -0800 Subject: [PATCH] Another test, this time for DI, and fixes for the things we found --- astrid/build.xml | 8 +++++++- .../astrid/gcal/GCalTaskCompleteListener.java | 2 ++ .../astrid/gtasks/GtasksDetailExposer.java | 5 +++++ .../astrid/gtasks/GtasksFilterExposer.java | 5 +++++ .../astrid/gtasks/GtasksSyncActionExposer.java | 5 +++++ .../astrid/gtasks/auth/GtasksLoginActivity.java | 5 +++++ .../producteev/ProducteevSyncActionExposer.java | 2 ++ .../todoroo/astrid/tags/TagFilterExposer.java | 16 ++++++++++++---- .../com/timsu/astrid/activities/TaskList.java | 2 ++ 9 files changed, 45 insertions(+), 5 deletions(-) diff --git a/astrid/build.xml b/astrid/build.xml index ff2444fdf..5ccd5b184 100644 --- a/astrid/build.xml +++ b/astrid/build.xml @@ -99,7 +99,13 @@ ====== context classes without setContext ===== - + + + + ====== entry points without initializing Astrid DI ===== + + + diff --git a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalTaskCompleteListener.java b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalTaskCompleteListener.java index 0599b4b78..1c4005e97 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalTaskCompleteListener.java +++ b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalTaskCompleteListener.java @@ -10,6 +10,7 @@ import android.text.TextUtils; import android.util.Log; import com.timsu.astrid.R; +import com.todoroo.andlib.service.ContextManager; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.data.Task; @@ -19,6 +20,7 @@ public class GCalTaskCompleteListener extends BroadcastReceiver { @SuppressWarnings("nls") @Override public void onReceive(Context context, Intent intent) { + ContextManager.setContext(context); long taskId = intent.getLongExtra(AstridApiConstants.EXTRAS_TASK_ID, -1); if(taskId == -1) return; diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java index 3aa5e723f..b593b7d7a 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java @@ -13,6 +13,7 @@ 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; /** * Exposes Task Details for Google TAsks: @@ -29,6 +30,10 @@ public class GtasksDetailExposer extends BroadcastReceiver { @Autowired private GtasksListService gtasksListService; @Autowired private GtasksPreferenceService gtasksPreferenceService; + static { + AstridDependencyInjector.initialize(); + } + public GtasksDetailExposer() { DependencyInjectionService.getInstance().inject(this); } diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksFilterExposer.java index abe784188..07b8a4c19 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksFilterExposer.java @@ -31,6 +31,7 @@ import com.todoroo.astrid.data.MetadataApiDao.MetadataCriteria; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskApiDao.TaskCriteria; +import com.todoroo.astrid.service.AstridDependencyInjector; /** * Exposes filters based on lists @@ -43,6 +44,10 @@ public class GtasksFilterExposer extends BroadcastReceiver { @Autowired private GtasksListService gtasksListService; @Autowired private GtasksPreferenceService gtasksPreferenceService; + static { + AstridDependencyInjector.initialize(); + } + private StoreObject[] lists; public static Filter filterFromList(Context context, StoreObject list) { diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksSyncActionExposer.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksSyncActionExposer.java index 717bc0235..80456d0ad 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksSyncActionExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksSyncActionExposer.java @@ -14,6 +14,7 @@ import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.SyncAction; +import com.todoroo.astrid.service.AstridDependencyInjector; import com.todoroo.astrid.sync.SyncBackgroundService; /** @@ -24,6 +25,10 @@ public class GtasksSyncActionExposer extends BroadcastReceiver { @Autowired private GtasksPreferenceService gtasksPreferenceService; + static { + AstridDependencyInjector.initialize(); + } + @Override public void onReceive(Context context, Intent intent) { ContextManager.setContext(context); diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java index 91ce0d628..82954e9cf 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java @@ -47,6 +47,7 @@ import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.gtasks.GtasksBackgroundService; import com.todoroo.astrid.gtasks.GtasksPreferenceService; +import com.todoroo.astrid.service.AstridDependencyInjector; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.sync.SyncBackgroundService; import com.todoroo.gtasks.GoogleConnectionManager; @@ -65,6 +66,10 @@ public class GtasksLoginActivity extends Activity { // --- ui initialization + static { + AstridDependencyInjector.initialize(); + } + public GtasksLoginActivity() { super(); DependencyInjectionService.getInstance().inject(this); diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevSyncActionExposer.java b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevSyncActionExposer.java index de3b75500..487254301 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevSyncActionExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevSyncActionExposer.java @@ -9,6 +9,7 @@ import android.content.Context; import android.content.Intent; import com.timsu.astrid.R; +import com.todoroo.andlib.service.ContextManager; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.SyncAction; @@ -20,6 +21,7 @@ public class ProducteevSyncActionExposer extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { + ContextManager.setContext(context); // if we aren't logged in, don't expose sync action if(!ProducteevUtilities.INSTANCE.isLoggedIn()) return; diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java index a6b7eb0fe..b7454d085 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java @@ -8,14 +8,18 @@ import java.util.HashMap; import java.util.TreeSet; import android.app.Activity; -import android.content.*; +import android.content.BroadcastReceiver; +import android.content.ContentValues; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; import android.content.res.Resources; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; - import android.os.Bundle; import android.widget.EditText; import android.widget.Toast; + import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; @@ -29,6 +33,7 @@ import com.todoroo.astrid.api.FilterListHeader; import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.data.Metadata; +import com.todoroo.astrid.service.AstridDependencyInjector; import com.todoroo.astrid.tags.TagService.Tag; /** @@ -141,8 +146,11 @@ public class TagFilterExposer extends BroadcastReceiver { protected String tag; - @Autowired - public TagService tagService; + @Autowired public TagService tagService; + + static { + AstridDependencyInjector.initialize(); + } protected TagActivity() { DependencyInjectionService.getInstance().inject(this); diff --git a/astrid/src-legacy/com/timsu/astrid/activities/TaskList.java b/astrid/src-legacy/com/timsu/astrid/activities/TaskList.java index 96442b325..71d0a38e1 100644 --- a/astrid/src-legacy/com/timsu/astrid/activities/TaskList.java +++ b/astrid/src-legacy/com/timsu/astrid/activities/TaskList.java @@ -23,6 +23,7 @@ import android.app.Activity; import android.content.Intent; import android.os.Bundle; +import com.todoroo.andlib.service.ContextManager; import com.todoroo.astrid.activity.TaskListActivity; /** @@ -40,6 +41,7 @@ public class TaskList extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + ContextManager.setContext(this); launchTaskList(getIntent()); }