Skip to content

Commit

Permalink
[FEAT/#81] 분기처리 및 화면이동
Browse files Browse the repository at this point in the history
  • Loading branch information
chattymin committed Jan 12, 2024
1 parent 8bcda27 commit c8cf44a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import androidx.lifecycle.flowWithLifecycle
import androidx.lifecycle.lifecycleScope
import com.going.domain.entity.AuthState
import com.going.presentation.R
import com.going.presentation.dashboard.DashBoardActivity
import com.going.presentation.databinding.ActivitySigninBinding
import com.going.presentation.onboarding.signup.OnboardingProfileSettingActivity
import com.going.presentation.tendency.splash.TendencySplashActivity
import com.going.presentation.tripdashboard.TripDashBoardActivity
import com.going.ui.base.BaseActivity
import com.going.ui.extension.setOnSingleClickListener
import com.going.ui.extension.toast
Expand Down Expand Up @@ -71,7 +71,7 @@ class SignInActivity : BaseActivity<ActivitySigninBinding>(R.layout.activity_sig
}

private fun navigateToDashBoardScreen() {
Intent(this, TripDashBoardActivity::class.java).apply {
Intent(this, DashBoardActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(this)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import androidx.lifecycle.flowWithLifecycle
import androidx.lifecycle.lifecycleScope
import com.going.domain.entity.AuthState
import com.going.presentation.R
import com.going.presentation.dashboard.DashBoardActivity
import com.going.presentation.databinding.ActivitySplashBinding
import com.going.presentation.onboarding.signin.SignInActivity
import com.going.presentation.tendency.splash.TendencySplashActivity
import com.going.presentation.tripdashboard.TripDashBoardActivity
import com.going.ui.base.BaseActivity
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.launchIn
Expand All @@ -26,6 +26,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(R.layout.activity_spl
super.onCreate(savedInstanceState)

checkConnectedNetwork()
observeUserState()
}

private fun checkConnectedNetwork() {
Expand All @@ -38,23 +39,24 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(R.layout.activity_spl

private fun initSplash() {
Handler(Looper.getMainLooper()).postDelayed({
viewModel.clear()
viewModel.getUserState()

viewModel.userState.flowWithLifecycle(lifecycle).onEach { state ->
when (state) {
AuthState.LOADING -> return@onEach
AuthState.SUCCESS -> navigateToDashBoardScreen()
AuthState.FAILURE -> navigateToSignInScreen()
AuthState.SIGNUP -> return@onEach
AuthState.SIGNIN -> return@onEach
AuthState.TENDENCY -> navigateToTendencyScreen()
AuthState.EMPTY -> return@onEach
}
}.launchIn(lifecycleScope)
}, 3000)
}

private fun observeUserState() {
viewModel.userState.flowWithLifecycle(lifecycle).onEach { state ->
when (state) {
AuthState.LOADING -> return@onEach
AuthState.SUCCESS -> navigateToDashBoardScreen()
AuthState.FAILURE -> navigateToSignInScreen()
AuthState.SIGNUP -> return@onEach
AuthState.SIGNIN -> return@onEach
AuthState.TENDENCY -> navigateToTendencyScreen()
AuthState.EMPTY -> return@onEach
}
}.launchIn(lifecycleScope)
}

private fun showNetworkErrorAlertDialog() =
AlertDialog.Builder(this)
.setTitle(R.string.notice)
Expand All @@ -69,7 +71,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(R.layout.activity_spl
.show()

private fun navigateToDashBoardScreen() {
Intent(this, TripDashBoardActivity::class.java).apply {
Intent(this, DashBoardActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(this)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import androidx.activity.viewModels
import androidx.lifecycle.flowWithLifecycle
import androidx.lifecycle.lifecycleScope
import com.going.presentation.R
import com.going.presentation.dashboard.DashBoardActivity
import com.going.presentation.databinding.ActivityTendencyResultBinding
import com.going.presentation.tendency.ttest.TendencyTestActivity
import com.going.presentation.tripdashboard.TripDashBoardActivity
import com.going.ui.base.BaseActivity
import com.going.ui.extension.UiState
import com.going.ui.extension.setOnSingleClickListener
Expand Down Expand Up @@ -124,7 +124,7 @@ class TendencyResultActivity :
}

private fun navigateToDashBoardScreen() {
Intent(this, TripDashBoardActivity::class.java).apply {
Intent(this, DashBoardActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(this)
}
Expand Down

0 comments on commit c8cf44a

Please sign in to comment.