removed context from controller. added auto factory to export db task. added annotation

pull/224/head
AnirudhaAgashe 9 years ago
parent a14cdcd779
commit b55a778398

@ -19,7 +19,6 @@
package org.isoron.uhabits.activities.habits.list;
import android.content.Context;
import android.support.annotation.*;
import org.isoron.uhabits.*;
@ -42,7 +41,6 @@ import javax.inject.*;
public class ListHabitsController
implements HabitCardListController.HabitListener
{
private final Context context;
@NonNull
private final ListHabitsScreen screen;
@ -73,9 +71,10 @@ public class ListHabitsController
private ExportCSVTaskFactory exportCSVFactory;
private ExportDBTaskFactory exportDBFactory;
@Inject
public ListHabitsController(@ActivityContext Context context,
@NonNull BaseSystem system,
public ListHabitsController(@NonNull BaseSystem system,
@NonNull CommandRunner commandRunner,
@NonNull HabitList habitList,
@NonNull HabitCardListAdapter adapter,
@ -86,9 +85,9 @@ public class ListHabitsController
@NonNull WidgetUpdater widgetUpdater,
@NonNull
ImportDataTaskFactory importTaskFactory,
@NonNull ExportCSVTaskFactory exportCSVFactory)
@NonNull ExportCSVTaskFactory exportCSVFactory,
@NonNull ExportDBTaskFactory exportDBFactory)
{
this.context = context;
this.adapter = adapter;
this.commandRunner = commandRunner;
this.habitList = habitList;
@ -100,6 +99,7 @@ public class ListHabitsController
this.widgetUpdater = widgetUpdater;
this.importTaskFactory = importTaskFactory;
this.exportCSVFactory = exportCSVFactory;
this.exportDBFactory = exportDBFactory;
}
public void onExportCSV()
@ -107,7 +107,7 @@ public class ListHabitsController
List<Habit> selected = new LinkedList<>();
for (Habit h : habitList) selected.add(h);
taskRunner.execute(exportCSVFactory.create(context, selected, filename -> {
taskRunner.execute(exportCSVFactory.create(selected, filename -> {
if (filename != null) screen.showSendFileScreen(filename);
else screen.showMessage(R.string.could_not_export);
}));
@ -115,7 +115,7 @@ public class ListHabitsController
public void onExportDB()
{
taskRunner.execute(new ExportDBTask(context, filename -> {
taskRunner.execute(exportDBFactory.create(filename -> {
if (filename != null) screen.showSendFileScreen(filename);
else screen.showMessage(R.string.could_not_export);
}));

@ -41,10 +41,11 @@ import javax.inject.*;
*/
public class LoopDBImporter extends AbstractImporter
{
@NonNull
private Context context;
@Inject
public LoopDBImporter(@NonNull HabitList habits, @AppContext Context context)
public LoopDBImporter(@NonNull @AppContext Context context, @NonNull HabitList habits)
{
super(habits);
this.context = context;

@ -40,6 +40,7 @@ public class PebbleReceiver extends PebbleDataReceiver
public static final UUID WATCHAPP_UUID =
UUID.fromString("82629d99-8ea6-4631-a022-9ca77a12a058");
@NonNull
private Context context;
private HabitList allHabits;

@ -24,6 +24,7 @@ import android.support.annotation.*;
import com.google.auto.factory.*;
import org.isoron.uhabits.AppContext;
import org.isoron.uhabits.activities.ActivityContext;
import org.isoron.uhabits.io.*;
import org.isoron.uhabits.models.*;
@ -37,6 +38,7 @@ public class ExportCSVTask implements Task
{
private String archiveFilename;
@NonNull
private final Context context;
@NonNull
@ -48,7 +50,7 @@ public class ExportCSVTask implements Task
@NonNull
private final HabitList habitList;
public ExportCSVTask(Context context,
public ExportCSVTask(@Provided @AppContext @NonNull Context context,
@Provided @NonNull HabitList habitList,
@NonNull List<Habit> selectedHabits,
@NonNull Listener listener)

@ -22,21 +22,27 @@ package org.isoron.uhabits.tasks;
import android.content.Context;
import android.support.annotation.*;
import com.google.auto.factory.AutoFactory;
import com.google.auto.factory.Provided;
import org.isoron.uhabits.AppContext;
import org.isoron.uhabits.activities.ActivityContext;
import org.isoron.uhabits.utils.*;
import java.io.*;
@AutoFactory(allowSubclasses = true)
public class ExportDBTask implements Task
{
private String filename;
@NonNull
private Context context;
@NonNull
private final Listener listener;
public ExportDBTask(Context context, @NonNull Listener listener)
public ExportDBTask(@Provided @AppContext @NonNull Context context, @NonNull Listener listener)
{
this.listener = listener;
this.context = context;

@ -87,9 +87,8 @@ public abstract class FileUtils
}
@Nullable
public static File getFilesDir(Context context, @Nullable String relativePath)
public static File getFilesDir(@NonNull Context context, @Nullable String relativePath)
{
// Context context = HabitsApplication.getContext();
File externalFilesDirs[] =
ContextCompat.getExternalFilesDirs(context, null);

@ -57,6 +57,8 @@ public class ListHabitsControllerTest extends BaseUnitTest
private ExportCSVTaskFactory exportCSVFactory;
private ExportDBTaskFactory exportDBFactory;
@Override
public void setUp()
{
@ -73,11 +75,12 @@ public class ListHabitsControllerTest extends BaseUnitTest
widgetUpdater = mock(WidgetUpdater.class);
importTaskFactory = mock(ImportDataTaskFactory.class);
exportCSVFactory = mock(ExportCSVTaskFactory.class);
exportDBFactory = mock(ExportDBTaskFactory.class);
controller =
spy(new ListHabitsController(null,system, commandRunner, habitList,
spy(new ListHabitsController(system, commandRunner, habitList,
adapter, screen, prefs, reminderScheduler, taskRunner,
widgetUpdater, importTaskFactory, exportCSVFactory));
widgetUpdater, importTaskFactory, exportCSVFactory, exportDBFactory));
}
@Test

Loading…
Cancel
Save