This commit is contained in:
dtvv 2018-10-25 09:55:19 -05:00
commit 9a1dc0548d
7 changed files with 84 additions and 70 deletions

View file

@ -25,7 +25,7 @@ import butterknife.ButterKnife;
import butterknife.OnTextChanged; import butterknife.OnTextChanged;
import cy.agorise.crystalwallet.R; import cy.agorise.crystalwallet.R;
import cy.agorise.crystalwallet.application.CrystalSecurityMonitor; import cy.agorise.crystalwallet.application.CrystalSecurityMonitor;
import cy.agorise.crystalwallet.interfaces.OnResponse; //import cy.agorise.crystalwallet.interfaces.OnResponse;
import cy.agorise.crystalwallet.models.GeneralSetting; import cy.agorise.crystalwallet.models.GeneralSetting;
import cy.agorise.crystalwallet.util.PasswordManager; import cy.agorise.crystalwallet.util.PasswordManager;
import cy.agorise.crystalwallet.viewmodels.GeneralSettingListViewModel; import cy.agorise.crystalwallet.viewmodels.GeneralSettingListViewModel;
@ -43,7 +43,7 @@ public class PatternRequestActivity extends AppCompatActivity {
/* /*
* External listener for success or fail * External listener for success or fail
* */ * */
private static OnResponse onResponse; //private static OnResponse onResponse;
/* /*
* Contains the bad tries * Contains the bad tries
@ -109,23 +109,23 @@ public class PatternRequestActivity extends AppCompatActivity {
//CrystalSecurityMonitor.getInstance(null).call2ndFactor(thisActivity); //CrystalSecurityMonitor.getInstance(null).call2ndFactor(thisActivity);
thisActivity.finish(); thisActivity.finish();
if(onResponse != null){ /*if(onResponse != null){
onResponse.onSuccess(); onResponse.onSuccess();
} }*/
} else { } else {
thisActivity.finish(); thisActivity.finish();
if(onResponse != null){ /*if(onResponse != null){
onResponse.onSuccess(); onResponse.onSuccess();
} }*/
} }
} else { } else {
incorrect(); incorrect();
if(onResponse != null){ /*if(onResponse != null){
onResponse.onFailed(); onResponse.onFailed();
} }*/
} }
} }
@ -143,9 +143,9 @@ public class PatternRequestActivity extends AppCompatActivity {
}); });
} }
public static void setOnResponse(OnResponse onResponse) { /*public static void setOnResponse(OnResponse onResponse) {
PatternRequestActivity.onResponse = onResponse; PatternRequestActivity.onResponse = onResponse;
} }*/
private void incorrect(){ private void incorrect(){

View file

@ -31,7 +31,7 @@ import cy.agorise.crystalwallet.dialogs.material.DialogMaterial;
import cy.agorise.crystalwallet.dialogs.material.NegativeResponse; import cy.agorise.crystalwallet.dialogs.material.NegativeResponse;
import cy.agorise.crystalwallet.dialogs.material.PositiveResponse; import cy.agorise.crystalwallet.dialogs.material.PositiveResponse;
import cy.agorise.crystalwallet.dialogs.material.QuestionDialog; import cy.agorise.crystalwallet.dialogs.material.QuestionDialog;
import cy.agorise.crystalwallet.interfaces.OnResponse; //import cy.agorise.crystalwallet.interfaces.OnResponse;
import cy.agorise.crystalwallet.models.AccountSeed; import cy.agorise.crystalwallet.models.AccountSeed;
import cy.agorise.crystalwallet.models.GeneralSetting; import cy.agorise.crystalwallet.models.GeneralSetting;
import cy.agorise.crystalwallet.util.PasswordManager; import cy.agorise.crystalwallet.util.PasswordManager;
@ -59,7 +59,7 @@ public class PinRequestActivity extends AppCompatActivity {
/* /*
* External listener for success or fail * External listener for success or fail
* */ * */
private static OnResponse onResponse; //private static OnResponse onResponse;
@ -113,16 +113,16 @@ public class PinRequestActivity extends AppCompatActivity {
if (CrystalSecurityMonitor.getInstance(null).is2ndFactorSet()) { if (CrystalSecurityMonitor.getInstance(null).is2ndFactorSet()) {
CrystalSecurityMonitor.getInstance(null).call2ndFactor(this); CrystalSecurityMonitor.getInstance(null).call2ndFactor(this);
if(onResponse != null){ /*if(onResponse != null){
onResponse.onSuccess(); onResponse.onSuccess();
} }*/
} else { } else {
this.finish(); this.finish();
if(onResponse != null){ /*if(onResponse != null){
onResponse.onFailed(); onResponse.onFailed();
} }*/
} }
} }
else{ else{
@ -221,9 +221,9 @@ public class PinRequestActivity extends AppCompatActivity {
} }
public static void setOnResponse(OnResponse onResponse) { /*public static void setOnResponse(OnResponse onResponse) {
PinRequestActivity.onResponse = onResponse; PinRequestActivity.onResponse = onResponse;
} }*/
@OnTextChanged(value = R.id.etPassword, @OnTextChanged(value = R.id.etPassword,

View file

@ -124,13 +124,25 @@ public abstract class GrapheneApiGenerator {
new WitnessResponseListener() { new WitnessResponseListener() {
@Override @Override
public void onSuccess(WitnessResponse response) { public void onSuccess(WitnessResponse response) {
final List<List<UserAccount>> resp = (List<List<UserAccount>>) response.result; try {
if(resp.size() > 0){ final List<List<UserAccount>> resp = (List<List<UserAccount>>) response.result;
List<UserAccount> accounts = resp.get(0); if (resp.size() > 0) {
if(accounts.size() > 0){ List<UserAccount> accounts = resp.get(0);
for(UserAccount account : accounts) { if (accounts.size() > 0) {
request.getListener().success(account,request.getId());}}} for (UserAccount account : accounts) {
request.getListener().fail(request.getId()); request.getListener().success(account, request.getId());
break;
}
}else{
request.getListener().fail(request.getId());
}
} else {
request.getListener().fail(request.getId());
}
}catch(Exception e){
e.printStackTrace();
request.getListener().fail(request.getId());
}
} }
@Override @Override

View file

@ -17,7 +17,7 @@ import cy.agorise.crystalwallet.activities.PatternRequestActivity;
import cy.agorise.crystalwallet.activities.PinRequestActivity; import cy.agorise.crystalwallet.activities.PinRequestActivity;
import cy.agorise.crystalwallet.activities.PocketRequestActivity; import cy.agorise.crystalwallet.activities.PocketRequestActivity;
import cy.agorise.crystalwallet.fragments.PatternSecurityFragment; import cy.agorise.crystalwallet.fragments.PatternSecurityFragment;
import cy.agorise.crystalwallet.interfaces.OnResponse; //import cy.agorise.crystalwallet.interfaces.OnResponse;
import cy.agorise.crystalwallet.models.GeneralSetting; import cy.agorise.crystalwallet.models.GeneralSetting;
import cy.agorise.crystalwallet.notifiers.CrystalWalletNotifier; import cy.agorise.crystalwallet.notifiers.CrystalWalletNotifier;
import cy.agorise.crystalwallet.viewmodels.GeneralSettingListViewModel; import cy.agorise.crystalwallet.viewmodels.GeneralSettingListViewModel;
@ -131,7 +131,7 @@ public class CrystalSecurityMonitor implements Application.ActivityLifecycleCall
public void onActivityStarted(Activity activity) { public void onActivityStarted(Activity activity) {
if (numStarted == 0) { if (numStarted == 0) {
if (!actualSecurity().equals("")){ if (!actualSecurity().equals("")){
callPasswordRequest(activity,null); callPasswordRequest(activity);
} }
} }
numStarted++; numStarted++;
@ -142,39 +142,39 @@ public class CrystalSecurityMonitor implements Application.ActivityLifecycleCall
numStarted--; numStarted--;
if (numStarted == 0) { if (numStarted == 0) {
if (!actualSecurity().equals("")){ if (!actualSecurity().equals("")){
callPasswordRequest(activity,null); callPasswordRequest(activity);
} }
} }
} }
public void callPasswordRequest(Activity activity, final OnResponse onResponsePattern){ public void callPasswordRequest(Activity activity){
if ((!activity.getIntent().hasExtra("ACTIVITY_TYPE")) || (!activity.getIntent().getStringExtra("ACTIVITY_TYPE").equals("PASSWORD_REQUEST"))) { if ((!activity.getIntent().hasExtra("ACTIVITY_TYPE")) || (!activity.getIntent().getStringExtra("ACTIVITY_TYPE").equals("PASSWORD_REQUEST"))) {
Intent intent = null; Intent intent = null;
if ((this.passwordEncrypted != null) && (!this.passwordEncrypted.equals(""))) { if ((this.passwordEncrypted != null) && (!this.passwordEncrypted.equals(""))) {
intent = new Intent(activity, PinRequestActivity.class); intent = new Intent(activity, PinRequestActivity.class);
PinRequestActivity.setOnResponse(null); //PinRequestActivity.setOnResponse(null);
/* /*
* Connect error and success listeners * Connect error and success listeners
* */ * */
if(onResponsePattern != null){ /*if(onResponsePattern != null){
PinRequestActivity.setOnResponse(onResponsePattern); PinRequestActivity.setOnResponse(onResponsePattern);
} }*/
} else if ((this.patternEncrypted != null) && (!this.patternEncrypted.equals(""))) { } else if ((this.patternEncrypted != null) && (!this.patternEncrypted.equals(""))) {
intent = new Intent(activity, PatternRequestActivity.class); intent = new Intent(activity, PatternRequestActivity.class);
PatternRequestActivity.setOnResponse(null); //PatternRequestActivity.setOnResponse(null);
/* /*
* Connect error and success listeners * Connect error and success listeners
* */ * */
if(onResponsePattern != null){ /*if(onResponsePattern != null){
PatternRequestActivity.setOnResponse(onResponsePattern); PatternRequestActivity.setOnResponse(onResponsePattern);
} }*/
} }
if (intent != null) { if (intent != null) {
intent.putExtra("ACTIVITY_TYPE", "PASSWORD_REQUEST"); intent.putExtra("ACTIVITY_TYPE", "PASSWORD_REQUEST");

View file

@ -30,7 +30,7 @@ import butterknife.OnTextChanged;
import cy.agorise.crystalwallet.R; import cy.agorise.crystalwallet.R;
import cy.agorise.crystalwallet.application.CrystalSecurityMonitor; import cy.agorise.crystalwallet.application.CrystalSecurityMonitor;
import cy.agorise.crystalwallet.dialogs.material.CrystalDialog; import cy.agorise.crystalwallet.dialogs.material.CrystalDialog;
import cy.agorise.crystalwallet.interfaces.OnResponse; //import cy.agorise.crystalwallet.interfaces.OnResponse;
import cy.agorise.crystalwallet.models.GeneralSetting; import cy.agorise.crystalwallet.models.GeneralSetting;
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests; import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests;
import cy.agorise.crystalwallet.util.ChildViewPager; import cy.agorise.crystalwallet.util.ChildViewPager;

View file

@ -61,7 +61,7 @@ import cy.agorise.crystalwallet.R;
import cy.agorise.crystalwallet.application.CrystalSecurityMonitor; import cy.agorise.crystalwallet.application.CrystalSecurityMonitor;
import cy.agorise.crystalwallet.dialogs.material.CrystalDialog; import cy.agorise.crystalwallet.dialogs.material.CrystalDialog;
import cy.agorise.crystalwallet.dialogs.material.ToastIt; import cy.agorise.crystalwallet.dialogs.material.ToastIt;
import cy.agorise.crystalwallet.interfaces.OnResponse; //import cy.agorise.crystalwallet.interfaces.OnResponse;
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequestListener; import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequestListener;
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests; import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequests;
import cy.agorise.crystalwallet.requestmanagers.ValidateBitsharesSendRequest; import cy.agorise.crystalwallet.requestmanagers.ValidateBitsharesSendRequest;
@ -623,14 +623,14 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat
/* /*
* If exists mode scurity show it and valide events in case of success or fail * If exists mode scurity show it and valide events in case of success or fail
* */ * */
CrystalSecurityMonitor.getInstance(null).callPasswordRequest(this.getActivity(), new OnResponse() { /*CrystalSecurityMonitor.getInstance(null).callPasswordRequest(this.getActivity(), new OnResponse() {
@Override @Override
public void onSuccess() { public void onSuccess() {
/* /*
* Show loading dialog * Show loading dialog
* */ * */
crystalDialog = new CrystalDialog((Activity) getContext()); /* crystalDialog = new CrystalDialog((Activity) getContext());
crystalDialog.setText("Sending"); crystalDialog.setText("Sending");
crystalDialog.progress(); crystalDialog.progress();
crystalDialog.show(); crystalDialog.show();
@ -642,7 +642,7 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat
public void onFailed() { public void onFailed() {
} }
}); });*/
} }
} }

View file

@ -276,44 +276,46 @@ public class BitsharesAccountManager implements CryptoAccountManager, CryptoNetI
@Override @Override
public void fail(int idPetition) { public void fail(int idPetition) {
//importRequest.setStatus(ImportBitsharesAccountRequest.StatusCode.PETITION_FAILED); BIP39 bip39 = new BIP39(-1, importRequest.getMnemonic());
} ApiRequest getAccountNamesBP39 = new ApiRequest(0, new ApiRequestListener() {
}); @Override
public void success(Object answer, int idPetition) {
if(answer != null && importRequest.getStatus().equals(ImportBitsharesAccountRequest.StatusCode.NOT_STARTED)) {
UserAccount userAccount = (UserAccount) answer;
importRequest.setSeedType(SeedType.BIP39);
importRequest.setStatus(ImportBitsharesAccountRequest.StatusCode.SUCCEEDED);
ApiRequest getAccountNamesBP39 = new ApiRequest(0, new ApiRequestListener() { AccountSeed seed = new AccountSeed();
@Override seed.setName(userAccount.getName());
public void success(Object answer, int idPetition) { seed.setType(importRequest.getSeedType());
if(answer != null && importRequest.getStatus().equals(ImportBitsharesAccountRequest.StatusCode.NOT_STARTED)) { seed.setMasterSeed(importRequest.getMnemonic());
UserAccount userAccount = (UserAccount) answer; long idSeed = accountSeedDao.insertAccountSeed(seed);
importRequest.setSeedType(SeedType.BIP39); if (idSeed >= 0) {
importRequest.setStatus(ImportBitsharesAccountRequest.StatusCode.SUCCEEDED); GrapheneAccount account = new GrapheneAccount();
account.setCryptoNet(CryptoNet.BITSHARES);
AccountSeed seed = new AccountSeed(); account.setAccountIndex(0);
seed.setName(userAccount.getName()); account.setSeedId(idSeed);
seed.setType(importRequest.getSeedType()); account.setAccountId(userAccount.getObjectId());
seed.setMasterSeed(importRequest.getMnemonic()); importAccountFromSeed(account, importRequest.getContext());
long idSeed = accountSeedDao.insertAccountSeed(seed); }
if (idSeed >= 0) { }
GrapheneAccount account = new GrapheneAccount();
account.setCryptoNet(CryptoNet.BITSHARES);
account.setAccountIndex(0);
account.setSeedId(idSeed);
account.setAccountId(userAccount.getObjectId());
importAccountFromSeed(account, importRequest.getContext());
} }
}
}
@Override @Override
public void fail(int idPetition) { public void fail(int idPetition) {
//importRequest.setStatus(ImportBitsharesAccountRequest.StatusCode.PETITION_FAILED); importRequest.setStatus(ImportBitsharesAccountRequest.StatusCode.BAD_SEED);
}
});
GrapheneApiGenerator.getAccountByOwnerOrActiveAddress(new Address(ECKey.fromPublicOnly(bip39.getBitsharesActiveKey(0).getPubKey())),getAccountNamesBP39);
} }
}); });
BrainKey bk = new BrainKey(importRequest.getMnemonic(), 0); BrainKey bk = new BrainKey(importRequest.getMnemonic(), 0);
BIP39 bip39 = new BIP39(-1, importRequest.getMnemonic());
GrapheneApiGenerator.getAccountByOwnerOrActiveAddress(bk.getPublicAddress("BTS"),getAccountNamesBK); GrapheneApiGenerator.getAccountByOwnerOrActiveAddress(bk.getPublicAddress("BTS"),getAccountNamesBK);
GrapheneApiGenerator.getAccountByOwnerOrActiveAddress(new Address(ECKey.fromPublicOnly(bip39.getBitsharesActiveKey(0).getPubKey())),getAccountNamesBP39);
} }