@@ -722,14 +722,32 @@ class TransactionRepository @Inject constructor(
722
722
723
723
sealed class ErrorSubmitIntent (val value : Int ) {
724
724
data class Denied (val reasons : List <DeniedReason > = emptyList()): ErrorSubmitIntent(0 )
725
- data object InvalidIntent : ErrorSubmitIntent (1 )
725
+ data class InvalidIntent ( val reasons : List < String >) : ErrorSubmitIntent(1 )
726
726
data object SignatureError : ErrorSubmitIntent (2 )
727
- data object StaleState : ErrorSubmitIntent (3 )
727
+ data class StaleState ( val reasons : List < String >) : ErrorSubmitIntent(3 )
728
728
data object Unknown : ErrorSubmitIntent (-1 )
729
729
data object DeviceTokenUnavailable : ErrorSubmitIntent (-2 )
730
730
731
+ override fun toString (): String {
732
+ return when (this ) {
733
+ is Denied -> " denied(${reasons.joinToString()} )"
734
+ DeviceTokenUnavailable -> " deviceTokenUnavailable"
735
+ is InvalidIntent -> " invalidIntent(${reasons.joinToString()} )"
736
+ SignatureError -> " signatureError"
737
+ is StaleState -> " staleState(${reasons.joinToString()} )"
738
+ Unknown -> " unknown"
739
+ }
740
+ }
741
+
731
742
companion object {
732
743
operator fun invoke (proto : SubmitIntentResponse .Error ): ErrorSubmitIntent {
744
+ val reasonStrings = proto.errorDetailsList.mapNotNull {
745
+ when (it.typeCase) {
746
+ TransactionService .ErrorDetails .TypeCase .REASON_STRING ->
747
+ it.reasonString.reason.takeIf { reason -> reason.isNotEmpty() }
748
+ else -> null
749
+ }
750
+ }
733
751
return when (proto.code) {
734
752
SubmitIntentResponse .Error .Code .DENIED -> {
735
753
val reasons = proto.errorDetailsList.mapNotNull {
@@ -739,9 +757,9 @@ class TransactionRepository @Inject constructor(
739
757
740
758
Denied (reasons)
741
759
}
742
- SubmitIntentResponse .Error .Code .INVALID_INTENT -> InvalidIntent
760
+ SubmitIntentResponse .Error .Code .INVALID_INTENT -> InvalidIntent (reasonStrings)
743
761
SubmitIntentResponse .Error .Code .SIGNATURE_ERROR -> SignatureError
744
- SubmitIntentResponse .Error .Code .STALE_STATE -> StaleState
762
+ SubmitIntentResponse .Error .Code .STALE_STATE -> StaleState (reasonStrings)
745
763
SubmitIntentResponse .Error .Code .UNRECOGNIZED -> Unknown
746
764
else -> return Unknown
747
765
}
0 commit comments