From 24a12e26ccbe9d0099bd4234db939024d2a965eb Mon Sep 17 00:00:00 2001 From: JSPark <48265129+pknujsp@users.noreply.github.com> Date: Mon, 11 Mar 2024 16:25:55 +0900 Subject: [PATCH] =?UTF-8?q?#219=20UserInfoRepositoryImpl=EC=97=90=EC=84=9C?= =?UTF-8?q?=20@Inject=EB=A5=BC=20=EB=B6=88=ED=95=84=EC=9A=94=ED=95=98?= =?UTF-8?q?=EA=B2=8C=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=97=AC=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/data/user/UserInfoRepositoryImpl.kt | 11 +++-------- .../android/mediproject/core/domain/SignUseCase.kt | 12 ++++-------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/core/data/src/main/java/com/android/mediproject/core/data/user/UserInfoRepositoryImpl.kt b/core/data/src/main/java/com/android/mediproject/core/data/user/UserInfoRepositoryImpl.kt index 2048399c3..73bec257c 100644 --- a/core/data/src/main/java/com/android/mediproject/core/data/user/UserInfoRepositoryImpl.kt +++ b/core/data/src/main/java/com/android/mediproject/core/data/user/UserInfoRepositoryImpl.kt @@ -4,21 +4,17 @@ import com.android.mediproject.core.datastore.AppDataStore import com.android.mediproject.core.model.user.AccountState import com.android.mediproject.core.network.datasource.user.UserInfoDataSource import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.channelFlow import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.zip -import javax.inject.Inject -import javax.inject.Singleton -@Singleton -class UserInfoRepositoryImpl @Inject constructor( +class UserInfoRepositoryImpl( private val userInfoDataSource: UserInfoDataSource, private val appDataStore: AppDataStore, ) : UserInfoRepository { private val _myAccountInfo = MutableStateFlow(AccountState.Unknown) - - override val myAccountInfo get() = _myAccountInfo as StateFlow + override val myAccountInfo = _myAccountInfo.asStateFlow() override suspend fun updateMyAccountInfo(accountState: AccountState) { _myAccountInfo.value = accountState @@ -65,5 +61,4 @@ class UserInfoRepositoryImpl @Inject constructor( trySend(it) } } - } diff --git a/core/domain/src/main/java/com/android/mediproject/core/domain/SignUseCase.kt b/core/domain/src/main/java/com/android/mediproject/core/domain/SignUseCase.kt index 9e1a69a3d..e0ed79f41 100644 --- a/core/domain/src/main/java/com/android/mediproject/core/domain/SignUseCase.kt +++ b/core/domain/src/main/java/com/android/mediproject/core/domain/SignUseCase.kt @@ -5,9 +5,7 @@ import com.android.mediproject.core.data.user.UserInfoRepository import com.android.mediproject.core.model.sign.LoginParameter import com.android.mediproject.core.model.sign.SignUpParameter import com.android.mediproject.core.model.user.AccountState -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.channelFlow -import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.flow.map import javax.inject.Inject import javax.inject.Singleton @@ -15,15 +13,13 @@ import javax.inject.Singleton class SignUseCase @Inject constructor( private val signRepository: SignRepository, private val userInfoRepository: UserInfoRepository, ) { - suspend fun login(loginParameter: LoginParameter): Result = signRepository.login(loginParameter) + suspend fun login(loginParameter: LoginParameter) = signRepository.login(loginParameter) suspend fun signUp(signUpParameter: SignUpParameter): Result = signRepository.signUp(signUpParameter) suspend fun signOut() = signRepository.signOut() - val savedEmail: Flow = channelFlow { - userInfoRepository.myAccountInfo.collectLatest { - trySend(if (it is AccountState.SignedIn) it.email else "") - } + val savedEmail = userInfoRepository.myAccountInfo.map { + if (it is AccountState.SignedIn) it.email else "" } }