When you try to import your account from seed, the button “CREATE WALLET” should be disabled till all the fields are correctly filled
This commit is contained in:
parent
09ae09db1b
commit
1545f0e10b
1 changed files with 155 additions and 3 deletions
|
@ -5,6 +5,7 @@ import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
|
import android.text.TextWatcher;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
@ -60,12 +61,136 @@ public class ImportSeedActivity extends AppCompatActivity implements UIValidator
|
||||||
|
|
||||||
ButterKnife.bind(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
btnImport.setEnabled(false);
|
/*
|
||||||
|
* Initially the button CREATE WALLET should be disabled
|
||||||
|
* */
|
||||||
|
disableCreate();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When a text change in any of the fields
|
||||||
|
* */
|
||||||
|
etPin.addTextChangedListener(new TextWatcher() {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If all is ready to continue enable the button, contrarie case disable it
|
||||||
|
* */
|
||||||
|
if(allFieldsAreFill()){
|
||||||
|
enableCreate();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
disableCreate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
etPinConfirmation.addTextChangedListener(new TextWatcher() {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If all is ready to continue enable the button, contrarie case disable it
|
||||||
|
* */
|
||||||
|
if(allFieldsAreFill()){
|
||||||
|
enableCreate();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
disableCreate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
etSeedWords.addTextChangedListener(new TextWatcher() {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If all is ready to continue enable the button, contrarie case disable it
|
||||||
|
* */
|
||||||
|
if(allFieldsAreFill()){
|
||||||
|
enableCreate();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
disableCreate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
etAccountName.addTextChangedListener(new TextWatcher() {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If all is ready to continue enable the button, contrarie case disable it
|
||||||
|
* */
|
||||||
|
if(allFieldsAreFill()){
|
||||||
|
enableCreate();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
disableCreate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
accountSeedViewModel = ViewModelProviders.of(this).get(AccountSeedViewModel.class);
|
accountSeedViewModel = ViewModelProviders.of(this).get(AccountSeedViewModel.class);
|
||||||
importSeedValidator = new ImportSeedValidator(this.getApplicationContext(),etPin,etPinConfirmation,etAccountName,etSeedWords);
|
importSeedValidator = new ImportSeedValidator(this.getApplicationContext(),etPin,etPinConfirmation,etAccountName,etSeedWords);
|
||||||
importSeedValidator.setListener(this);
|
importSeedValidator.setListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method to validate if all the fields are fill
|
||||||
|
* */
|
||||||
|
private boolean allFieldsAreFill(){
|
||||||
|
|
||||||
|
boolean complete = false;
|
||||||
|
if( etPin.getText().toString().trim().compareTo("")!=0 &&
|
||||||
|
etPinConfirmation.getText().toString().trim().compareTo("")!=0 &&
|
||||||
|
etSeedWords.getText().toString().trim().compareTo("")!=0 &&
|
||||||
|
etAccountName.getText().toString().trim().compareTo("")!=0){
|
||||||
|
complete = true;
|
||||||
|
}
|
||||||
|
return complete;
|
||||||
|
}
|
||||||
|
|
||||||
@OnTextChanged(value = R.id.etPin,
|
@OnTextChanged(value = R.id.etPin,
|
||||||
callback = OnTextChanged.Callback.AFTER_TEXT_CHANGED)
|
callback = OnTextChanged.Callback.AFTER_TEXT_CHANGED)
|
||||||
void afterPinChanged(Editable editable) {
|
void afterPinChanged(Editable editable) {
|
||||||
|
@ -182,9 +307,9 @@ public class ImportSeedActivity extends AppCompatActivity implements UIValidator
|
||||||
}
|
}
|
||||||
|
|
||||||
if (activity.importSeedValidator.isValid()){
|
if (activity.importSeedValidator.isValid()){
|
||||||
btnImport.setEnabled(true);
|
enableCreate();
|
||||||
} else {
|
} else {
|
||||||
btnImport.setEnabled(false);
|
disableCreate();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -203,4 +328,31 @@ public class ImportSeedActivity extends AppCompatActivity implements UIValidator
|
||||||
//tvSeedWordsError.setText(field.getMessage());
|
//tvSeedWordsError.setText(field.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enable create button
|
||||||
|
* */
|
||||||
|
private void enableCreate() {
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
btnImport.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
|
||||||
|
btnImport.setEnabled(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Disable create button
|
||||||
|
* */
|
||||||
|
private void disableCreate() {
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
btnImport.setEnabled(false);
|
||||||
|
btnImport.setBackground(getDrawable(R.drawable.disable_style));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue