use of run.wallet.iota.api.requests.AuditAddressesRequest in project run-wallet-android by runplay.
the class AppService method auditAddresses.
public static void auditAddresses(Context context, Seeds.Seed seed) {
if (Validator.isValidCaller() && seed != null) {
if (AppService.countSeedRunningTasks(seed) == 0) {
TaskManager rt = new TaskManager(SERVICE);
AuditAddressesRequest gtr = new AuditAddressesRequest(seed);
runTask(rt, gtr);
}
}
}
use of run.wallet.iota.api.requests.AuditAddressesRequest in project run-wallet-android by runplay.
the class AppService method auditAddressesWithDelay.
public static void auditAddressesWithDelay(Context context, Seeds.Seed seed) {
if (Validator.isValidCaller() && seed != null) {
if (AppService.countSeedRunningTasks(seed) == 0) {
TaskManager rt = new TaskManager(SERVICE);
AuditAddressesRequest gtr = new AuditAddressesRequest(seed);
runTask(rt, gtr);
}
}
}
use of run.wallet.iota.api.requests.AuditAddressesRequest in project run-wallet-android by runplay.
the class UiManager method displayInfoBar.
public static void displayInfoBar(Activity context, LinearLayout forView) {
makeElements(context);
forView.setBackgroundColor(B.getColor(context, AppTheme.getPrimaryDark()));
try {
List<ApiRequest> attaching = AppService.getRunningTasks();
List<LinearLayout> processing = new ArrayList<>();
if (!attaching.isEmpty()) {
Seeds.Seed currentSeed = Store.getCurrentSeed();
for (ApiRequest req : attaching) {
if (req instanceof SendTransferRequest) {
SendTransferRequest str = (SendTransferRequest) req;
if (str.getSeed().id.equals(currentSeed.id)) {
if (str.getValue() == 0) {
processing.add(createProcessRunningPod(context, R.drawable.tran_white, context.getString(R.string.info_new_attach), 0));
} else {
processing.add(createProcessRunningPod(context, R.drawable.send_white, context.getString(R.string.info_transfer), str.getValue()));
}
}
} else if (req instanceof GetAccountDataRequest) {
GetAccountDataRequest request = (GetAccountDataRequest) req;
if (request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.refresh_white, context.getString(R.string.info_refresh), 0));
}
} else if (req instanceof GetNewAddressRequest) {
GetNewAddressRequest request = (GetNewAddressRequest) req;
if (request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.tran_white, context.getString(R.string.info_new_address), 0));
}
} else if (req instanceof GetFirstLoadRequest) {
GetFirstLoadRequest request = (GetFirstLoadRequest) req;
if (request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.refresh_white, context.getString(R.string.info_first_load), 0));
}
} else if (req instanceof AuditAddressesRequest) {
AuditAddressesRequest request = (AuditAddressesRequest) req;
if (request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.refresh_white, context.getString(R.string.info_audit), 0));
}
} else if (req instanceof ReplayBundleRequest) {
ReplayBundleRequest request = (ReplayBundleRequest) req;
if (request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.send_white, context.getString(R.string.info_resend), 0));
}
} else if (req instanceof NudgeRequest) {
NudgeRequest request = (NudgeRequest) req;
if (request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.send_white, context.getString(R.string.info_nudge), 0));
}
} else if (req instanceof AutoNudgeRequest) {
// if(request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.send_white, context.getString(R.string.auto), 0));
// }
} else if (req instanceof RefreshUsedAddressesRequest) {
// if(request.getSeed().id.equals(currentSeed.id)) {
processing.add(createProcessRunningPod(context, R.drawable.send_white, context.getString(R.string.info_audit), 0));
// }
}
}
}
forView.removeAllViews();
if (!processing.isEmpty()) {
for (LinearLayout addview : processing) {
forView.addView(addview);
}
forView.canScrollHorizontally(View.LAYOUT_DIRECTION_LTR);
if (forView.getVisibility() != View.VISIBLE) {
forView.setVisibility(View.VISIBLE);
AnimationUtils.loadAnimation(context, R.anim.slide_in_from_bottom);
}
} else if (Store.getUsedAddressCheckResult() != null) {
Snackbar.make(forView, Store.getUsedAddressCheckResult(), Snackbar.LENGTH_LONG).show();
Store.setUsedAddressCheckResult(null);
} else if (Store.getCurrentSeed().warnUsed) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean showused = prefs.getBoolean(Constants.PREFERENCES_SHOW_USED, true);
TextView messy = new TextView(context);
if (showused) {
messy.setText(context.getString(R.string.usedAddressWarn));
} else {
messy.setText(context.getString(R.string.usedAddressSettings));
}
messy.setTextColor(Color.WHITE);
messy.setPadding(30, 30, 30, 30);
messy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent settings = new Intent(context, SettingsActivity.class);
context.startActivityForResult(settings, 0);
}
});
forView.addView(messy);
forView.canScrollHorizontally(View.LAYOUT_DIRECTION_LTR);
if (forView.getVisibility() != View.VISIBLE) {
AnimationUtils.loadAnimation(context, R.anim.slide_in_from_bottom);
}
} else {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
if (prefs.getBoolean(Constants.PREFERENCES_SHOW_CANCELLED, true) && !prefs.getBoolean(Constants.PREFERENCES_SHOW_ATTACH, true) && Store.getTransfers().size() > 15) {
int count = prefs.getInt(Constants.PREF_MSG_MESSY, 0);
if (count < 2) {
TextView messy = new TextView(context);
messy.setText(context.getString(R.string.message_messy_view));
messy.setTextColor(Color.WHITE);
messy.setPadding(30, 30, 30, 30);
// messy.setText
messy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent settings = new Intent(context, SettingsActivity.class);
context.startActivityForResult(settings, 0);
}
});
forView.addView(messy);
forView.canScrollHorizontally(View.LAYOUT_DIRECTION_LTR);
if (forView.getVisibility() != View.VISIBLE) {
AnimationUtils.loadAnimation(context, R.anim.slide_in_from_bottom);
}
prefs.edit().putInt(Constants.PREF_MSG_MESSY, ++count).commit();
}
} else {
AnimationUtils.loadAnimation(context, R.anim.slide_out_to_bottom);
}
}
} catch (Exception e) {
}
}
use of run.wallet.iota.api.requests.AuditAddressesRequest in project run-wallet-android by runplay.
the class AuditAddressesRequestHandler method handle.
@Override
public ApiResponse handle(ApiRequest inrequest) {
AuditAddressesRequest request = (AuditAddressesRequest) inrequest;
// check less than 2, 1..iteself, and no others
if (AppService.countSeedRunningTasks(request.getSeed()) < 2) {
List<Address> addresses = Store.getAddresses(context, request.getSeed());
List<Address> getaddresses = new ArrayList<>();
if (!addresses.isEmpty()) {
for (Address address : addresses) {
if (!address.isAttached()) {
getaddresses.add(address);
}
}
}
if (!getaddresses.isEmpty()) {
GetNodeInfoResponse info = apiProxy.getNodeInfo();
if (info != null && info.getLatestMilestoneIndex() == info.getLatestSolidSubtangleMilestoneIndex()) {
// List<String> addstr = new ArrayList<>();
int count = 0;
for (Address add : getaddresses) {
FindTransactionResponse tr1 = null;
try {
tr1 = apiProxy.findTransactionsByAddresses(add.getAddress());
} catch (Exception e) {
}
if (tr1 != null) {
if (tr1.getHashes().length == 0) {
AppService.attachNewAddress(context, request.getSeed(), add.getAddress());
} else {
add.setAttached(true);
Store.updateAddress(context, request.getSeed(), add);
AppService.refreshEvent();
}
// addstr.add(add.getAddress());
}
if (++count > 1 || tr1 == null)
;
break;
}
}
} else {
int countemptyattached = 0;
for (Address address : addresses) {
if (address.isAttached() && address.getValue() == 0 && !address.isUsed() && !address.isPig()) {
countemptyattached++;
}
}
Store.loadDefaults(context);
int countmin = Store.getAutoAttach();
if (countemptyattached < countmin) {
// Log.e("AUDIT","Gen new address");
try {
GetNewAddressRequest gnr = new GetNewAddressRequest(request.getSeed());
gnr.setIndex(addresses.size());
final GetNewAddressResponse gna = apiProxy.getNewAddress(String.valueOf(Store.getSeedRaw(context, request.getSeed())), gnr.getSecurity(), addresses.size(), gnr.isChecksum(), 1, gnr.isReturnAll());
run.wallet.iota.api.responses.GetNewAddressResponse gnar = new run.wallet.iota.api.responses.GetNewAddressResponse(request.getSeed(), gna);
Store.addAddress(context, gnr, gnar);
AppService.auditAddressesWithDelay(context, request.getSeed());
} catch (Exception e) {
}
} else {
// Log.e("AUDIT","no address need creating");
}
}
} else {
// Log.e("AUDIT","Called but skipped.. hopefully good");
}
return new ApiResponse();
}
Aggregations