Skip to content

Commit 96d7194

Browse files
committed
Add cancel button to CardReaderDetail reconnecting state
1 parent a97d9c5 commit 96d7194

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,18 +189,15 @@ 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
199-
with(cardReaderDetailLearnMoreTv.root) {
200-
movementMethod = LinkMovementMethod.getInstance()
201-
UiHelpers.setTextOrHide(this, state.learnMoreLabel)
202-
setOnClickListener { state.onLearnMoreClicked.invoke() }
203-
}
198+
UiHelpers.setTextOrHide(cardReaderDetailConnectBtn, state.cancelBtnLabel)
199+
cardReaderDetailConnectBtn.setOnClickListener { state.onCancelClicked.invoke() }
200+
cardReaderDetailLearnMoreTv.root.visibility = View.GONE
204201
}
205202
}
206203
}

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,13 @@ 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+
)
145+
}
146+
147+
private fun onCancelReconnectionClicked() {
148+
cardReaderManager.cancelReconnection()
143149
}
144150

145151
private fun cancelConnectedScopeJobs() {
@@ -317,14 +323,13 @@ class CardReaderDetailViewModel @Inject constructor(
317323
object Loading : ViewState()
318324

319325
data class ReconnectingState(
320-
val onLearnMoreClicked: (() -> Unit),
326+
val onCancelClicked: (() -> Unit),
321327
) : ViewState() {
322328
val headerLabel = UiStringRes(R.string.card_reader_detail_reconnecting_header)
323329

324330
@DrawableRes
325331
val illustration = R.drawable.img_card_reader_not_connected
326-
val firstHintLabel = UiStringRes(R.string.card_reader_detail_reconnecting_hint)
327-
val learnMoreLabel = UiStringRes(R.string.card_reader_detail_learn_more, containsHtml = true)
332+
val cancelBtnLabel = UiStringRes(R.string.card_reader_detail_reconnecting_cancel)
328333
}
329334
}
330335
}

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)