Skip to content

Commit cd5680a

Browse files
authored
Merge pull request #450 from code-payments/chore/create-account-error-updates
Chore/create account error updates
2 parents bc1cbf0 + a4241cf commit cd5680a

4 files changed

Lines changed: 15 additions & 21 deletions

File tree

api/src/main/java/com/getcode/network/repository/TransactionRepository.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ class TransactionRepository @Inject constructor(
381381
serverMessageStream?.onCompleted()
382382
subject.onError(
383383
ErrorSubmitIntentException(
384-
ErrorSubmitIntent.fromValue(value.error.codeValue),
384+
ErrorSubmitIntent.invoke(value.error),
385385
)
386386
)
387387
}
@@ -729,11 +729,11 @@ class TransactionRepository @Inject constructor(
729729
data object DeviceTokenUnavailable: ErrorSubmitIntent(-2)
730730

731731
companion object {
732-
operator fun invoke(proto: SubmitIntentResponse.Error): ErrorSubmitIntent? {
732+
operator fun invoke(proto: SubmitIntentResponse.Error): ErrorSubmitIntent {
733733
return when (proto.code) {
734734
SubmitIntentResponse.Error.Code.DENIED -> {
735735
val reasons = proto.errorDetailsList.mapNotNull {
736-
if (!it.hasIntentDenied()) return null
736+
if (!it.hasIntentDenied()) return@mapNotNull null
737737
DeniedReason.fromValue(it.intentDenied.reasonValue)
738738
}
739739

@@ -743,14 +743,9 @@ class TransactionRepository @Inject constructor(
743743
SubmitIntentResponse.Error.Code.SIGNATURE_ERROR -> SignatureError
744744
SubmitIntentResponse.Error.Code.STALE_STATE -> StaleState
745745
SubmitIntentResponse.Error.Code.UNRECOGNIZED -> Unknown
746-
else -> return null
746+
else -> return Unknown
747747
}
748748
}
749-
750-
fun fromValue(value: Int): ErrorSubmitIntent {
751-
return listOf(Denied(), InvalidIntent, SignatureError, StaleState)
752-
.firstOrNull { it.value == value } ?: Unknown
753-
}
754749
}
755750
}
756751

app/src/main/java/com/getcode/manager/AuthManager.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -236,14 +236,14 @@ class AuthManager @Inject constructor(
236236
}
237237
.doOnSuccess {
238238
taggedTrace("account data fetched successfully")
239-
launch { savePrefs(phone!!, user!!) }
240-
launch { exchange.fetchRatesIfNeeded() }
241-
launch { historyController.fetchChats() }
242239
if (!BuildConfig.DEBUG) {
243240
if (Bugsnag.isStarted()) {
244241
Bugsnag.setUser(null, phone?.phoneNumber, null)
245242
}
246243
}
244+
launch { savePrefs(phone!!, user!!) }
245+
launch { exchange.fetchRatesIfNeeded() }
246+
launch { historyController.fetchChats() }
247247
}
248248
}
249249

app/src/main/java/com/getcode/ui/components/SettingsRow.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ fun SettingsRow(
2525
Row(
2626
modifier = modifier
2727
.rememberedClickable { onClick() }
28-
.padding(horizontal = CodeTheme.dimens.grid.x3)
29-
.padding(end = CodeTheme.dimens.grid.x3),
28+
.padding(horizontal = CodeTheme.dimens.grid.x3),
3029
verticalAlignment = Alignment.CenterVertically
3130
) {
3231
if (icon != null) {

app/src/main/java/com/getcode/view/login/BaseAccessKeyViewModel.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import com.getcode.manager.MnemonicManager
1616
import com.getcode.manager.SessionManager
1717
import com.getcode.manager.TopBarManager
1818
import com.getcode.network.repository.TransactionRepository
19+
import com.getcode.network.repository.TransactionRepository.DeniedReason
1920
import com.getcode.network.repository.decodeBase64
2021
import com.getcode.theme.R as themeR
2122
import com.getcode.theme.Brand
@@ -286,19 +287,18 @@ abstract class BaseAccessKeyViewModel(
286287
is TransactionRepository.ErrorSubmitIntentException -> {
287288
when (val intent = e.errorSubmitIntent) {
288289
is TransactionRepository.ErrorSubmitIntent.Denied -> {
289-
if (intent.reasons.isEmpty()) {
290+
if (intent.reasons.isEmpty() || intent.reasons.first() == DeniedReason.Unspecified) {
290291
getSomethingWentWrongError()
291292
} else {
292293
val reason = intent.reasons.first()
293294
when (reason) {
294-
TransactionRepository.DeniedReason.Unspecified -> getSomethingWentWrongError()
295-
TransactionRepository.DeniedReason.TooManyFreeAccountsForPhoneNumber -> getTooManyAccountsPerPhoneError()
296-
TransactionRepository.DeniedReason.TooManyFreeAccountsForDevice -> getTooManyAccountsPerDeviceError()
297-
TransactionRepository.DeniedReason.UnsupportedCountry -> getUnsupportedCountryError()
298-
TransactionRepository.DeniedReason.UnsupportedDevice -> getUnsupportedDeviceError()
295+
DeniedReason.Unspecified -> getSomethingWentWrongError()
296+
DeniedReason.TooManyFreeAccountsForPhoneNumber -> getTooManyAccountsPerPhoneError()
297+
DeniedReason.TooManyFreeAccountsForDevice -> getTooManyAccountsPerDeviceError()
298+
DeniedReason.UnsupportedCountry -> getUnsupportedCountryError()
299+
DeniedReason.UnsupportedDevice -> getUnsupportedDeviceError()
299300
}
300301
}
301-
getSomethingWentWrongError()
302302
}
303303
else -> getSomethingWentWrongError()
304304
}

0 commit comments

Comments
 (0)