Skip to content

Commit 4a414c8

Browse files
committed
✨ 러닝 엑티비티 뒤로가기 버튼 콜백 추가
1 parent 8314db4 commit 4a414c8

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

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

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package com.whyranoid.presentation.running
22

33
import android.content.Intent
44
import android.os.Bundle
5+
import androidx.activity.OnBackPressedCallback
56
import androidx.activity.viewModels
7+
import com.google.android.material.snackbar.Snackbar
68
import com.naver.maps.geometry.LatLng
79
import com.naver.maps.map.CameraUpdate
810
import com.naver.maps.map.LocationSource
@@ -28,6 +30,18 @@ internal class RunningActivity :
2830

2931
private val viewModel: RunningViewModel by viewModels()
3032

33+
private val backPressedCallback = object : OnBackPressedCallback(true) {
34+
override fun handleOnBackPressed() {
35+
Snackbar.make(
36+
binding.root,
37+
getString(R.string.running_fin_snackbar_content),
38+
Snackbar.LENGTH_SHORT
39+
).setAction(getString(R.string.running_fin_snackbar_action)) {
40+
viewModel.onFinishButtonClicked()
41+
}.show()
42+
}
43+
}
44+
3145
private lateinit var mapView: MapView
3246
private lateinit var naverMap: NaverMap
3347
private lateinit var paths: MutableList<PathOverlay>
@@ -125,6 +139,7 @@ internal class RunningActivity :
125139
mapView.getMapAsync(this)
126140

127141
binding.vm = viewModel
142+
this.onBackPressedDispatcher.addCallback(this, backPressedCallback)
128143
}
129144

130145
private fun observeState() {
@@ -210,7 +225,10 @@ internal class RunningActivity :
210225
}
211226

212227
private fun handleRunningFinishSuccessState(runningFinishData: RunningFinishData) {
213-
setResult(RESULT_OK, Intent().putExtra(RunningViewModel.RUNNING_FINISH_DATA_KEY, runningFinishData))
228+
setResult(
229+
RESULT_OK,
230+
Intent().putExtra(RunningViewModel.RUNNING_FINISH_DATA_KEY, runningFinishData)
231+
)
214232
finish()
215233
}
216234

presentation/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,5 +103,7 @@
103103
<string name="running_finish_positive_btn">자랑할래요</string>
104104
<string name="running_finish_negative_btn">괜찮아요</string>
105105
<string name="running_finish_progress_description">러닝 종료 화면 프로그레스바</string>
106+
<string name="running_fin_snackbar_content">러닝을 종료하시겠습니다?</string>
107+
<string name="running_fin_snackbar_action">종료하기</string>
106108

107109
</resources>

0 commit comments

Comments
 (0)