Skip to content

Commit d3dc5c9

Browse files
committed
[IDLE-000] 센터 인증 대기 화면에서 승인됬을 시 Register, Home 화면 분기
1 parent 0527dd4 commit d3dc5c9

File tree

5 files changed

+30
-14
lines changed

5 files changed

+30
-14
lines changed

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
namespace = "com.idle.care"
1212

1313
defaultConfig {
14-
versionCode = 18
15-
versionName = "1.2.3"
14+
versionCode = 19
15+
versionName = "1.2.4"
1616
targetSdk = 34
1717

1818
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

feature/center/job-posting-post/src/main/java/com/idle/center/jobposting/JobPostingFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ internal fun JobPostingScreen(
703703

704704
CareProgressBar(
705705
currentStep = jobPostingStep.step,
706-
totalSteps = JobPostingStep.entries.size - 1,
706+
totalSteps = JobPostingStep.entries.size - 2,
707707
modifier = Modifier
708708
.fillMaxWidth()
709709
.padding(start = 8.dp, top = 8.dp, bottom = 8.dp),

feature/center/pending/src/main/java/com/idle/pending/CenterPendingViewModel.kt

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ import com.idle.binding.EventHelper
66
import com.idle.binding.MainEvent
77
import com.idle.binding.ToastType.SUCCESS
88
import com.idle.center.pending.R
9+
import com.idle.domain.model.error.ApiErrorCode
910
import com.idle.domain.model.error.ErrorHelper
11+
import com.idle.domain.model.error.HttpResponseException
1012
import com.idle.domain.model.profile.CenterManagerAccountStatus
1113
import com.idle.domain.usecase.auth.LogoutCenterUseCase
1214
import com.idle.domain.usecase.auth.SendCenterVerificationRequestUseCase
1315
import com.idle.domain.usecase.profile.GetCenterStatusUseCase
14-
import com.idle.navigation.DeepLinkDestination
16+
import com.idle.domain.usecase.profile.GetMyCenterProfileUseCase
17+
import com.idle.navigation.DeepLinkDestination.CenterHome
18+
import com.idle.navigation.DeepLinkDestination.CenterRegister
1519
import com.idle.navigation.NavigationEvent
1620
import dagger.hilt.android.lifecycle.HiltViewModel
1721
import kotlinx.coroutines.delay
@@ -26,6 +30,7 @@ class CenterPendingViewModel @Inject constructor(
2630
private val logoutCenterUseCase: LogoutCenterUseCase,
2731
private val sendCenterVerificationRequestUseCase: SendCenterVerificationRequestUseCase,
2832
private val getCenterStatusUseCase: GetCenterStatusUseCase,
33+
private val getMyCenterProfileUseCase: GetMyCenterProfileUseCase,
2934
private val errorHelper: ErrorHelper,
3035
private val eventHelper: EventHelper,
3136
private val navigationHelper: com.idle.navigation.NavigationHelper,
@@ -75,19 +80,30 @@ class CenterPendingViewModel @Inject constructor(
7580
getCenterStatusUseCase().onSuccess {
7681
when (it.centerManagerAccountStatus) {
7782
CenterManagerAccountStatus.APPROVED -> {
78-
pollingJob.emit(false)
79-
navigationHelper.navigateTo(
80-
NavigationEvent.NavigateTo(
81-
destination = DeepLinkDestination.CenterHome,
82-
popUpTo = R.id.centerPendingFragment,
83-
)
84-
)
85-
83+
handleApprovedCenterStatus()
8684
eventHelper.sendEvent(MainEvent.ShowToast("센터 인증이 완료되었습니다.", SUCCESS))
8785
}
8886

8987
else -> Unit
9088
}
9189
}.onFailure { errorHelper.sendError(it) }
9290
}
91+
92+
private fun handleApprovedCenterStatus() = viewModelScope.launch {
93+
getMyCenterProfileUseCase().onSuccess {
94+
navigationHelper.navigateTo(
95+
NavigationEvent.NavigateTo(CenterHome, R.id.centerPendingFragment)
96+
)
97+
}.onFailure {
98+
val error = it as HttpResponseException
99+
if (error.apiErrorCode == ApiErrorCode.CenterNotFound) {
100+
navigationHelper.navigateTo(
101+
NavigationEvent.NavigateTo(
102+
CenterRegister,
103+
R.id.centerPendingFragment,
104+
)
105+
)
106+
}
107+
}
108+
}
93109
}

presentation/src/main/java/com/idle/presentation/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ class MainActivity : AppCompatActivity() {
127127

128128
override fun onResume() {
129129
super.onResume()
130-
networkObserver.checkNetworkState()
130+
networkObserver.subscribeNetworkCallback()
131131
if (networkObserver.networkState.value == NetworkState.CONNECTED) {
132132
viewModel.connectWebSocket()
133133
}

presentation/src/main/java/com/idle/presentation/network/NetworkObserver.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class NetworkObserver @Inject constructor(context: Context) {
5555
internal fun unsubscribeNetworkCallback() =
5656
connectivityManager.unregisterNetworkCallback(networkCallback)
5757

58-
private fun subscribeNetworkCallback() {
58+
internal fun subscribeNetworkCallback() {
5959
val networkRequest = NetworkRequest.Builder()
6060
.addTransportType(TRANSPORT_WIFI)
6161
.addTransportType(TRANSPORT_CELLULAR)

0 commit comments

Comments
 (0)