From cf42320a1b6d750134a9ed1b9b8676d565f9e215 Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Mon, 9 Sep 2024 04:25:41 +0900 Subject: [PATCH] =?UTF-8?q?[FEAT/#123]=20=ED=8C=90=EB=A7=A4=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20navigation=20manager=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../di/navigate/NavigationManagerImpl.kt | 5 ++++ .../core/navigation/NavigationManager.kt | 2 ++ .../sell/confirm/SellConfirmActivity.kt | 11 ++++---- .../sell/finished/SellFinishedActivity.kt | 25 ++++++++----------- .../co/orange/sell/progress/BankDialog.kt | 11 ++++---- .../sell/progress/SellProgressActivity.kt | 13 +++++----- 6 files changed, 37 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/co/orange/ddanzi/di/navigate/NavigationManagerImpl.kt b/app/src/main/java/co/orange/ddanzi/di/navigate/NavigationManagerImpl.kt index 1bc5df9..2806028 100644 --- a/app/src/main/java/co/orange/ddanzi/di/navigate/NavigationManagerImpl.kt +++ b/app/src/main/java/co/orange/ddanzi/di/navigate/NavigationManagerImpl.kt @@ -12,6 +12,7 @@ import co.orange.main.push.PushActivity import co.orange.sell.finished.SellFinishedActivity import co.orange.sell.info.SellInfoActivity import co.orange.sell.onboarding.SellOnboardingActivity +import co.orange.setting.bank.BankActivity import co.orange.setting.delivery.DeliveryActivity import co.orange.setting.history.HistoryActivity import co.orange.setting.setting.SettingActivity @@ -76,6 +77,10 @@ class NavigationManagerImpl context.startActivity(Intent(context, DeliveryActivity::class.java)) } + override fun toBankView() { + context.startActivity(Intent(context, BankActivity::class.java)) + } + /** To Buy Module**/ override fun toBuyProgressView( diff --git a/core/src/main/java/co/orange/core/navigation/NavigationManager.kt b/core/src/main/java/co/orange/core/navigation/NavigationManager.kt index 3490f94..ffd94c2 100644 --- a/core/src/main/java/co/orange/core/navigation/NavigationManager.kt +++ b/core/src/main/java/co/orange/core/navigation/NavigationManager.kt @@ -27,6 +27,8 @@ interface NavigationManager { fun toDeliveryView() + fun toBankView() + /** To Buy Module**/ fun toBuyProgressView( diff --git a/feature/sell/src/main/java/co/orange/sell/confirm/SellConfirmActivity.kt b/feature/sell/src/main/java/co/orange/sell/confirm/SellConfirmActivity.kt index 3463140..46dc667 100644 --- a/feature/sell/src/main/java/co/orange/sell/confirm/SellConfirmActivity.kt +++ b/feature/sell/src/main/java/co/orange/sell/confirm/SellConfirmActivity.kt @@ -15,6 +15,7 @@ import co.orange.core.base.BaseActivity import co.orange.core.extension.setOnSingleClickListener import co.orange.core.extension.stringOf import co.orange.core.extension.toast +import co.orange.core.navigation.NavigationManager import co.orange.core.state.UiState import co.orange.domain.entity.response.SellBuyerInfoModel import co.orange.sell.databinding.ActivitySellConfirmBinding @@ -22,11 +23,15 @@ import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach +import javax.inject.Inject import co.orange.sell.R as featureR @AndroidEntryPoint class SellConfirmActivity : BaseActivity(featureR.layout.activity_sell_confirm) { + @Inject + lateinit var navigationManager: NavigationManager + private val viewModel by viewModels() override fun onCreate(savedInstanceState: Bundle?) { @@ -115,11 +120,7 @@ class SellConfirmActivity : .onEach { isSuccess -> if (isSuccess) { toast(stringOf(R.string.sell_order_fix_msg)) - Intent(this, MainActivity::class.java).apply { - addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) - startActivity(this) - } + navigationManager.toMainViewWIthClearing() } else { toast(stringOf(R.string.error_msg)) } diff --git a/feature/sell/src/main/java/co/orange/sell/finished/SellFinishedActivity.kt b/feature/sell/src/main/java/co/orange/sell/finished/SellFinishedActivity.kt index 19b0e3d..0670e68 100644 --- a/feature/sell/src/main/java/co/orange/sell/finished/SellFinishedActivity.kt +++ b/feature/sell/src/main/java/co/orange/sell/finished/SellFinishedActivity.kt @@ -7,15 +7,20 @@ import androidx.activity.viewModels import co.orange.core.base.BaseActivity import co.orange.core.extension.setOnSingleClickListener import co.orange.core.extension.setPriceForm +import co.orange.core.navigation.NavigationManager import co.orange.sell.databinding.ActivitySellFinishedBinding import co.orange.sell.info.SellInfoActivity import coil.load import dagger.hilt.android.AndroidEntryPoint +import javax.inject.Inject import co.orange.sell.R as featureR @AndroidEntryPoint class SellFinishedActivity : BaseActivity(featureR.layout.activity_sell_finished) { + @Inject + lateinit var navigationManager: NavigationManager + private val viewModel by viewModels() override fun onCreate(savedInstanceState: Bundle?) { @@ -28,16 +33,8 @@ class SellFinishedActivity : private fun initReturnBtnListener() { with(binding) { - btnExit.setOnSingleClickListener { returnToMainActivity() } - btnSellMore.setOnSingleClickListener { returnToMainActivity() } - } - } - - private fun returnToMainActivity() { - Intent(this, MainActivity::class.java).apply { - addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) - startActivity(this) + btnExit.setOnSingleClickListener { navigationManager.toMainViewWIthClearing() } + btnSellMore.setOnSingleClickListener { navigationManager.toMainViewWIthClearing() } } } @@ -51,10 +48,10 @@ class SellFinishedActivity : private fun setUiWithIntent() { with(binding) { - intent.getStringExtra(co.orange.sell.finished.SellFinishedActivity.EXTRA_ITEM_ID)?.let { viewModel.itemId = it } - intent.getStringExtra(co.orange.sell.finished.SellFinishedActivity.EXTRA_PRODUCT_NAME)?.let { tvFinishedItemName.text = it } - intent.getStringExtra(co.orange.sell.finished.SellFinishedActivity.EXTRA_PRODUCT_IMAGE)?.let { ivFinishedItem.load(it) } - tvFinishedItemPrice.text = intent.getIntExtra(co.orange.sell.finished.SellFinishedActivity.EXTRA_SALE_PRICE, 0).setPriceForm() + intent.getStringExtra(EXTRA_ITEM_ID)?.let { viewModel.itemId = it } + intent.getStringExtra(EXTRA_PRODUCT_NAME)?.let { tvFinishedItemName.text = it } + intent.getStringExtra(EXTRA_PRODUCT_IMAGE)?.let { ivFinishedItem.load(it) } + tvFinishedItemPrice.text = intent.getIntExtra(EXTRA_SALE_PRICE, 0).setPriceForm() } } diff --git a/feature/sell/src/main/java/co/orange/sell/progress/BankDialog.kt b/feature/sell/src/main/java/co/orange/sell/progress/BankDialog.kt index fc4e6f2..3d7aad5 100644 --- a/feature/sell/src/main/java/co/orange/sell/progress/BankDialog.kt +++ b/feature/sell/src/main/java/co/orange/sell/progress/BankDialog.kt @@ -1,6 +1,5 @@ package co.orange.sell.progress -import android.content.Intent import android.os.Bundle import android.view.View import android.view.WindowManager @@ -8,12 +7,16 @@ import androidx.fragment.app.activityViewModels import co.orange.core.R import co.orange.core.base.BaseDialog import co.orange.core.extension.setOnSingleClickListener -import co.orange.presentation.bank.BankActivity +import co.orange.core.navigation.NavigationManager import co.orange.sell.databinding.DialogBankBinding +import javax.inject.Inject import co.orange.sell.R as featureR class BankDialog : BaseDialog(featureR.layout.dialog_bank) { + @Inject + lateinit var navigationManager: NavigationManager + private val viewModel by activityViewModels() override fun onStart() { @@ -42,9 +45,7 @@ class BankDialog : private fun initSubmitBtnListener() { binding.btnSubmit.setOnSingleClickListener { viewModel.isSentToBank = true - Intent(requireContext(), BankActivity::class.java).apply { - startActivity(this) - } + navigationManager.toBankView() dismiss() } } diff --git a/feature/sell/src/main/java/co/orange/sell/progress/SellProgressActivity.kt b/feature/sell/src/main/java/co/orange/sell/progress/SellProgressActivity.kt index 14546ae..df9225f 100644 --- a/feature/sell/src/main/java/co/orange/sell/progress/SellProgressActivity.kt +++ b/feature/sell/src/main/java/co/orange/sell/progress/SellProgressActivity.kt @@ -19,12 +19,10 @@ import co.orange.core.extension.setPriceForm import co.orange.core.extension.setStatusBarColorFromResource import co.orange.core.extension.stringOf import co.orange.core.extension.toast +import co.orange.core.navigation.NavigationManager import co.orange.core.state.UiState import co.orange.domain.entity.response.SellProductModel import co.orange.domain.entity.response.SellRegisteredModel -import co.orange.presentation.push.PushActivity -import co.orange.presentation.setting.SettingActivity.Companion.WEB_TERM_SELL -import co.orange.presentation.setting.SettingActivity.Companion.WEB_TERM_SERVICE import co.orange.sell.databinding.ActivitySellProgressBinding import co.orange.sell.finished.SellFinishedActivity import coil.load @@ -32,11 +30,15 @@ import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach +import javax.inject.Inject import co.orange.sell.R as featureR @AndroidEntryPoint class SellProgressActivity : BaseActivity(featureR.layout.activity_sell_progress) { + @Inject + lateinit var navigationManager: NavigationManager + private val viewModel by viewModels() private var sellDateBottomSheet: SellDateBottomSheet? = null @@ -194,15 +196,14 @@ class SellProgressActivity : } private fun navigateToPushActivity(item: SellRegisteredModel) { - PushActivity.createIntent( - this, + navigationManager.toPushViewWithIntent( false, null, item.itemId, item.productName, item.imgUrl, item.salePrice, - ).apply { startActivity(this) } + ) finish() }