From 2281b6fd1b7eb5fcba15316701fff3f6fa2e497c Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 23 May 2014 14:47:28 -0500 Subject: [PATCH] Add InjectingListActivity --- .../gtasks/auth/GtasksLoginActivity.java | 23 ++++--------------- .../org/tasks/injection/ActivityModule.java | 4 +++- .../injection/InjectingListActivity.java | 13 +++++++++++ 3 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 astrid/src/main/java/org/tasks/injection/InjectingListActivity.java diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java index d64b03e8b..9b0b327cf 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/auth/GtasksLoginActivity.java @@ -9,7 +9,6 @@ import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerCallback; import android.accounts.AccountManagerFuture; -import android.app.ListActivity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; @@ -23,21 +22,21 @@ import android.widget.TextView; import android.widget.Toast; import com.google.api.client.googleapis.extensions.android2.auth.GoogleAccountManager; -import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.gtasks.api.GtasksInvoker; -import com.todoroo.astrid.service.AstridDependencyInjector; import org.tasks.R; +import org.tasks.injection.InjectingListActivity; import java.io.IOException; import java.util.ArrayList; import java.util.concurrent.TimeUnit; +import javax.inject.Inject; + /** * This activity allows users to sign in or log in to Google Tasks * through the Android account manager @@ -45,11 +44,9 @@ import java.util.concurrent.TimeUnit; * @author Sam Bosley * */ -public class GtasksLoginActivity extends ListActivity { - - @Autowired private GtasksPreferenceService gtasksPreferenceService; +public class GtasksLoginActivity extends InjectingListActivity { - // --- ui initialization + @Inject GtasksPreferenceService gtasksPreferenceService; private GoogleAccountManager accountManager; private String[] nameArray; @@ -57,21 +54,11 @@ public class GtasksLoginActivity extends ListActivity { private String authToken; private String accountName; - static { - AstridDependencyInjector.initialize(); - } - - public GtasksLoginActivity() { - super(); - DependencyInjectionService.getInstance().inject(this); - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ContextManager.setContext(this); - requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.gtasks_login_activity); TextView header = new TextView(this); diff --git a/astrid/src/main/java/org/tasks/injection/ActivityModule.java b/astrid/src/main/java/org/tasks/injection/ActivityModule.java index c7ec352ae..a320d7c8c 100644 --- a/astrid/src/main/java/org/tasks/injection/ActivityModule.java +++ b/astrid/src/main/java/org/tasks/injection/ActivityModule.java @@ -10,6 +10,7 @@ import com.todoroo.astrid.core.CustomFilterExposer; import com.todoroo.astrid.gcal.CalendarAlarmListCreator; import com.todoroo.astrid.gcal.CalendarReminderActivity; import com.todoroo.astrid.gtasks.GtasksListAdder; +import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity; import com.todoroo.astrid.tags.TagFilterExposer; import org.tasks.voice.VoiceCommandActivity; @@ -30,7 +31,8 @@ import dagger.Module; GtasksListAdder.class, TagFilterExposer.DeleteTagActivity.class, TagFilterExposer.RenameTagActivity.class, - VoiceCommandActivity.class + VoiceCommandActivity.class, + GtasksLoginActivity.class }) public class ActivityModule { } diff --git a/astrid/src/main/java/org/tasks/injection/InjectingListActivity.java b/astrid/src/main/java/org/tasks/injection/InjectingListActivity.java new file mode 100644 index 000000000..d07a5f24a --- /dev/null +++ b/astrid/src/main/java/org/tasks/injection/InjectingListActivity.java @@ -0,0 +1,13 @@ +package org.tasks.injection; + +import android.app.ListActivity; +import android.os.Bundle; + +public class InjectingListActivity extends ListActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + ((Injector) getApplication()).inject(this, new ActivityModule()); + + super.onCreate(savedInstanceState); + } +}