public static ObservableTransformer createEffectHandlers()

in todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/taskdetail/effecthandlers/TaskDetailEffectHandlers.java [53:69]


  public static ObservableTransformer<TaskDetailEffect, TaskDetailEvent> createEffectHandlers(
      TaskDetailViewActions view, Context context, Action dismiss, Consumer<Task> launchEditor) {

    TasksRemoteDataSource remoteSource = TasksRemoteDataSource.getInstance();
    TasksLocalDataSource localSource =
        TasksLocalDataSource.getInstance(context, SchedulerProvider.getInstance());
    return RxMobius.<TaskDetailEffect, TaskDetailEvent>subtypeEffectHandler()
        .addFunction(DeleteTask.class, deleteTaskHandler(remoteSource, localSource))
        .addFunction(SaveTask.class, saveTaskHandler(remoteSource, localSource))
        .addAction(NotifyTaskMarkedComplete.class, view::showTaskMarkedComplete, mainThread())
        .addAction(NotifyTaskMarkedActive.class, view::showTaskMarkedActive, mainThread())
        .addAction(NotifyTaskDeletionFailed.class, view::showTaskDeletionFailed, mainThread())
        .addAction(NotifyTaskSaveFailed.class, view::showTaskSavingFailed, mainThread())
        .addConsumer(OpenTaskEditor.class, openTaskEditorHandler(launchEditor), mainThread())
        .addAction(Exit.class, dismiss, mainThread())
        .build();
  }