Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun validateAddress(index: Int) {
- this.validation = null
- dis?.unsubscribe()
- if (addresses != null && addresses!!.size > index) {
- val address = addresses!![index]
- dis = sendPackageModel.validateAddress(address.address, address.index)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(
- { setValidate(it, index) },
- { listener!!.showMessage("Ошибка валидации") }
- )
- } else {
- listener!!.showMessage("Неизвестная ошибка, измените адрес")
- }
- }
- private fun setValidate(validation: AddressValidate, index: Int) {
- if (validation.validationStatus == ValidationStatus.UNKNOWN_TYPE) {
- listener!!.showMessage("Произошла ошибка на сервере")
- return
- }
- val text = (if (validation.inputIndex != null) validation.inputIndex + ", " else "") + validation.inputAddress
- listener!!.changeInputText(text, text.length)
- if (validation.validationStatus == ValidationStatus.VALID_FOR_DELIVERY) {
- this.validation = validation
- val message = validation.missingParts?.map { it.desc }?.joinToString(separator = ", ")
- ?: ""
- if (message.isNotEmpty()) {
- listener!!.showAlert("В адресе не хватает $message. Если всё верно, нажмите ОК.", index)
- } else {
- //можно вкинуть любой тип
- clickOnSuggestion(index, InputType.TO)
- //todo set data for send package
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement