From 39c09ef8e59fa9e4955d88f7cc9638c220debc60 Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 10 Feb 2026 17:17:08 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=84=B1?= =?UTF-8?q?=EA=B3=B5=20=ED=9B=84=20=EB=A9=94=EC=9D=B8=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EC=9D=B4=EB=8F=99=EC=9D=84=20=ED=86=B5=EC=9D=BC=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이메일 로그인과 소셜 로그인의 성공 이후 이동 동작을 일관되게 맞춘다. 모든 로그인 방식에서 동일한 화면 전환 플래그를 적용한다. --- .../sodalive/user/login/LoginActivity.kt | 77 +++++-------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt index d615d26d..86db4ca2 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt @@ -77,20 +77,7 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i identityToken = identityToken, nonce = lineLoginNonce ) { - finishAffinity() - val nextIntent = Intent(applicationContext, MainActivity::class.java) - val extras = intent.getBundleExtra(Constants.EXTRA_DATA) - ?: if (intent.extras != null) { - intent.extras - } else { - null - } - if (extras != null) { - nextIntent.putExtra(Constants.EXTRA_DATA, extras) - } - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) - startActivity(nextIntent) + navigateToMain() } } @@ -181,20 +168,7 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i // Create Google ID Token val googleIdTokenCredential = GoogleIdTokenCredential.createFrom(credential.data) viewModel.googleLogin(idToken = googleIdTokenCredential.idToken) { - finishAffinity() - val nextIntent = Intent(applicationContext, MainActivity::class.java) - val extras = intent.getBundleExtra(Constants.EXTRA_DATA) - ?: if (intent.extras != null) { - intent.extras - } else { - null - } - if (extras != null) { - nextIntent.putExtra(Constants.EXTRA_DATA, extras) - } - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) - startActivity(nextIntent) + navigateToMain() } } else { showToast(getString(R.string.login_failed)) @@ -205,20 +179,7 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i private fun login() { viewModel.login { it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } - finishAffinity() - val nextIntent = Intent(applicationContext, MainActivity::class.java) - val extras = intent.getBundleExtra(Constants.EXTRA_DATA) - ?: if (intent.extras != null) { - intent.extras - } else { - null - } - if (extras != null) { - nextIntent.putExtra(Constants.EXTRA_DATA, extras) - } - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) - startActivity(nextIntent) + navigateToMain() } } @@ -306,20 +267,7 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i private fun handleKakaoLogin(token: OAuthToken) { viewModel.kakaoLogin(accessToken = token.accessToken) { - finishAffinity() - val nextIntent = Intent(applicationContext, MainActivity::class.java) - val extras = intent.getBundleExtra(Constants.EXTRA_DATA) - ?: if (intent.extras != null) { - intent.extras - } else { - null - } - if (extras != null) { - nextIntent.putExtra(Constants.EXTRA_DATA, extras) - } - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) - startActivity(nextIntent) + navigateToMain() } } @@ -352,4 +300,21 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i } startActivity(nextIntent) } + + private fun navigateToMain() { + finishAffinity() + val nextIntent = Intent(applicationContext, MainActivity::class.java) + val extras = intent.getBundleExtra(Constants.EXTRA_DATA) + ?: if (intent.extras != null) { + intent.extras + } else { + null + } + if (extras != null) { + nextIntent.putExtra(Constants.EXTRA_DATA, extras) + } + nextIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + nextIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(nextIntent) + } }