in todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/taskdetail/view/TaskDetailViews.java [102:134]
public Connection<TaskDetailViewData> connect(Consumer<TaskDetailEvent> output) {
mFab.setOnClickListener(__ -> output.accept(TaskDetailEvent.editTaskRequested()));
mDetailCompleteStatus.setOnCheckedChangeListener(
(buttonView, isChecked) -> {
if (isChecked) {
output.accept(completeTaskRequested());
} else {
output.accept(activateTaskRequested());
}
});
Disposable disposable =
mMenuEvents
.retry()
.subscribe(
output::accept,
t -> Log.e(TaskDetailViews.class.getSimpleName(), "Menu events seem to fail", t));
return new Connection<TaskDetailViewData>() {
@Override
public void accept(TaskDetailViewData value) {
render(value);
}
@Override
public void dispose() {
disposable.dispose();
mFab.setOnClickListener(null);
mDetailCompleteStatus.setOnCheckedChangeListener(null);
}
};
}