Skip to content

Commit 4944a2c

Browse files
committed
Feat: 카카오 로그인 핸들러 구현
1 parent fe99bbb commit 4944a2c

2 files changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.threegap.bitnagil.presentation.login.kakao
2+
3+
import android.content.Context
4+
import com.kakao.sdk.auth.model.OAuthToken
5+
6+
interface KakaoLoginHandler {
7+
fun login(
8+
context: Context,
9+
onResult: (OAuthToken?, Throwable?) -> Unit,
10+
)
11+
12+
fun accountLogin(
13+
context: Context,
14+
onResult: (OAuthToken?, Throwable?) -> Unit,
15+
)
16+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.threegap.bitnagil.presentation.login.kakao
2+
3+
import android.content.Context
4+
import com.kakao.sdk.auth.model.OAuthToken
5+
import com.kakao.sdk.user.UserApiClient
6+
7+
object KakaoLoginHandlerImpl : KakaoLoginHandler {
8+
private val client = UserApiClient.instance
9+
10+
override fun login(
11+
context: Context,
12+
onResult: (OAuthToken?, Throwable?) -> Unit,
13+
) {
14+
if (client.isKakaoTalkLoginAvailable(context)) {
15+
client.loginWithKakaoTalk(context, callback = onResult)
16+
} else {
17+
client.loginWithKakaoAccount(context, callback = onResult)
18+
}
19+
}
20+
21+
override fun accountLogin(
22+
context: Context,
23+
onResult: (OAuthToken?, Throwable?) -> Unit,
24+
) {
25+
client.loginWithKakaoAccount(context, callback = onResult)
26+
}
27+
}

0 commit comments

Comments
 (0)