public static ObservableTransformer createEffectHandler()

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();
  }