Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. fun validateAddress(index: Int) {
  2. this.validation = null
  3. dis?.unsubscribe()
  4. if (addresses != null && addresses!!.size > index) {
  5. val address = addresses!![index]
  6. dis = sendPackageModel.validateAddress(address.address, address.index)
  7. .observeOn(AndroidSchedulers.mainThread())
  8. .subscribe(
  9. { setValidate(it, index) },
  10. { listener!!.showMessage("Ошибка валидации") }
  11. )
  12. } else {
  13. listener!!.showMessage("Неизвестная ошибка, измените адрес")
  14. }
  15. }
  16.  
  17. private fun setValidate(validation: AddressValidate, index: Int) {
  18. if (validation.validationStatus == ValidationStatus.UNKNOWN_TYPE) {
  19. listener!!.showMessage("Произошла ошибка на сервере")
  20. return
  21. }
  22. val text = (if (validation.inputIndex != null) validation.inputIndex + ", " else "") + validation.inputAddress
  23. listener!!.changeInputText(text, text.length)
  24.  
  25. if (validation.validationStatus == ValidationStatus.VALID_FOR_DELIVERY) {
  26. this.validation = validation
  27. val message = validation.missingParts?.map { it.desc }?.joinToString(separator = ", ")
  28. ?: ""
  29. if (message.isNotEmpty()) {
  30. listener!!.showAlert("В адресе не хватает $message. Если всё верно, нажмите ОК.", index)
  31. } else {
  32. //можно вкинуть любой тип
  33. clickOnSuggestion(index, InputType.TO)
  34. //todo set data for send package
  35. }
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement