Program: 78180
Project: 78180
Buggy source:
public void setupPages(){
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.aboutview)){
    @Override public void onEnable(){
    }
  }
);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.balanceview)){
    @Override public void onEnable(){
    }
  }
);
  final FancyButton b=findViewById(R.id.minerToggle);
  final EditText editPool=findViewById(R.id.pool);
  final EditText editHashers=findViewById(R.id.hashers);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.minerview)){
    @Override public void onEnable(){
      boolean minerActive=true;
      if (minerThread == null || !minerThread.isAlive())       minerActive=false;
      b.setText(minerActive ? "String_Node_Str" : "String_Node_Str");
      editPool.setEnabled(!minerActive);
      editPool.setText("String_Node_Str");
      System.gc();
      int max=Runtime.getRuntime().availableProcessors();
      ActivityManager activityManager=(ActivityManager)HomeView.instance.getSystemService(ACTIVITY_SERVICE);
      ActivityManager.MemoryInfo memoryInfo=new ActivityManager.MemoryInfo();
      activityManager.getMemoryInfo(memoryInfo);
      double availPercent=(((double)(memoryInfo.availMem / 0x100000L)) * 1.4 / (double)((memoryInfo.totalMem / 0x100000L)));
      int MAXramThreads=(int)((memoryInfo.totalMem / 0x100000L) / 512);
      System.out.println(MAXramThreads + "String_Node_Str" + availPercent);
      if (MAXramThreads <= max) {
        max=(int)(MAXramThreads * availPercent);
      }
      editHashers.setEnabled(!minerActive);
      editHashers.setText(max + "String_Node_Str");
    }
  }
);
  b.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      boolean minerActive=true;
      if (minerThread == null || !minerThread.isAlive())       minerActive=false;
      b.setText(!minerActive ? "String_Node_Str" : "String_Node_Str");
      editPool.setEnabled(minerActive);
      editHashers.setEnabled(minerActive);
      if (!minerActive) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        minerThread=new Thread(new Runnable(){
          @Override public void run(){
            miner=Miner.main(new Miner.callbackMiner(){
              long bestRECORDEDdelay=Long.MAX_VALUE;
              @Override public void onHashRate(              final String hash,              final long dur){
                Handler h=new Handler(HomeView.this.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    try {
                      DecimalFormat df=new DecimalFormat("String_Node_Str");
                      double d=Double.parseDouble(hash.replace("String_Node_Str","String_Node_Str"));
                      String s=df.format(d);
                      if (s.startsWith("String_Node_Str"))                       s="String_Node_Str" + s;
                      if (s.startsWith("String_Node_Str"))                       s="String_Node_Str" + s;
                      if (dur < bestRECORDEDdelay)                       bestRECORDEDdelay=dur;
                      Miner.finalDuration=bestRECORDEDdelay;
                      ((TextView)findViewById(R.id.hashRate)).setText(s + "String_Node_Str" + bestRECORDEDdelay);
                      ((TextView)findViewById(R.id.limitVIEW)).setText(Miner.limitDuration + "String_Node_Str");
                      GraphView graph=findViewById(R.id.graph);
                      if (graph.getSeries().size() <= 0) {
                        LineGraphSeries<DataPoint> series=new LineGraphSeries<>(new DataPoint[]{new DataPoint(0,0)});
                        graph.addSeries(series);
                      }
 else {
                        LineGraphSeries<DataPoint> series1=(LineGraphSeries<DataPoint>)graph.getSeries().get(0);
                        series1.setAnimated(false);
                        series1.setThickness(3);
                        series1.setColor(ContextCompat.getColor(instance,R.color.colorAccent));
                        graph.getSeries().clear();
                        series1.appendData(new DataPoint(series1.getHighestValueX() + 1,d),false,Integer.MAX_VALUE,false);
                        graph.getViewport().setMinX(series1.getLowestValueX());
                        graph.getViewport().setMaxX(series1.getHighestValueX() + 2);
                        graph.getViewport().setMinY(series1.getLowestValueY());
                        graph.getViewport().setMaxY(series1.getHighestValueY() + 2);
                        graph.getViewport().setYAxisBoundsManual(true);
                        graph.getViewport().setXAxisBoundsManual(true);
                        graph.addSeries(series1);
                      }
                    }
 catch (                    Exception e) {
                    }
                  }
                }
);
              }
              @Override public void onDLChange(              final String hash,              final long bestDelay){
                Handler h=new Handler(HomeView.this.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    DecimalFormat df=new DecimalFormat("String_Node_Str");
                    double d=Double.parseDouble(hash.replace("String_Node_Str","String_Node_Str"));
                    String s=df.format(d);
                    if (s.startsWith("String_Node_Str"))                     s="String_Node_Str" + s;
                    if (s.startsWith("String_Node_Str"))                     s="String_Node_Str" + s;
                    if (bestDelay < bestRECORDEDdelay)                     bestRECORDEDdelay=bestDelay;
                    Miner.finalDuration=bestRECORDEDdelay;
                    ((TextView)findViewById(R.id.hashRate)).setText(s + "String_Node_Str" + bestRECORDEDdelay);
                  }
                }
);
              }
              @Override public void onShare(              final String hash){
                Handler h=new Handler(HomeView.this.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    System.out.println("String_Node_Str" + hash);
                    String foundShare=hash.contains("String_Node_Str") ? "String_Node_Str" : "String_Node_Str";
                    NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText(foundShare).setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                    NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                      NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                      mNotificationManager.createNotificationChannel(channel);
                    }
                    mNotificationManager.notify(1047 + new Random().nextInt(1000),mBuilder.build());
                    TextView t=findViewById(R.id.shares);
                    String text=t.getText().toString();
                    int parsed=0;
                    try {
                      parsed=Integer.parseInt(text);
                    }
 catch (                    Exception e) {
                    }
                    t.setText((parsed + 1) + "String_Node_Str");
                  }
                }
);
              }
              @Override public void onReject(              String hash){
                System.out.println("String_Node_Str" + hash);
                String foundShare=hash.contains("String_Node_Str") ? "String_Node_Str" : "String_Node_Str";
                NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText(foundShare).setStyle(new NotificationCompat.InboxStyle().addLine(foundShare).addLine(hash)).setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                  NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                  mNotificationManager.createNotificationChannel(channel);
                }
                mNotificationManager.notify(1357 + new Random().nextInt(200),mBuilder.build());
              }
              @Override public void onAccept(              String hash){
                NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText("String_Node_Str").setStyle(new NotificationCompat.InboxStyle().addLine("String_Node_Str").addLine(hash)).setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                  NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                  mNotificationManager.createNotificationChannel(channel);
                }
                mNotificationManager.notify(1357 + new Random().nextInt(100),mBuilder.build());
              }
              @Override public void onFind(              String hash){
                System.out.println("String_Node_Str" + hash);
                NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText("String_Node_Str").setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                  NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                  mNotificationManager.createNotificationChannel(channel);
                }
                mNotificationManager.notify(1357 + new Random().nextInt(200),mBuilder.build());
              }
              @Override public void onDurChange(              final String dur){
                final TextView t=findViewById(R.id.currentDur);
                runOnUiThread(new Runnable(){
                  @Override public void run(){
                    t.setText(dur);
                    try {
                      long l=Long.parseLong(dur);
                      if (Miner.finalDuration >= l)                       Miner.finalDuration=l;
                    }
 catch (                    Exception e) {
                    }
                  }
                }
);
              }
              @Override public void onStop(){
                b.setText("String_Node_Str");
                try {
                  miner.stop();
                  Method m=Thread.class.getDeclaredMethod("String_Node_Str",Object.class);
                  m.setAccessible(true);
                  m.invoke(minerThread,new ThreadDeath());
                  minerThread.interrupt();
                }
 catch (                Exception e) {
                  minerThread.interrupt();
                }
              }
            }
