From 8779c2daa40c7e921740fdb04954338d09428cc0 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Tue, 15 Oct 2024 15:04:53 +0300 Subject: [PATCH] Open objective screen with the selected objected --- .../preview/BlazeCampaignCreationPreviewFragment.kt | 12 +++++++----- .../preview/BlazeCampaignCreationPreviewViewModel.kt | 8 ++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewFragment.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewFragment.kt index 07e02a29ba7..29b55aad071 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewFragment.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewFragment.kt @@ -16,6 +16,8 @@ import com.woocommerce.android.ui.blaze.creation.ad.BlazeCampaignCreationEditAdF import com.woocommerce.android.ui.blaze.creation.ad.BlazeCampaignCreationEditAdViewModel.EditAdResult import com.woocommerce.android.ui.blaze.creation.budget.BlazeCampaignBudgetFragment import com.woocommerce.android.ui.blaze.creation.destination.BlazeCampaignCreationAdDestinationFragment +import com.woocommerce.android.ui.blaze.creation.objective.BlazeCampaignObjectiveFragment +import com.woocommerce.android.ui.blaze.creation.objective.BlazeCampaignObjectiveViewModel.ObjectiveResult import com.woocommerce.android.ui.blaze.creation.preview.BlazeCampaignCreationPreviewViewModel.NavigateToAdDestinationScreen import com.woocommerce.android.ui.blaze.creation.preview.BlazeCampaignCreationPreviewViewModel.NavigateToBudgetScreen import com.woocommerce.android.ui.blaze.creation.preview.BlazeCampaignCreationPreviewViewModel.NavigateToEditAdScreen @@ -78,6 +80,11 @@ class BlazeCampaignCreationPreviewFragment : BaseFragment() { ) ) + is NavigateToObjectiveSelectionScreen -> findNavController().navigateSafely( + BlazeCampaignCreationPreviewFragmentDirections + .actionBlazeCampaignCreationPreviewFragmentToBlazeCampaignObjectiveFragment(event.selectedId) + ) + is NavigateToTargetSelectionScreen -> findNavController().navigateSafely( BlazeCampaignCreationPreviewFragmentDirections .actionBlazeCampaignCreationPreviewFragmentToBlazeCampaignTargetSelectionFragment( @@ -107,11 +114,6 @@ class BlazeCampaignCreationPreviewFragment : BaseFragment() { event.campaignDetails ) ) - - is NavigateToObjectiveSelectionScreen -> findNavController().navigateSafely( - BlazeCampaignCreationPreviewFragmentDirections - .actionBlazeCampaignCreationPreviewFragmentToBlazeCampaignObjectiveFragment() - ) } } } diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewViewModel.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewViewModel.kt index a0dfb4b8dc3..58d9052f749 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewViewModel.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/creation/preview/BlazeCampaignCreationPreviewViewModel.kt @@ -206,7 +206,7 @@ class BlazeCampaignCreationPreviewViewModel @Inject constructor( isObjectiveMissing && FeatureFlag.OBJECTIVE_SECTION.isEnabled() -> buildMissingRequiredDataDialog( message = R.string.blaze_campaign_preview_missing_objective_dialog_text, positiveButtonText = R.string.blaze_campaign_preview_missing_objective_dialog_positive_button, - positiveButtonOnClick = { triggerEvent(NavigateToObjectiveSelectionScreen) } + positiveButtonOnClick = { triggerEvent(NavigateToObjectiveSelectionScreen(selectedId = null)) } ) else -> triggerEvent(NavigateToPaymentSummary(it)) @@ -287,7 +287,7 @@ class BlazeCampaignCreationPreviewViewModel @Inject constructor( return CampaignDetailItemUi( displayTitle = resourceProvider.getString(R.string.blaze_campaign_preview_details_objective), displayValue = selectedObjectiveDisplayValue, - onItemSelected = { triggerEvent(NavigateToObjectiveSelectionScreen) } + onItemSelected = { triggerEvent(NavigateToObjectiveSelectionScreen(campaignDetails.value?.objectiveId)) } ) } @@ -445,9 +445,9 @@ class BlazeCampaignCreationPreviewViewModel @Inject constructor( val aiSuggestions: List ) : MultiLiveEvent.Event() + data class NavigateToObjectiveSelectionScreen(val selectedId: String? = null) : MultiLiveEvent.Event() + data class NavigateToPaymentSummary( val campaignDetails: CampaignDetails ) : MultiLiveEvent.Event() - - data object NavigateToObjectiveSelectionScreen : MultiLiveEvent.Event() }