From 33e79ecd7e3954892a9cf79f3ead31f84f990064 Mon Sep 17 00:00:00 2001 From: l2zh Date: Wed, 20 Dec 2023 02:40:00 +0900 Subject: [PATCH] =?UTF-8?q?#162=20/=20=EB=B0=B1=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=88=84=EB=A5=BC=EB=96=84=20=EB=8B=A4=EC=9D=B4=EC=96=BC?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=EB=9D=84=EC=9A=B0=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/timer/TimerStartActivity.kt | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/sopt/uni/presentation/timer/TimerStartActivity.kt b/app/src/main/java/sopt/uni/presentation/timer/TimerStartActivity.kt index e010940..3f2a81b 100644 --- a/app/src/main/java/sopt/uni/presentation/timer/TimerStartActivity.kt +++ b/app/src/main/java/sopt/uni/presentation/timer/TimerStartActivity.kt @@ -1,6 +1,7 @@ package sopt.uni.presentation.timer import android.os.Bundle +import androidx.activity.OnBackPressedCallback import dagger.hilt.android.AndroidEntryPoint import sopt.uni.R import sopt.uni.data.datasource.local.SparkleStorage @@ -11,12 +12,23 @@ import sopt.uni.util.extension.setOnSingleClickListener @AndroidEntryPoint class TimerStartActivity : BindingActivity(R.layout.activity_timer) { + private val onBackPressedCallback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + exitTimer() + } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(binding.root) setBackButton() setTimerFragment() + finishTimer() + } + + private fun finishTimer() { + onBackPressedDispatcher.addCallback(this, onBackPressedCallback) } private fun setTimerFragment() { @@ -36,16 +48,20 @@ class TimerStartActivity : BindingActivity(R.layout.activi private fun setBackButton() { binding.btnTimerBack.setOnSingleClickListener { - val currentFragment = supportFragmentManager.findFragmentById(R.id.fcv_timer) - - if (currentFragment is TimerSettingFragment) { - finish() - } else { - TimerDialogFragment().show( - supportFragmentManager, - TIMER_DIALOG_TAG, - ) - } + exitTimer() + } + } + + private fun exitTimer() { + val currentFragment = supportFragmentManager.findFragmentById(R.id.fcv_timer) + + if (currentFragment is TimerSettingFragment) { + finish() + } else { + TimerDialogFragment().show( + supportFragmentManager, + TIMER_DIALOG_TAG, + ) } }