Skip to content

Commit

Permalink
[mod] #102 _isCheckBtnClicked 상태 초기화 코드를 액티비티에서 뷰모델로 이동
Browse files Browse the repository at this point in the history
  • Loading branch information
leeeha committed Aug 11, 2023
1 parent e81a471 commit fb21fd1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ class NicknameActivity : BindingActivity<ActivityNicknameBinding>(R.layout.activ
viewModel.apply {
updateDuplicateCheckButtonState(true)
getNicknameDuplicateCheck()
updateDuplicateCheckButtonState(false)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ class NicknameViewModel @Inject constructor(

val inputUiState: StateFlow<InputUiState> = _inputUiState.asStateFlow()

val isValidNickname: StateFlow<Boolean> = _inputUiState.map { checkInputState(it) }
val isValidNickname: StateFlow<Boolean> = _inputUiState.map { validateNickname(it) }
.stateIn(
initialValue = false,
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(PRODUCE_STOP_TIMEOUT)
)

private fun checkInputState(state: InputUiState) = state == InputUiState.Success
private fun validateNickname(state: InputUiState) = state == InputUiState.Success

private val _isTextChanged = MutableStateFlow(false)
val isTextChanged: StateFlow<Boolean> = _isTextChanged.asStateFlow()
Expand Down Expand Up @@ -77,6 +77,11 @@ class NicknameViewModel @Inject constructor(

fun updateDuplicateCheckButtonState(state: Boolean) { // updated in Activity
_isCheckBtnClicked.value = state
initDuplicateCheckButtonState()
}

private fun initDuplicateCheckButtonState() {
_isCheckBtnClicked.value = false
}

private fun updateInputUiState(nickname: String): InputUiState {
Expand Down

0 comments on commit fb21fd1

Please sign in to comment.