Skip to content

Commit 7abdc5a

Browse files
committed
🐛 서비스 노티를 통해 러닝 진입 시 백스택 관리
1 parent 4b1e8dd commit 7abdc5a

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

presentation/src/main/java/com/whyranoid/presentation/running/RunningWorker.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.google.android.gms.location.LocationRequest
2020
import com.google.android.gms.location.LocationResult
2121
import com.google.android.gms.location.LocationServices
2222
import com.google.android.gms.location.Priority
23+
import com.whyranoid.presentation.MainActivity
2324
import com.whyranoid.presentation.R
2425
import dagger.assisted.Assisted
2526
import dagger.assisted.AssistedInject
@@ -61,7 +62,7 @@ class RunningWorker @AssistedInject constructor(
6162
val id = context.getString(R.string.running_notification_id)
6263
val title = context.getString(R.string.running_notification_title)
6364

64-
val intent = Intent(context, RunningActivity::class.java)
65+
val intent = Intent(context, MainActivity::class.java)
6566
val pendingIntent =
6667
PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)
6768

presentation/src/main/java/com/whyranoid/presentation/runningstart/RunningStartFragment.kt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import com.whyranoid.presentation.base.BaseFragment
1818
import com.whyranoid.presentation.databinding.FragmentRunningStartBinding
1919
import com.whyranoid.presentation.running.RunningActivity
2020
import com.whyranoid.presentation.running.RunningFinishData
21+
import com.whyranoid.presentation.running.RunningState
2122
import com.whyranoid.presentation.running.RunningViewModel.Companion.RUNNING_FINISH_DATA_KEY
2223
import com.whyranoid.presentation.util.getSerializableData
2324
import com.whyranoid.presentation.util.gpsstate.GPSState
@@ -67,11 +68,23 @@ internal class RunningStartFragment :
6768

6869
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
6970
super.onViewCreated(view, savedInstanceState)
70-
binding.vm = viewModel
7171

72+
initViews()
7273
observeState()
7374
}
7475

76+
private fun initViews() {
77+
binding.vm = viewModel
78+
if ((viewModel.runningDataManager.runningState.value is RunningState.NotRunning).not()) {
79+
runningActivityLauncher.launch(
80+
Intent(
81+
requireContext(),
82+
RunningActivity::class.java
83+
)
84+
)
85+
}
86+
}
87+
7588
private fun observeState() {
7689
viewLifecycleOwner.repeatWhenUiStarted {
7790
viewModel.runnerCount.collect { runnerCount ->

presentation/src/main/java/com/whyranoid/presentation/runningstart/RunningStartViewModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.whyranoid.presentation.runningstart
33
import androidx.lifecycle.ViewModel
44
import androidx.lifecycle.viewModelScope
55
import com.whyranoid.domain.usecase.GetRunnerCountUseCase
6+
import com.whyranoid.presentation.running.RunningDataManager
67
import com.whyranoid.presentation.util.networkconnection.NetworkConnectionStateHolder
78
import dagger.hilt.android.lifecycle.HiltViewModel
89
import kotlinx.coroutines.flow.MutableSharedFlow
@@ -13,7 +14,8 @@ import javax.inject.Inject
1314
@HiltViewModel
1415
class RunningStartViewModel @Inject constructor(
1516
getRunnerCountUseCase: GetRunnerCountUseCase,
16-
networkConnectionStateHolder: NetworkConnectionStateHolder
17+
networkConnectionStateHolder: NetworkConnectionStateHolder,
18+
val runningDataManager: RunningDataManager
1719
) : ViewModel() {
1820

1921
val networkState = networkConnectionStateHolder.networkState

0 commit comments

Comments
 (0)