Skip to content

Commit

Permalink
[FIX/#370] dialog 화면 이동 시 coroutine job cancel
Browse files Browse the repository at this point in the history
  • Loading branch information
minju1459 committed Feb 2, 2024
1 parent 34f8fee commit 6f45b24
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import com.el.yello.presentation.util.dp
import com.el.yello.util.amplitude.AmplitudeUtils
import com.el.yello.util.context.yelloSnackbar
import com.example.domain.enum.SubscribeType.CANCELED
import com.example.domain.enum.SubscribeType.NORMAL
import com.example.ui.base.BindingActivity
import com.example.ui.context.toast
import com.example.ui.intent.stringExtra
Expand All @@ -35,6 +34,7 @@ import com.example.ui.view.UiState.Failure
import com.example.ui.view.UiState.Loading
import com.example.ui.view.UiState.Success
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import java.text.SimpleDateFormat
Expand All @@ -49,6 +49,7 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
private val type by stringExtra()

private var backPressedTime: Long = 0
private var userSubsStateJob: Job? = null

private val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
Expand Down Expand Up @@ -189,7 +190,7 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
}

private fun setupGetUserSubsState() {
viewModel.getUserSubsState.flowWithLifecycle(lifecycle)
userSubsStateJob = viewModel.getUserSubsState.flowWithLifecycle(lifecycle)
.onEach { state ->
when (state) {
is Empty -> return@onEach
Expand Down Expand Up @@ -275,6 +276,10 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
badgeDrawable.isVisible = count != 0
}

fun resetUserSubsStateFlow() {
userSubsStateJob?.cancel()
}

companion object {
private const val EXTRA_TYPE = "type"
private const val EXTRA_PATH = "path"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ import android.view.ViewGroup
import android.view.WindowManager
import com.el.yello.R
import com.el.yello.databinding.FragmentNoticeResubscribeBinding
import com.el.yello.presentation.main.MainActivity
import com.example.ui.base.BindingDialogFragment
import com.example.ui.view.setOnSingleClickListener

class PayReSubsNoticeDialog :
BindingDialogFragment<FragmentNoticeResubscribeBinding>(R.layout.fragment_notice_resubscribe) {

private val mainActivity: MainActivity by lazy {
requireActivity() as MainActivity
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setNoticeBtnClickListener()
Expand All @@ -36,12 +40,16 @@ class PayReSubsNoticeDialog :
}

private fun setNoticeBtnClickListener() {
binding.btnNoticeQuit.setOnSingleClickListener { dismiss() }
binding.btnYelloplusSubscribe.setOnSingleClickListener {
binding.btnNoticeQuit.setOnSingleClickListener {
dismiss()
mainActivity.resetUserSubsStateFlow()
}
binding.btnYelloplusSubscribe.setOnSingleClickListener {
Intent(requireContext(), PayActivity::class.java).apply {
startActivity(this)
}
dismiss()
mainActivity.resetUserSubsStateFlow()
}
}

Expand Down

0 comments on commit 6f45b24

Please sign in to comment.