From 8e070a652eff4a679852f1d0a9e1ee4d21451f39 Mon Sep 17 00:00:00 2001 From: youjin09222 Date: Fri, 24 Jan 2025 05:51:37 +0900 Subject: [PATCH] =?UTF-8?q?#39=20[REFACTOR]=20=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=20=EC=A0=95=EB=B3=B4=20=EC=A0=80=EC=9E=A5=20=EB=A1=9C=EC=A7=81?= =?UTF-8?q?=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../editProfile/EditProfileViewModel.kt | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/presentation/src/main/java/com/sopt/presentation/mypage/editProfile/EditProfileViewModel.kt b/presentation/src/main/java/com/sopt/presentation/mypage/editProfile/EditProfileViewModel.kt index 7d93a2a..33f6277 100644 --- a/presentation/src/main/java/com/sopt/presentation/mypage/editProfile/EditProfileViewModel.kt +++ b/presentation/src/main/java/com/sopt/presentation/mypage/editProfile/EditProfileViewModel.kt @@ -39,15 +39,19 @@ class EditProfileViewModel @Inject constructor( } fun navigateToMyPage() { - saveNickname(_userInfoState.value.nickname) - saveProfileImage(_userInfoState.value.profileImage) executeInScope { + saveUserInfo() withContext(Dispatchers.Main) { emitSideEffect(EditProfileSideEffect.NavigateToMyPage) } } } + private suspend fun saveUserInfo() { + userInfoRepository.saveNickname(_userInfoState.value.nickname) + _userInfoState.value.profileImage?.let { userInfoRepository.saveProfileImage(it) } + } + fun onNicknameChanged(nickname: String) { _userInfoState.update { it.copy(nickname = nickname) } validateChanges() @@ -66,18 +70,6 @@ class EditProfileViewModel @Inject constructor( return !nickname.isNullOrBlank() && nickname.length in 1..10 && nickname.all { it.isLetterOrDigit() } } - private fun saveNickname(nickname: String) { - executeInScope { - userInfoRepository.saveNickname(nickname) - } - } - - private fun saveProfileImage(imageUri: String?) { - executeInScope { - imageUri?.let { userInfoRepository.saveProfileImage(it) } - } - } - fun updateGalleryPermissionState(isGranted: Boolean) { _editProfileState.update { it.copy(isPermissionGranted = isGranted) } } @@ -91,10 +83,8 @@ class EditProfileViewModel @Inject constructor( } fun updateProfileImage(imageUri: String?) { - executeInScope { - _userInfoState.update { it.copy(profileImage = imageUri) } - validateChanges() - } + _userInfoState.update { it.copy(profileImage = imageUri) } + validateChanges() } private fun executeInScope(block: suspend () -> Unit) {