,editPool.getText().toString(),editHashers.getText().toString());
          }
        }
);
        minerThread.start();
      }
 else {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        try {
          Method m=Thread.class.getDeclaredMethod("String_Node_Str",Object.class);
          m.setAccessible(true);
          m.invoke(minerThread,new ThreadDeath());
          minerThread.interrupt();
        }
 catch (        Exception e) {
          minerThread.interrupt();
        }
      }
    }
  }
);
  final TextView addressinfo=findViewById(R.id.address);
  addressinfo.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      ClipboardManager clipboard=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
      ClipData clip=ClipData.newPlainText("String_Node_Str",addressinfo.getText().toString());
      clipboard.setPrimaryClip(clip);
      Toast.makeText(instance,"String_Node_Str",Toast.LENGTH_SHORT).show();
    }
  }
);
  final RelativeLayout donations=findViewById(R.id.donations);
  donations.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      ClipboardManager clipboard=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
      ClipData clip=ClipData.newPlainText("String_Node_Str","String_Node_Str");
      clipboard.setPrimaryClip(clip);
      Toast.makeText(instance,"String_Node_Str",Toast.LENGTH_SHORT).show();
    }
  }
);
  final ImageView qrimagerequest=findViewById(R.id.qrimage);
  qrimagerequest.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str").inputType(InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_CLASS_NUMBER).input("String_Node_Str","String_Node_Str",new MaterialDialog.InputCallback(){
        @Override public void onInput(        MaterialDialog dialog,        CharSequence input){
        }
      }
).positiveText("String_Node_Str").negativeText("String_Node_Str").onPositive(new MaterialDialog.SingleButtonCallback(){
        @Override public void onClick(        @NonNull MaterialDialog dialog,        @NonNull DialogAction which){
          Double amount=Double.parseDouble(dialog.getInputEditText().getText().toString());
          ImageView qrimage=findViewById(R.id.qrreuqestimage);
          Bitmap myBitmap=QRCode.from("String_Node_Str" + "String_Node_Str" + address + "String_Node_Str"+ doubleVal(amount).replace("String_Node_Str","String_Node_Str")+ "String_Node_Str").withSize(600,600).withColor(Color.BLACK,Color.parseColor("String_Node_Str")).bitmap();
          qrimage.setImageBitmap(myBitmap);
          findViewById(R.id.qrrequestview).setVisibility(View.VISIBLE);
        }
      }
).show();
    }
  }
);
  final ImageView qrrequestclose=findViewById(R.id.closeqrrequest);
  qrrequestclose.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      findViewById(R.id.qrrequestview).setVisibility(GONE);
    }
  }
);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.send)){
    @Override public void onEnable(){
    }
  }
);
  final EditText amountedit=findViewById(R.id.amountto);
  final TextView fee=findViewById(R.id.fee);
  amountedit.addTextChangedListener(new TextWatcher(){
    @Override public void beforeTextChanged(    CharSequence charSequence,    int i,    int i1,    int i2){
    }
    @Override public void onTextChanged(    CharSequence charSequence,    int i,    int i1,    int i2){
    }
    @Override public void afterTextChanged(    Editable editable){
      try {
        String t=editable.toString();
        float d=Float.parseFloat(t + "String_Node_Str");
        double a=d * 0.0025;
        if (a > 10)         a=10.0;
        fee.setText("String_Node_Str" + doubleVal(a).replace("String_Node_Str","String_Node_Str") + "String_Node_Str");
      }
 catch (      Exception e) {
        fee.setText("String_Node_Str");
      }
    }
  }
);
  Button b1=findViewById(R.id.sendbutton);
  b1.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      try {
        final Double amount=Double.parseDouble(amountedit.getText().toString());
        final String address=((EditText)findViewById(R.id.addressto)).getText().toString();
        final String message=((EditText)findViewById(R.id.messageedit)).getText().toString();
        DecimalFormat format=new DecimalFormat("String_Node_Str");
        String vals=format.format(amount);
        if (!vals.contains("String_Node_Str"))         vals+="String_Node_Str";
        while (vals.split("String_Node_Str")[1].length() < 8)         vals+="String_Node_Str";
        vals=vals.replace("String_Node_Str","String_Node_Str");
        new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str" + doubleVal(amount).replace("String_Node_Str","String_Node_Str") + "String_Node_Str"+ "String_Node_Str"+ address).cancelable(false).positiveText("String_Node_Str").negativeText("String_Node_Str").autoDismiss(false).onPositive(new MaterialDialog.SingleButtonCallback(){
          @Override public void onClick(          @NonNull MaterialDialog dialog,          @NonNull DialogAction which){
            dialog.dismiss();
            final MaterialDialog d=new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").progress(true,100).progressIndeterminateStyle(true).cancelable(false).show();
            makeTransaction(address,amount.doubleValue(),message,new Runnable(){
              @Override public void run(){
                d.dismiss();
              }
            }
);
          }
        }
).show();
      }
 catch (      Exception e) {
      }
    }
  }
);
  qrCodeReaderView=findViewById(R.id.receivescanner);
  final QRCodeReaderView.OnQRCodeReadListener listener=createQRlistener();
  qrCodeReaderView.setQRDecodingEnabled(false);
  qrCodeReaderView.setOnQRCodeReadListener(listener);
  qrCodeReaderView.setAutofocusInterval(1000L);
  qrCodeReaderView.setBackCamera();
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.receiveview)){
    @Override public void onEnable(){
      qrCodeReaderView=findViewById(R.id.receivescanner);
      qrCodeReaderView.setQRDecodingEnabled(true);
      qrCodeReaderView.startCamera();
      qrCodeReaderView.setQRDecodingEnabled(true);
      qrCodeReaderView.startCamera();
      qrCodeReaderView.bringToFront();
      qrCodeReaderView.setOnQRCodeReadListener(createQRlistener());
      qrCodeReaderView.setAutofocusInterval(1000L);
      qrCodeReaderView.setBackCamera();
      qrCodeReaderView.setQRDecodingEnabled(true);
    }
    @Override public void onDisable(){
      qrCodeReaderView.stopCamera();
      qrCodeReaderView.setQRDecodingEnabled(false);
    }
  }
);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.historyview)){
    @Override public void onEnable(){
      try {
        String transactions=getString("String_Node_Str");
        final JSONObject p=new JSONObject(transactions);
        sortArrayAndPutInList(p.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
      }
 catch (      Exception e) {
      }
      checkIfLastTransactionIsSame(new LastTransactionTimer(){
        @Override public void onSame(        String id){
          try {
            String transactions=getString("String_Node_Str");
            if (transactions.isEmpty()) {
              downloadTransactions(new Call(){
                @Override public void onDone(                JSONObject o){
                  try {
                    ListView l=findViewById(R.id.historylisttransactions);
                    sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                    Handler h=new Handler(instance.getMainLooper());
                    h.post(new Runnable(){
                      @Override public void run(){
                        findViewById(R.id.progressBar).setVisibility(GONE);
                      }
                    }
);
                  }
 catch (                  Exception e) {
                    e.printStackTrace();
                  }
                }
              }
);
              return;
            }
            final JSONObject p=new JSONObject(transactions);
            JSONArray a=p.getJSONArray("String_Node_Str");
            if (a.length() < 11) {
              downloadTransactions(new Call(){
                @Override public void onDone(                final JSONObject o){
                  try {
                    sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                    Handler h=new Handler(instance.getMainLooper());
                    h.post(new Runnable(){
                      @Override public void run(){
                        findViewById(R.id.progressBar).setVisibility(GONE);
                      }
                    }
);
                  }
 catch (                  Exception e) {
                    e.printStackTrace();
                  }
                }
              }
);
            }
 else {
              String currentID=getString("String_Node_Str");
              if (currentID != ((JSONObject)a.get(0)).get("String_Node_Str")) {
                downloadTransactions(new Call(){
                  @Override public void onDone(                  final JSONObject o){
                    try {
                      sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                      Handler h=new Handler(instance.getMainLooper());
                      h.post(new Runnable(){
                        @Override public void run(){
                          findViewById(R.id.progressBar).setVisibility(GONE);
                        }
                      }
);
                    }
 catch (                    Exception e) {
                      e.printStackTrace();
                    }
                  }
                }
);
              }
 else {
                sortArrayAndPutInList(p.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                Handler h=new Handler(instance.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    findViewById(R.id.progressBar).setVisibility(GONE);
                  }
                }
);
              }
            }
          }
 catch (          Exception e) {
            e.printStackTrace();
          }
        }
        @Override public void onDifferect(        String id){
          downloadTransactions(new Call(){
            @Override public void onDone(            JSONObject o){
              try {
                ListView l=findViewById(R.id.historylisttransactions);
                sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                Handler h=new Handler(instance.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    findViewById(R.id.progressBar).setVisibility(GONE);
                  }
                }
);
              }
 catch (              Exception e) {
                e.printStackTrace();
              }
            }
          }
);
        }
      }
);
    }
  }
);
}

