Slide 41
Slide 41 text
@CreatedToDestroy
fun flowDeleteMemo(
flowViewInteractionStream: FlowViewInteractionStream,
router: Router,
alertDialogBuilderFactory: AlertDialogBuilderFactory,
): Flow =
flowViewInteractionStream.onClick(TriggerEvent.BTN_DELETE_MEMO)
.showAwaitDialog(alertDialogBuilderFactory, "메모를 삭제할까요?", "확인")
.filter { it == DialogButtonState.BtnNegative }
.visitForResult(router, PinCodeActivityJourneyGuidance::class)
.filter { it?.getBoolean("KEY_SUCCESS", false) == true }
.flowOn(dispatcherProvider.main())
.onEach { /* delete action */ }
2
Dialog를 한번 노출하는데, 메시지와 버튼에 대한 상태를 정의합니다.
그리고 응답으로 돌아온 값에 대한 filter를 처리합니다. 확인이 아닌 취소인 경우 다음 진행을 할 필요가 없으므로, filter로 무시합니다.