Skip to content

Commit 3232f07

Browse files
committed
Add cancel button to CardReaderDetail reconnecting state
1 parent a97d9c5 commit 3232f07

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/payments/cardreader/detail/CardReaderDetailFragment.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,13 +189,14 @@ class CardReaderDetailFragment : BaseFragment(R.layout.fragment_card_reader_deta
189189
cardReaderDetailIllustration,
190190
state.illustration
191191
)
192-
UiHelpers.setTextOrHide(cardReaderDetailFirstHintLabel, state.firstHintLabel)
192+
cardReaderDetailFirstHintLabel.visibility = View.GONE
193193
cardReaderDetailFirstHintNumberLabel.visibility = View.GONE
194194
cardReaderDetailSecondHintLabel.visibility = View.GONE
195195
cardReaderDetailSecondHintNumberLabel.visibility = View.GONE
196196
cardReaderDetailThirdHintLabel.visibility = View.GONE
197197
cardReaderDetailThirdHintNumberLabel.visibility = View.GONE
198-
cardReaderDetailConnectBtn.visibility = View.GONE
198+
UiHelpers.setTextOrHide(cardReaderDetailConnectBtn, state.cancelBtnLabel)
199+
cardReaderDetailConnectBtn.setOnClickListener { state.onCancelClicked.invoke() }
199200
with(cardReaderDetailLearnMoreTv.root) {
200201
movementMethod = LinkMovementMethod.getInstance()
201202
UiHelpers.setTextOrHide(this, state.learnMoreLabel)

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/payments/cardreader/detail/CardReaderDetailViewModel.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,14 @@ class CardReaderDetailViewModel @Inject constructor(
139139
}
140140

141141
private fun handleReconnectingState() {
142-
viewState.value = ViewState.ReconnectingState(onLearnMoreClicked = ::onLearnMoreClicked)
142+
viewState.value = ViewState.ReconnectingState(
143+
onCancelClicked = ::onCancelReconnectionClicked,
144+
onLearnMoreClicked = ::onLearnMoreClicked
145+
)
146+
}
147+
148+
private fun onCancelReconnectionClicked() {
149+
cardReaderManager.cancelReconnection()
143150
}
144151

145152
private fun cancelConnectedScopeJobs() {
@@ -317,13 +324,14 @@ class CardReaderDetailViewModel @Inject constructor(
317324
object Loading : ViewState()
318325

319326
data class ReconnectingState(
327+
val onCancelClicked: (() -> Unit),
320328
val onLearnMoreClicked: (() -> Unit),
321329
) : ViewState() {
322330
val headerLabel = UiStringRes(R.string.card_reader_detail_reconnecting_header)
323331

324332
@DrawableRes
325333
val illustration = R.drawable.img_card_reader_not_connected
326-
val firstHintLabel = UiStringRes(R.string.card_reader_detail_reconnecting_hint)
334+
val cancelBtnLabel = UiStringRes(R.string.card_reader_detail_reconnecting_cancel)
327335
val learnMoreLabel = UiStringRes(R.string.card_reader_detail_learn_more, containsHtml = true)
328336
}
329337
}

WooCommerce/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1635,7 +1635,7 @@
16351635
-->
16361636
<string name="card_reader_detail_not_connected_header">Connect your card reader</string>
16371637
<string name="card_reader_detail_reconnecting_header">Reconnecting to card reader…</string>
1638-
<string name="card_reader_detail_reconnecting_hint">Please wait while we attempt to reconnect</string>
1638+
<string name="card_reader_detail_reconnecting_cancel">Cancel reconnection</string>
16391639
<string name="card_reader_detail_learn_more">&lt;a href=\'\'&gt;Learn more&lt;/a&gt; about accepting mobile payments and ordering card readers</string>
16401640
<string name="card_reader_detail_not_connected_first_hint_label">Make sure card reader is charged</string>
16411641
<string name="card_reader_detail_not_connected_second_hint_label">Turn card reader on and place it next to mobile device</string>

0 commit comments

Comments
 (0)