in todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/effecthandlers/TasksListEffectHandlers.java [55:75]
public static ObservableTransformer<TasksListEffect, TasksListEvent> createEffectHandler(
Context context,
TasksListViewActions view,
Action showAddTask,
Consumer<Task> showTaskDetails) {
TasksRemoteDataSource remoteSource = TasksRemoteDataSource.getInstance();
TasksLocalDataSource localSource =
TasksLocalDataSource.getInstance(context, SchedulerProvider.getInstance());
return RxMobius.<TasksListEffect, TasksListEvent>subtypeEffectHandler()
.addTransformer(RefreshTasks.class, refreshTasksHandler(remoteSource, localSource))
.addTransformer(LoadTasks.class, loadTasksHandler(localSource))
.addConsumer(SaveTask.class, saveTaskHandler(remoteSource, localSource))
.addConsumer(DeleteTasks.class, deleteTasksHandler(remoteSource, localSource))
.addConsumer(ShowFeedback.class, showFeedbackHandler(view), mainThread())
.addConsumer(
NavigateToTaskDetails.class, navigateToDetailsHandler(showTaskDetails), mainThread())
.addAction(StartTaskCreationFlow.class, showAddTask, mainThread())
.build();
}