Fixed version (ground truth):
public void setupPages(){
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.aboutview)){
    @Override public void onEnable(){
    }
  }
);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.balanceview)){
    @Override public void onEnable(){
    }
  }
);
  final FancyButton b=findViewById(R.id.minerToggle);
  final EditText editPool=findViewById(R.id.pool);
  final EditText editHashers=findViewById(R.id.hashers);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.minerview)){
    @Override public void onEnable(){
      boolean minerActive=true;
      if (minerThread == null || !minerThread.isAlive())       minerActive=false;
      b.setText(minerActive ? "String_Node_Str" : "String_Node_Str");
      editPool.setEnabled(!minerActive);
      String pool=Miner.node.isEmpty() ? "String_Node_Str" : Miner.node;
      editPool.setText(pool);
      System.gc();
      int max=Runtime.getRuntime().availableProcessors();
      ActivityManager activityManager=(ActivityManager)HomeView.instance.getSystemService(ACTIVITY_SERVICE);
      ActivityManager.MemoryInfo memoryInfo=new ActivityManager.MemoryInfo();
      activityManager.getMemoryInfo(memoryInfo);
      double availPercent=(((double)(memoryInfo.availMem / 0x100000L)) * 1.4 / (double)((memoryInfo.totalMem / 0x100000L)));
      int MAXramThreads=(int)((memoryInfo.totalMem / 0x100000L) / 512);
      System.out.println(MAXramThreads + "String_Node_Str" + availPercent);
      if (MAXramThreads <= max) {
        max=(int)(MAXramThreads * availPercent);
      }
      editHashers.setEnabled(!minerActive);
      editHashers.setText(max + "String_Node_Str");
    }
  }
);
  b.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      boolean minerActive=true;
      if (minerThread == null || !minerThread.isAlive())       minerActive=false;
      b.setText(!minerActive ? "String_Node_Str" : "String_Node_Str");
      editPool.setEnabled(minerActive);
      editHashers.setEnabled(minerActive);
      if (!minerActive) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        minerThread=new Thread(new Runnable(){
          @Override public void run(){
            miner=Miner.main(new Miner.callbackMiner(){
              long bestRECORDEDdelay=Long.MAX_VALUE;
              @Override public void onHashRate(              final String hash,              final long dur){
                Handler h=new Handler(HomeView.this.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    try {
                      DecimalFormat df=new DecimalFormat("String_Node_Str");
                      double d=Double.parseDouble(hash.replace("String_Node_Str","String_Node_Str"));
                      String s=df.format(d);
                      if (s.startsWith("String_Node_Str"))                       s="String_Node_Str" + s;
                      if (s.startsWith("String_Node_Str"))                       s="String_Node_Str" + s;
                      if (dur < bestRECORDEDdelay)                       bestRECORDEDdelay=dur;
                      Miner.finalDuration=bestRECORDEDdelay;
                      ((TextView)findViewById(R.id.hashRate)).setText(s + "String_Node_Str" + bestRECORDEDdelay);
                      ((TextView)findViewById(R.id.limitVIEW)).setText(Miner.limitDuration + "String_Node_Str");
                      GraphView graph=findViewById(R.id.graph);
                      if (graph.getSeries().size() <= 0) {
                        LineGraphSeries<DataPoint> series=new LineGraphSeries<>(new DataPoint[]{new DataPoint(0,0)});
                        graph.addSeries(series);
                      }
 else {
                        LineGraphSeries<DataPoint> series1=(LineGraphSeries<DataPoint>)graph.getSeries().get(0);
                        series1.setAnimated(false);
                        series1.setThickness(3);
                        series1.setColor(ContextCompat.getColor(instance,R.color.colorAccent));
                        graph.getSeries().clear();
                        series1.appendData(new DataPoint(series1.getHighestValueX() + 1,d),false,Integer.MAX_VALUE,false);
                        graph.getViewport().setMinX(series1.getLowestValueX());
                        graph.getViewport().setMaxX(series1.getHighestValueX() + 2);
                        graph.getViewport().setMinY(series1.getLowestValueY());
                        graph.getViewport().setMaxY(series1.getHighestValueY() + 2);
                        graph.getViewport().setYAxisBoundsManual(true);
                        graph.getViewport().setXAxisBoundsManual(true);
                        graph.addSeries(series1);
                      }
                    }
 catch (                    Exception e) {
                    }
                  }
                }
);
              }
              @Override public void onDLChange(              final String hash,              final long bestDelay){
                Handler h=new Handler(HomeView.this.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    DecimalFormat df=new DecimalFormat("String_Node_Str");
                    double d=Double.parseDouble(hash.replace("String_Node_Str","String_Node_Str"));
                    String s=df.format(d);
                    if (s.startsWith("String_Node_Str"))                     s="String_Node_Str" + s;
                    if (s.startsWith("String_Node_Str"))                     s="String_Node_Str" + s;
                    if (bestDelay < bestRECORDEDdelay)                     bestRECORDEDdelay=bestDelay;
                    Miner.finalDuration=bestRECORDEDdelay;
                    ((TextView)findViewById(R.id.hashRate)).setText(s + "String_Node_Str" + bestRECORDEDdelay);
                  }
                }
);
              }
              @Override public void onShare(              final String hash){
                Handler h=new Handler(HomeView.this.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    System.out.println("String_Node_Str" + hash);
                    String foundShare=hash.contains("String_Node_Str") ? "String_Node_Str" : "String_Node_Str";
                    NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText(foundShare).setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                    NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                      NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                      mNotificationManager.createNotificationChannel(channel);
                    }
                    mNotificationManager.notify(1047 + new Random().nextInt(1000),mBuilder.build());
                    TextView t=findViewById(R.id.shares);
                    String text=t.getText().toString();
                    int parsed=0;
                    try {
                      parsed=Integer.parseInt(text);
                    }
 catch (                    Exception e) {
                    }
                    t.setText((parsed + 1) + "String_Node_Str");
                  }
                }
);
              }
              @Override public void onReject(              String hash){
                System.out.println("String_Node_Str" + hash);
                String foundShare=hash.contains("String_Node_Str") ? "String_Node_Str" : "String_Node_Str";
                NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText(foundShare).setStyle(new NotificationCompat.InboxStyle().addLine(foundShare).addLine(hash)).setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                  NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                  mNotificationManager.createNotificationChannel(channel);
                }
                mNotificationManager.notify(1357 + new Random().nextInt(200),mBuilder.build());
              }
              @Override public void onAccept(              String hash){
                NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText("String_Node_Str").setStyle(new NotificationCompat.InboxStyle().addLine("String_Node_Str").addLine(hash)).setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                  NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                  mNotificationManager.createNotificationChannel(channel);
                }
                mNotificationManager.notify(1357 + new Random().nextInt(100),mBuilder.build());
              }
              @Override public void onFind(              String hash){
                System.out.println("String_Node_Str" + hash);
                NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(HomeView.this,"String_Node_Str").setSmallIcon(R.drawable.aro).setContentTitle("String_Node_Str").setContentText("String_Node_Str").setChannelId("String_Node_Str").setPriority(NotificationCompat.PRIORITY_DEFAULT);
                NotificationManager mNotificationManager=(NotificationManager)HomeView.this.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                  NotificationChannel channel=new NotificationChannel("String_Node_Str","String_Node_Str",NotificationManager.IMPORTANCE_DEFAULT);
                  mNotificationManager.createNotificationChannel(channel);
                }
                mNotificationManager.notify(1357 + new Random().nextInt(200),mBuilder.build());
              }
              @Override public void onDurChange(              final String dur){
                final TextView t=findViewById(R.id.currentDur);
                runOnUiThread(new Runnable(){
                  @Override public void run(){
                    t.setText(dur);
                    try {
                      long l=Long.parseLong(dur);
                      if (Miner.finalDuration >= l)                       Miner.finalDuration=l;
                    }
 catch (                    Exception e) {
                    }
                  }
                }
);
              }
              @Override public void onStop(){
                b.setText("String_Node_Str");
                try {
                  miner.stop();
                  Method m=Thread.class.getDeclaredMethod("String_Node_Str",Object.class);
                  m.setAccessible(true);
                  m.invoke(minerThread,new ThreadDeath());
                  minerThread.interrupt();
                }
 catch (                Exception e) {
                  minerThread.interrupt();
                }
              }
            }
