Skip to content

Commit e6d1dea

Browse files
committed
✨ RunningActivity 생명주기 관찰 옵저버 생성
1 parent 1d6c90d commit e6d1dea

File tree

2 files changed

+45
-27
lines changed

2 files changed

+45
-27
lines changed

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

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import com.whyranoid.presentation.databinding.ActivityRunningBinding
2020
import com.whyranoid.presentation.util.dateToString
2121
import com.whyranoid.presentation.util.repeatWhenUiStarted
2222
import dagger.hilt.android.AndroidEntryPoint
23-
import java.util.*
23+
import java.util.Date
2424

2525
@AndroidEntryPoint
2626
internal class RunningActivity :
@@ -89,36 +89,11 @@ internal class RunningActivity :
8989
}
9090
}
9191

92-
override fun onStart() {
93-
super.onStart()
94-
mapView.onStart()
95-
}
96-
97-
override fun onResume() {
98-
super.onResume()
99-
mapView.onResume()
100-
}
101-
102-
override fun onPause() {
103-
mapView.onPause()
104-
super.onPause()
105-
}
106-
10792
override fun onSaveInstanceState(outState: Bundle) {
10893
super.onSaveInstanceState(outState)
10994
mapView.onSaveInstanceState(outState)
11095
}
11196

112-
override fun onStop() {
113-
mapView.onStop()
114-
super.onStop()
115-
}
116-
117-
override fun onDestroy() {
118-
mapView.onDestroy()
119-
super.onDestroy()
120-
}
121-
12297
override fun onLowMemory() {
12398
super.onLowMemory()
12499
mapView.onLowMemory()
@@ -135,11 +110,12 @@ internal class RunningActivity :
135110
private fun initViews(savedInstanceState: Bundle?) {
136111
mapView = binding.mapView
137112

138-
mapView.onCreate(savedInstanceState)
139113
mapView.getMapAsync(this)
140114

141115
binding.vm = viewModel
116+
142117
this.onBackPressedDispatcher.addCallback(this, backPressedCallback)
118+
lifecycle.addObserver(RunningActivityObserver(mapView, savedInstanceState))
143119
}
144120

145121
private fun observeState() {
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.whyranoid.presentation.running
2+
3+
import android.os.Bundle
4+
import androidx.lifecycle.DefaultLifecycleObserver
5+
import androidx.lifecycle.LifecycleOwner
6+
import com.naver.maps.map.MapView
7+
8+
class RunningActivityObserver(
9+
private val mapView: MapView,
10+
private val savedInstanceState: Bundle?
11+
) : DefaultLifecycleObserver {
12+
13+
override fun onCreate(owner: LifecycleOwner) {
14+
super.onCreate(owner)
15+
mapView.onCreate(savedInstanceState)
16+
}
17+
18+
override fun onStart(owner: LifecycleOwner) {
19+
super.onStart(owner)
20+
mapView.onStart()
21+
}
22+
23+
override fun onResume(owner: LifecycleOwner) {
24+
super.onResume(owner)
25+
mapView.onResume()
26+
}
27+
28+
override fun onPause(owner: LifecycleOwner) {
29+
mapView.onPause()
30+
super.onPause(owner)
31+
}
32+
33+
override fun onStop(owner: LifecycleOwner) {
34+
mapView.onStop()
35+
super.onStop(owner)
36+
}
37+
38+
override fun onDestroy(owner: LifecycleOwner) {
39+
mapView.onDestroy()
40+
super.onDestroy(owner)
41+
}
42+
}

0 commit comments

Comments
 (0)