crystal-wallet-android/app/src/main/java/cy/agorise/crystalwallet/viewmodels/validators/validationfields/BitsharesAccountMnemonicVal...

50 lines
2.0 KiB
Java

package cy.agorise.crystalwallet.viewmodels.validators.validationfields;
import android.widget.EditText;
import cy.agorise.crystalwallet.R;
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequestListener;
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests;
import cy.agorise.crystalwallet.requestmanagers.ValidateImportBitsharesAccountRequest;
/**
* Created by Henry Varona on 7/10/2017.
*/
public class BitsharesAccountMnemonicValidationField extends ValidationField {
private EditText mnemonicField;
private EditText accountNameField;
public BitsharesAccountMnemonicValidationField(EditText mnemonicField, EditText accountNameField){
super(mnemonicField);
this.mnemonicField = mnemonicField;
this.accountNameField = accountNameField;
}
public void validate(){
final String newMnemonicValue = mnemonicField.getText().toString();
final String newAccountNameValue = accountNameField.getText().toString();
final String mixedValue = newMnemonicValue+"_"+newAccountNameValue;
this.setLastValue(mixedValue);
this.startValidating();
final ValidationField field = this;
final ValidateImportBitsharesAccountRequest request = new ValidateImportBitsharesAccountRequest(newAccountNameValue,newMnemonicValue,view.getContext());
request.setListener(new CryptoNetInfoRequestListener() {
@Override
public void onCarryOut() {
if(request.getStatus().equals(ValidateImportBitsharesAccountRequest.StatusCode.SUCCEEDED)){
setValidForValue(mixedValue, true);
}else{
//TODO handle error request
setMessageForValue(mixedValue,validator.getContext().getResources().getString(R.string.error_invalid_account));
setValidForValue(mixedValue, false);
}
}
});
CryptoNetInfoRequests.getInstance().addRequest(request);
}
}