From 405c376cdfe1f4517ab87bf223dbf1a33703d2aa Mon Sep 17 00:00:00 2001 From: samiuelson Date: Fri, 10 Jan 2025 12:32:37 +0100 Subject: [PATCH 1/4] Switch to using dynamic reader hint for "remove card" prompt --- .../home/totals/WooPosTotalsViewModel.kt | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModel.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModel.kt index 40da8f0109eb..f75c8828d550 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModel.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModel.kt @@ -292,13 +292,13 @@ class WooPosTotalsViewModel @Inject constructor( viewModelScope.launch { cardReaderPaymentController?.paymentState?.collect { paymentState -> when (paymentState) { - is CardReaderPaymentState.CollectingPayment -> handleCollectingPaymentState() + is CardReaderPaymentState.CollectingPayment -> handleCollectingPaymentState(paymentState) is CardReaderPaymentState.LoadingData -> handleReaderLoadingPaymentState() is CardReaderPaymentState.ProcessingPayment, is CardReaderPaymentState.PaymentCapturing -> { - uiState.value = buildPaymentInProgressState(paymentState) + uiState.value = buildPaymentInProgressState() childrenToParentEventSender.sendToParent(ChildToParentEvent.PaymentInProgress) } @@ -324,13 +324,15 @@ class WooPosTotalsViewModel @Inject constructor( } } - private suspend fun handleCollectingPaymentState() { + private suspend fun handleCollectingPaymentState(paymentState: CardReaderPaymentState.CollectingPayment) { val totalsState = uiState.value if (totalsState is WooPosTotalsViewState.Totals) { uiState.value = totalsState.copy( readerStatus = WooPosTotalsViewState.ReaderStatus.ReadyForPayment( title = resourceProvider.getString(R.string.woopos_totals_reader_ready_for_payment_title), - subtitle = resourceProvider.getString(R.string.woopos_totals_reader_ready_for_payment_subtitle) + subtitle = resourceProvider.getString( + paymentState.cardReaderHint ?: R.string.woopos_totals_reader_ready_for_payment_subtitle + ) ) ) } else { @@ -378,16 +380,12 @@ class WooPosTotalsViewModel @Inject constructor( ) } - private fun buildPaymentInProgressState(paymentState: CardReaderPaymentOrRefundState): PaymentInProgress { - val subtitle = when (paymentState) { - is CardReaderPaymentState.ProcessingPayment -> R.string.woo_pos_payment_remove_card - else -> R.string.woopos_success_totals_payment_processing_subtitle - } + private fun buildPaymentInProgressState(): PaymentInProgress { return PaymentInProgress( title = resourceProvider.getString( R.string.woopos_success_totals_payment_processing_title ), - subtitle = resourceProvider.getString(subtitle) + subtitle = resourceProvider.getString(R.string.woopos_success_totals_payment_processing_subtitle) ) } From 2b1df69cc15b2f6b7842ae2f44d09f59dd0957fe Mon Sep 17 00:00:00 2001 From: samiuelson Date: Fri, 10 Jan 2025 12:32:50 +0100 Subject: [PATCH 2/4] Remove unused string --- WooCommerce/src/main/res/values/strings.xml | 1 - .../android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt | 2 -- 2 files changed, 3 deletions(-) diff --git a/WooCommerce/src/main/res/values/strings.xml b/WooCommerce/src/main/res/values/strings.xml index 4b2aae8fc2e4..3c758351c99f 100644 --- a/WooCommerce/src/main/res/values/strings.xml +++ b/WooCommerce/src/main/res/values/strings.xml @@ -4346,7 +4346,6 @@ Try another payment method Try payment again Go back to checkout - Remove card Dimmed background. Tap to close the menu. Card reader connected diff --git a/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt b/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt index 5a2071ed68dc..90489b911450 100644 --- a/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt +++ b/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt @@ -1180,8 +1180,6 @@ class WooPosTotalsViewModelTest { .thenReturn("Ready for payment") whenever(resourceProvider.getString(R.string.woopos_totals_reader_ready_for_payment_subtitle)) .thenReturn("Tap, swipe or insert card") - whenever(resourceProvider.getString(R.string.woo_pos_payment_remove_card)) - .thenReturn("Remove card") whenever(resourceProvider.getString(R.string.woopos_no_internet_message)) .thenReturn("No internet") whenever(resourceProvider.getString(R.string.woopos_success_totals_payment_failed_title)) From 0f3c8fce94d1347549a01ec5f84fa4b07cb699d2 Mon Sep 17 00:00:00 2001 From: samiuelson Date: Tue, 14 Jan 2025 11:50:18 +0100 Subject: [PATCH 3/4] Update test --- .../android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt b/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt index 90489b911450..b3c13bd998ac 100644 --- a/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt +++ b/WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModelTest.kt @@ -861,7 +861,7 @@ class WooPosTotalsViewModelTest { assertThat(processingState).isInstanceOf(WooPosTotalsViewState.PaymentInProgress::class.java) with(processingState) { assertThat(title).isEqualTo("Processing payment") - assertThat(subtitle).isEqualTo("Remove card") + assertThat(subtitle).isEqualTo("Please wait…") } } From ec38aaf8b3477a1e6c18cde865c9f7709679a28f Mon Sep 17 00:00:00 2001 From: samiuelson Date: Tue, 14 Jan 2025 12:01:29 +0100 Subject: [PATCH 4/4] Make space between texts smaller in PaymentInProgress screen --- .../payment/inprogress/WooPosTotalsPaymentInProgressScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/payment/inprogress/WooPosTotalsPaymentInProgressScreen.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/payment/inprogress/WooPosTotalsPaymentInProgressScreen.kt index cf28ea96991f..2add10026b35 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/payment/inprogress/WooPosTotalsPaymentInProgressScreen.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/payment/inprogress/WooPosTotalsPaymentInProgressScreen.kt @@ -81,7 +81,7 @@ fun WooPosPaymentInProgressScreen( style = MaterialTheme.typography.h6, fontWeight = FontWeight.Normal, ) - Spacer(modifier = Modifier.height(16.dp.toAdaptivePadding())) + Spacer(modifier = Modifier.height(8.dp.toAdaptivePadding())) Text( text = state.subtitle, color = WooPosTheme.colors.paymentProcessingText,