Skip to content

Commit f8a88c1

Browse files
committed
[BOOK-474] refactor: Login 모듈 패키지 구조 변경
client 패키지내에서 google/kakao LoginClient 관리
1 parent 79cdf06 commit f8a88c1

File tree

3 files changed

+27
-25
lines changed

3 files changed

+27
-25
lines changed

feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/HandleLoginSideEffects.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import androidx.compose.runtime.Composable
55
import androidx.compose.runtime.remember
66
import androidx.compose.runtime.rememberCoroutineScope
77
import androidx.compose.ui.platform.LocalContext
8+
import com.ninecraft.booket.feature.login.client.GoogleLoginClient
9+
import com.ninecraft.booket.feature.login.client.KakaoLoginClient
810
import com.skydoves.compose.effects.RememberedEffect
911
import kotlinx.coroutines.launch
1012

feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/GoogleLoginClient.kt renamed to feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/client/GoogleLoginClient.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ninecraft.booket.feature.login
1+
package com.ninecraft.booket.feature.login.client
22

33
import android.content.Context
44
import androidx.credentials.CredentialManager
@@ -10,7 +10,7 @@ import androidx.credentials.exceptions.GetCredentialException
1010
import androidx.credentials.exceptions.NoCredentialException
1111
import com.google.android.libraries.identity.googleid.GetGoogleIdOption
1212
import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential
13-
import com.ninecraft.booket.core.designsystem.R as designR
13+
import com.ninecraft.booket.core.designsystem.R
1414
import com.orhanobut.logger.Logger
1515
import dev.zacsweers.metro.Inject
1616

@@ -22,7 +22,7 @@ internal class GoogleLoginClient {
2222
onSuccess: (String) -> Unit,
2323
onFailure: (String) -> Unit,
2424
) {
25-
val credentialManager = CredentialManager.create(context)
25+
val credentialManager = CredentialManager.Companion.create(context)
2626

2727
val googleIdOption = GetGoogleIdOption.Builder()
2828
.setFilterByAuthorizedAccounts(false)
@@ -41,17 +41,17 @@ internal class GoogleLoginClient {
4141
)
4242
handleSignIn(result, onSuccess, onFailure, context)
4343
} catch (e: GetCredentialCancellationException) {
44-
Logger.e("Google 로그인 취소됨")
45-
onFailure(context.getString(designR.string.unknown_error_message))
44+
Logger.e("Google 로그인 취소됨, ${e.message}")
45+
onFailure(context.getString(R.string.unknown_error_message))
4646
} catch (e: NoCredentialException) {
47-
Logger.e("Google 계정을 찾을 수 없음")
48-
onFailure(context.getString(designR.string.unknown_error_message))
47+
Logger.e("Google 계정을 찾을 수 없음, ${e.message}")
48+
onFailure(context.getString(R.string.unknown_error_message))
4949
} catch (e: GetCredentialException) {
50-
Logger.e("Google 로그인 실패: ${e.message}")
51-
onFailure(context.getString(designR.string.network_error_message))
50+
Logger.e("Google 로그인 실패, ${e.message}")
51+
onFailure(context.getString(R.string.unknown_error_message))
5252
} catch (e: Exception) {
5353
Logger.e("알 수 없는 오류: ${e.message}")
54-
onFailure(context.getString(designR.string.unknown_error_message))
54+
onFailure(context.getString(R.string.unknown_error_message))
5555
}
5656
}
5757

@@ -64,19 +64,19 @@ internal class GoogleLoginClient {
6464
val credential = result.credential
6565

6666
if (credential is CustomCredential &&
67-
credential.type == GoogleIdTokenCredential.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL) {
67+
credential.type == GoogleIdTokenCredential.Companion.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL) {
6868
try {
69-
val googleIdTokenCredential = GoogleIdTokenCredential.createFrom(credential.data)
69+
val googleIdTokenCredential = GoogleIdTokenCredential.Companion.createFrom(credential.data)
7070
val idToken = googleIdTokenCredential.idToken
7171
Logger.d("Google 로그인 성공: ${googleIdTokenCredential.id}")
7272
onSuccess(idToken)
7373
} catch (e: Exception) {
7474
Logger.e("Google ID Token 파싱 실패: ${e.message}")
75-
onFailure(context.getString(designR.string.unknown_error_message))
75+
onFailure(context.getString(R.string.unknown_error_message))
7676
}
7777
} else {
7878
Logger.e("예상치 못한 credential type: ${credential.type}")
79-
onFailure(context.getString(designR.string.unknown_error_message))
79+
onFailure(context.getString(R.string.unknown_error_message))
8080
}
8181
}
8282
}

feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/KakaoLoginClient.kt renamed to feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/client/KakaoLoginClient.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package com.ninecraft.booket.feature.login
1+
package com.ninecraft.booket.feature.login.client
22

33
import android.content.Context
44
import com.kakao.sdk.auth.model.OAuthToken
55
import com.kakao.sdk.common.model.AuthError
66
import com.kakao.sdk.user.UserApiClient
7-
import com.ninecraft.booket.core.designsystem.R as designR
8-
import dev.zacsweers.metro.Inject
7+
import com.ninecraft.booket.core.designsystem.R
98
import com.orhanobut.logger.Logger
9+
import dev.zacsweers.metro.Inject
1010

1111
@Inject
1212
internal class KakaoLoginClient {
@@ -19,14 +19,14 @@ internal class KakaoLoginClient {
1919
when {
2020
error != null -> handleLoginError(context, error, onFailure)
2121
token != null -> handleLoginSuccess(token, onSuccess, onFailure, context)
22-
else -> onFailure(context.getString(designR.string.unknown_error_message))
22+
else -> onFailure(context.getString(R.string.unknown_error_message))
2323
}
2424
}
2525

26-
if (UserApiClient.instance.isKakaoTalkLoginAvailable(context)) {
27-
UserApiClient.instance.loginWithKakaoTalk(context, callback = kakaoCallback)
26+
if (UserApiClient.Companion.instance.isKakaoTalkLoginAvailable(context)) {
27+
UserApiClient.Companion.instance.loginWithKakaoTalk(context, callback = kakaoCallback)
2828
} else {
29-
UserApiClient.instance.loginWithKakaoAccount(context, callback = kakaoCallback)
29+
UserApiClient.Companion.instance.loginWithKakaoAccount(context, callback = kakaoCallback)
3030
}
3131
}
3232

@@ -38,12 +38,12 @@ internal class KakaoLoginClient {
3838
when {
3939
(error is AuthError && error.response.error == "ProtocolError") -> {
4040
Logger.e("로그인 실패: ${error.response.error}, ${error.response.errorDescription}")
41-
onFailure(context.getString(designR.string.network_error_message))
41+
onFailure(context.getString(R.string.network_error_message))
4242
}
4343

4444
else -> {
4545
Logger.e("로그인 실패: ${error.message}")
46-
onFailure(context.getString(designR.string.unknown_error_message))
46+
onFailure(context.getString(R.string.unknown_error_message))
4747
}
4848
}
4949
}
@@ -54,10 +54,10 @@ internal class KakaoLoginClient {
5454
onFailure: (String) -> Unit,
5555
context: Context,
5656
) {
57-
UserApiClient.instance.me { user, _ ->
57+
UserApiClient.Companion.instance.me { user, _ ->
5858
user?.let {
5959
onSuccess(token.accessToken)
60-
} ?: onFailure(context.getString(designR.string.unknown_error_message))
60+
} ?: onFailure(context.getString(R.string.unknown_error_message))
6161
}
6262
}
6363
}

0 commit comments

Comments
 (0)