package com.novoda.todoapp; import android.app.Application; import com.novoda.todoapp.tasks.data.AlwaysOutOfDateTasksFreshnessChecker; import com.novoda.todoapp.tasks.data.source.InMemoryLocalTaskDataSource; import com.novoda.todoapp.tasks.data.source.InMemoryRemoteTaskDataSource; import com.novoda.todoapp.tasks.service.Clock; import com.novoda.todoapp.tasks.service.PersistedTasksService; import com.novoda.todoapp.tasks.service.TasksService; import com.novoda.todoapp.tasks.service.TasksServiceAsync; public class TodoApplication extends Application { //TODO use proper dependency injection public static final TasksService TASKS_SERVICE = new TasksServiceAsync( new PersistedTasksService( InMemoryLocalTaskDataSource.newInstance(), InMemoryRemoteTaskDataSource.newInstance(), new AlwaysOutOfDateTasksFreshnessChecker(), new Clock() ) ); }