@Override
 protected void doneDownload() {
   end = System.currentTimeMillis();
   Log.i(TAG, "Done download, it tooks " + (end - start));
   if (walletObservable.getState() != WalletObservable.State.DOWNLOADED
       && walletObservable.getState() != WalletObservable.State.SYNCED) {
     Log.i(TAG, "Setting to DOWNLOADED");
     walletObservable.setState(WalletObservable.State.DOWNLOADED);
     walletObservable.notifyObservers();
   }
 }
  @Override
  public void onBlocksDownloaded(
      Peer peer, Block block, FilteredBlock filteredBlock, int blocksLeft) {
    super.onBlocksDownloaded(peer, block, filteredBlock, blocksLeft);
    // Log.i(TAG, "onBlocksDownloaded");

    size += block.getMessageSize();

    double pct = 100.0 - (100.0 * (blocksLeft / (double) originalBlocksLeft));
    if ((int) pct != lastPercent) {
      lastPercent = (int) pct;
      walletObservable.setPercSync(lastPercent);
      walletObservable.notifyObservers();
    }
  }