2017-10-01 01:52:34 +00:00
|
|
|
package cy.agorise.crystalwallet.activities;
|
|
|
|
|
|
|
|
import android.arch.lifecycle.LifecycleActivity;
|
|
|
|
import android.arch.lifecycle.ViewModelProviders;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.support.v7.app.AppCompatActivity;
|
2017-10-03 02:25:58 +00:00
|
|
|
import android.text.Editable;
|
2017-10-01 01:52:34 +00:00
|
|
|
import android.widget.Button;
|
2017-10-01 19:58:08 +00:00
|
|
|
import android.widget.EditText;
|
2017-10-01 01:52:34 +00:00
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import butterknife.BindView;
|
|
|
|
import butterknife.ButterKnife;
|
|
|
|
import butterknife.OnClick;
|
2017-10-03 02:25:58 +00:00
|
|
|
import butterknife.OnTextChanged;
|
2017-10-01 01:52:34 +00:00
|
|
|
import cy.agorise.crystalwallet.R;
|
|
|
|
import cy.agorise.crystalwallet.models.AccountSeed;
|
|
|
|
import cy.agorise.crystalwallet.viewmodels.AccountSeedListViewModel;
|
|
|
|
import cy.agorise.crystalwallet.viewmodels.AccountSeedViewModel;
|
|
|
|
import cy.agorise.crystalwallet.viewmodels.TransactionListViewModel;
|
2017-10-03 02:25:58 +00:00
|
|
|
import cy.agorise.crystalwallet.viewmodels.validators.ImportSeedValidator;
|
|
|
|
import cy.agorise.crystalwallet.viewmodels.validators.ImportSeedValidatorListener;
|
2017-10-01 01:52:34 +00:00
|
|
|
import cy.agorise.crystalwallet.views.TransactionListView;
|
|
|
|
|
2017-10-03 02:25:58 +00:00
|
|
|
public class ImportSeedActivity extends AppCompatActivity implements ImportSeedValidatorListener {
|
2017-10-01 01:52:34 +00:00
|
|
|
|
|
|
|
AccountSeedViewModel accountSeedViewModel;
|
2017-10-03 02:25:58 +00:00
|
|
|
ImportSeedValidator importSeedValidator;
|
2017-10-01 01:52:34 +00:00
|
|
|
|
|
|
|
@BindView(R.id.tvPin)
|
|
|
|
TextView tvPin;
|
|
|
|
|
|
|
|
@BindView(R.id.tvPinConfirmation)
|
|
|
|
TextView tvPinConfirmation;
|
|
|
|
|
|
|
|
@BindView(R.id.etSeedWords)
|
2017-10-01 19:58:08 +00:00
|
|
|
EditText etSeedWords;
|
|
|
|
|
|
|
|
@BindView (R.id.etAccountName)
|
|
|
|
EditText etAccountName;
|
2017-10-01 01:52:34 +00:00
|
|
|
|
|
|
|
@BindView(R.id.btnImport)
|
|
|
|
Button btnImport;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
setContentView(R.layout.import_seed);
|
|
|
|
|
|
|
|
ButterKnife.bind(this);
|
|
|
|
|
|
|
|
accountSeedViewModel = ViewModelProviders.of(this).get(AccountSeedViewModel.class);
|
2017-10-03 02:25:58 +00:00
|
|
|
importSeedValidator = accountSeedViewModel.getValidator();
|
|
|
|
|
|
|
|
importSeedValidator.setListener(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
@OnTextChanged(value = R.id.etAccountName,
|
|
|
|
callback = OnTextChanged.Callback.AFTER_TEXT_CHANGED)
|
|
|
|
void afterAccountNameChanged(Editable editable) {
|
|
|
|
this.validator.validateAccountName(editable.getT);
|
2017-10-01 01:52:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@OnClick(R.id.btnImport)
|
|
|
|
public void importSeed(){
|
2017-10-03 02:25:58 +00:00
|
|
|
if (this.validator)
|
2017-10-01 01:52:34 +00:00
|
|
|
AccountSeed seed = new AccountSeed();
|
|
|
|
|
|
|
|
//TODO verify if PIN and PIN confirmation are not null and are the same
|
|
|
|
//TODO verify if words are already in the db
|
2017-10-02 01:50:12 +00:00
|
|
|
//TODO check if name has been asigned to other seed
|
2017-10-01 01:52:34 +00:00
|
|
|
seed.setMasterSeed(etSeedWords.getText().toString());
|
2017-10-01 19:58:08 +00:00
|
|
|
seed.setName(etAccountName.getText().toString());
|
2017-10-01 01:52:34 +00:00
|
|
|
|
|
|
|
accountSeedViewModel.addSeed(seed);
|
|
|
|
}
|
2017-10-03 02:25:58 +00:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onValidationSucceeded() {
|
|
|
|
//Clear all errors
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onValidationFailed(String error) {
|
|
|
|
//Show errors
|
|
|
|
}
|
2017-10-01 01:52:34 +00:00
|
|
|
}
|