로그인 성공 후 메인 화면 이동을 통일한다
이메일 로그인과 소셜 로그인의 성공 이후 이동 동작을 일관되게 맞춘다. 모든 로그인 방식에서 동일한 화면 전환 플래그를 적용한다.
This commit is contained in:
@@ -77,20 +77,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(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>(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>(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>(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>(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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user