,editPool.getText().toString(),editHashers.getText().toString());
          }
        }
);
        minerThread.start();
      }
 else {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        try {
          Method m=Thread.class.getDeclaredMethod("String_Node_Str",Object.class);
          m.setAccessible(true);
          m.invoke(minerThread,new ThreadDeath());
          minerThread.interrupt();
        }
 catch (        Exception e) {
          minerThread.interrupt();
        }
      }
    }
  }
);
  final TextView addressinfo=findViewById(R.id.address);
  addressinfo.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      ClipboardManager clipboard=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
      ClipData clip=ClipData.newPlainText("String_Node_Str",addressinfo.getText().toString());
      clipboard.setPrimaryClip(clip);
      Toast.makeText(instance,"String_Node_Str",Toast.LENGTH_SHORT).show();
    }
  }
);
  final RelativeLayout donations=findViewById(R.id.donations);
  donations.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      ClipboardManager clipboard=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
      ClipData clip=ClipData.newPlainText("String_Node_Str","String_Node_Str");
      clipboard.setPrimaryClip(clip);
      Toast.makeText(instance,"String_Node_Str",Toast.LENGTH_SHORT).show();
    }
  }
);
  final ImageView qrimagerequest=findViewById(R.id.qrimage);
  qrimagerequest.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str").inputType(InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_CLASS_NUMBER).input("String_Node_Str","String_Node_Str",new MaterialDialog.InputCallback(){
        @Override public void onInput(        MaterialDialog dialog,        CharSequence input){
        }
      }
).positiveText("String_Node_Str").negativeText("String_Node_Str").onPositive(new MaterialDialog.SingleButtonCallback(){
        @Override public void onClick(        @NonNull MaterialDialog dialog,        @NonNull DialogAction which){
          Double amount=Double.parseDouble(dialog.getInputEditText().getText().toString());
          ImageView qrimage=findViewById(R.id.qrreuqestimage);
          Bitmap myBitmap=QRCode.from("String_Node_Str" + "String_Node_Str" + address + "String_Node_Str"+ doubleVal(amount).replace("String_Node_Str","String_Node_Str")+ "String_Node_Str").withSize(600,600).withColor(Color.BLACK,Color.parseColor("String_Node_Str")).bitmap();
          qrimage.setImageBitmap(myBitmap);
          findViewById(R.id.qrrequestview).setVisibility(View.VISIBLE);
        }
      }
).show();
    }
  }
);
  final ImageView qrrequestclose=findViewById(R.id.closeqrrequest);
  qrrequestclose.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      findViewById(R.id.qrrequestview).setVisibility(GONE);
    }
  }
);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.send)){
    @Override public void onEnable(){
    }
  }
);
  final EditText amountedit=findViewById(R.id.amountto);
  final TextView fee=findViewById(R.id.fee);
  amountedit.addTextChangedListener(new TextWatcher(){
    @Override public void beforeTextChanged(    CharSequence charSequence,    int i,    int i1,    int i2){
    }
    @Override public void onTextChanged(    CharSequence charSequence,    int i,    int i1,    int i2){
    }
    @Override public void afterTextChanged(    Editable editable){
      try {
        String t=editable.toString();
        float d=Float.parseFloat(t + "String_Node_Str");
        double a=d * 0.0025;
        if (a > 10)         a=10.0;
        fee.setText("String_Node_Str" + doubleVal(a).replace("String_Node_Str","String_Node_Str") + "String_Node_Str");
      }
 catch (      Exception e) {
        fee.setText("String_Node_Str");
      }
    }
  }
);
  Button b1=findViewById(R.id.sendbutton);
  b1.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      try {
        final Double amount=Double.parseDouble(amountedit.getText().toString());
        final String address=((EditText)findViewById(R.id.addressto)).getText().toString();
        final String message=((EditText)findViewById(R.id.messageedit)).getText().toString();
        DecimalFormat format=new DecimalFormat("String_Node_Str");
        String vals=format.format(amount);
        if (!vals.contains("String_Node_Str"))         vals+="String_Node_Str";
        while (vals.split("String_Node_Str")[1].length() < 8)         vals+="String_Node_Str";
        vals=vals.replace("String_Node_Str","String_Node_Str");
        new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str" + doubleVal(amount).replace("String_Node_Str","String_Node_Str") + "String_Node_Str"+ "String_Node_Str"+ address).cancelable(false).positiveText("String_Node_Str").negativeText("String_Node_Str").autoDismiss(false).onPositive(new MaterialDialog.SingleButtonCallback(){
          @Override public void onClick(          @NonNull MaterialDialog dialog,          @NonNull DialogAction which){
            dialog.dismiss();
            final MaterialDialog d=new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").progress(true,100).progressIndeterminateStyle(true).cancelable(false).show();
            makeTransaction(address,amount.doubleValue(),message,new Runnable(){
              @Override public void run(){
                d.dismiss();
              }
            }
);
          }
        }
).show();
      }
 catch (      Exception e) {
      }
    }
  }
);
  qrCodeReaderView=findViewById(R.id.receivescanner);
  final QRCodeReaderView.OnQRCodeReadListener listener=createQRlistener();
  qrCodeReaderView.setQRDecodingEnabled(false);
  qrCodeReaderView.setOnQRCodeReadListener(listener);
  qrCodeReaderView.setAutofocusInterval(1000L);
  qrCodeReaderView.setBackCamera();
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.receiveview)){
    @Override public void onEnable(){
      qrCodeReaderView=findViewById(R.id.receivescanner);
      qrCodeReaderView.setQRDecodingEnabled(true);
      qrCodeReaderView.startCamera();
      qrCodeReaderView.setQRDecodingEnabled(true);
      qrCodeReaderView.startCamera();
      qrCodeReaderView.bringToFront();
      qrCodeReaderView.setOnQRCodeReadListener(createQRlistener());
      qrCodeReaderView.setAutofocusInterval(1000L);
      qrCodeReaderView.setBackCamera();
      qrCodeReaderView.setQRDecodingEnabled(true);
    }
    @Override public void onDisable(){
      qrCodeReaderView.stopCamera();
      qrCodeReaderView.setQRDecodingEnabled(false);
    }
  }
);
  pages.add(new Page("String_Node_Str",(RelativeLayout)findViewById(R.id.historyview)){
    @Override public void onEnable(){
      try {
        String transactions=getString("String_Node_Str");
        final JSONObject p=new JSONObject(transactions);
        sortArrayAndPutInList(p.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
      }
 catch (      Exception e) {
      }
      checkIfLastTransactionIsSame(new LastTransactionTimer(){
        @Override public void onSame(        String id){
          System.out.println("String_Node_Str");
          try {
            String transactions=getString("String_Node_Str");
            if (transactions.isEmpty()) {
              System.out.println("String_Node_Str");
              downloadTransactions(new Call(){
                @Override public void onDone(                JSONObject o){
                  try {
                    ListView l=findViewById(R.id.historylisttransactions);
                    sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                    Handler h=new Handler(instance.getMainLooper());
                    h.post(new Runnable(){
                      @Override public void run(){
                        findViewById(R.id.progressBar).setVisibility(GONE);
                      }
                    }
);
                  }
 catch (                  Exception e) {
                    e.printStackTrace();
                  }
                }
              }
);
              return;
            }
            final JSONObject p=new JSONObject(transactions);
            JSONArray a=p.getJSONArray("String_Node_Str");
            if (a.length() < 11) {
              System.out.println("String_Node_Str");
              downloadTransactions(new Call(){
                @Override public void onDone(                final JSONObject o){
                  try {
                    sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                    Handler h=new Handler(instance.getMainLooper());
                    h.post(new Runnable(){
                      @Override public void run(){
                        findViewById(R.id.progressBar).setVisibility(GONE);
                      }
                    }
);
                  }
 catch (                  Exception e) {
                    e.printStackTrace();
                  }
                }
              }
);
            }
            Handler h=new Handler(instance.getMainLooper());
            h.post(new Runnable(){
              @Override public void run(){
                findViewById(R.id.progressBar).setVisibility(GONE);
              }
            }
);
          }
 catch (          Exception e) {
            e.printStackTrace();
          }
        }
        @Override public void onDifferect(        String id){
          System.out.println("String_Node_Str");
          downloadTransactions(new Call(){
            @Override public void onDone(            JSONObject o){
              try {
                ListView l=findViewById(R.id.historylisttransactions);
                sortArrayAndPutInList(o.getJSONArray("String_Node_Str"),(ListView)findViewById(R.id.historylisttransactions));
                Handler h=new Handler(instance.getMainLooper());
                h.post(new Runnable(){
                  @Override public void run(){
                    findViewById(R.id.progressBar).setVisibility(GONE);
                  }
                }
);
              }
 catch (              Exception e) {
                e.printStackTrace();
              }
            }
          }
);
        }
      }
);
    }
  }
);
}