@@ -29,8 +29,6 @@ import dagger.hilt.android.AndroidEntryPoint
2929class MyHistoryDetailActivity :
3030 BindingActivity <ActivityMyHistoryDetailBinding >(R .layout.activity_my_history_detail) {
3131 private val viewModel: MyHistoryDetailViewModel by viewModels()
32- private var currentScreenMode: ScreenMode = ScreenMode .ReadOnlyMode
33- private var temporarilySavedTitle: String = " "
3432
3533 override fun onCreate (savedInstanceState : Bundle ? ) {
3634 super .onCreate(savedInstanceState)
@@ -62,29 +60,21 @@ class MyHistoryDetailActivity :
6260 }
6361
6462 private fun enterReadMode () {
65- updateCurrentScreenMode(ScreenMode .ReadOnlyMode )
63+ viewModel. updateCurrentScreenMode(ScreenMode .ReadOnlyMode )
6664 updateTitleInputType()
6765 updateMoreButtonVisibility(true )
6866 updateConstraintForReadMode()
6967 }
7068
7169 private fun enterEditMode () {
72- updateCurrentScreenMode(ScreenMode .EditMode )
70+ viewModel. updateCurrentScreenMode(ScreenMode .EditMode )
7371 updateTitleInputType()
7472 updateMoreButtonVisibility(false )
7573 updateConstraintForEditMode()
7674
7775 // 중간에 수정을 취소하면 원래 제목으로 되돌리기 위해
78- // 현재 제목을 전역 변수에 저장해둔다.
79- saveTemporarilyCurrentTitle()
80- }
81-
82- private fun saveTemporarilyCurrentTitle () {
83- temporarilySavedTitle = viewModel.title
84- }
85-
86- private fun updateCurrentScreenMode (mode : ScreenMode ) {
87- currentScreenMode = mode
76+ // 현재 제목을 뷰모델에 저장해둔다.
77+ viewModel.saveCurrentTitle()
8878 }
8979
9080 private fun updateMoreButtonVisibility (isVisible : Boolean ) {
@@ -115,7 +105,7 @@ class MyHistoryDetailActivity :
115105 }
116106
117107 private fun handleBackButtonByCurrentScreenMode () {
118- when (currentScreenMode) {
108+ when (viewModel. currentScreenMode) {
119109 is ScreenMode .ReadOnlyMode -> navigateToPreviousScreen()
120110 is ScreenMode .EditMode -> showStopEditingDialog()
121111 }
@@ -251,7 +241,7 @@ class MyHistoryDetailActivity :
251241 }
252242
253243 private fun updateTitleInputType () {
254- when (currentScreenMode) {
244+ when (viewModel. currentScreenMode) {
255245 is ScreenMode .ReadOnlyMode -> {
256246 binding.etCourseTitle.inputType = InputType .TYPE_NULL
257247 }
@@ -284,7 +274,7 @@ class MyHistoryDetailActivity :
284274 onNegativeButtonClicked = {},
285275 onPositiveButtonClicked = {
286276 // 편집 모드 -> 뒤로가기 버튼 -> 편집 중단 확인 -> 뷰에 원래 제목으로 보여줌.
287- viewModel.updateHistoryTitle(temporarilySavedTitle )
277+ viewModel.restoreOriginalTitle( )
288278 enterReadMode()
289279 }
290280 )
0 commit comments