public void add(String pubKey, String priKey, boolean online) { String key = pubKey.concat(priKey); if (!pCaches.containsKey(key)) { GregorianCalendar cal = new GregorianCalendar(); cal.setTime(Calendar.getInstance().getTime()); String date = String.format( "%04d-%02d-%02d", cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH)); WalletItem walletItem = new WalletItem(date, priKey, "0.000000", "none"); walletItem.setOnline(online); pCaches.put(key, walletItem); } }
public String load(File file) throws Exception { synchronized (pCaches) { WalletSeed seed = new WalletSeed(LSystem.getAppPassword()); String text = seed.load(file); StringTokenizer tokenizer = new StringTokenizer(text, LSystem.LS); String result = null; BigDecimal count = new BigDecimal("0"); for (; tokenizer.hasMoreElements(); ) { result = tokenizer.nextToken(); if (result != null && result.length() > 0) { String[] split = result.split(","); if (split.length > 4) { String date = split[0]; String pubKey = split[1]; String priKey = split[2]; String amount = split[3]; String status = split[4]; RPAddress address = new RPAddress(pubKey, priKey); pubKey = new String(address.getPublic()); priKey = new String(address.getPrivate()); String key = pubKey.concat(priKey); if (!pCaches.containsKey(key)) { WalletItem walletItem = new WalletItem(date, priKey, amount, status); if (MathUtils.isNan(amount)) { count = count.add(new BigDecimal(amount)); } pCaches.put(key, walletItem); } } } int res = count.intValue(); if (res > 0) { amounts = String.valueOf(res); } } return text; } }