From d4eb03f81f83780c6397a5d0133bfefde47e4e5a Mon Sep 17 00:00:00 2001 From: tonikelope Date: Sun, 6 Oct 2019 12:33:53 +0200 Subject: [PATCH] 6.58 -GUI bug fix and optimization -JDK 8 rafactorization --- pom.xml | 2 +- .../tonikelope/megabasterd/AboutDialog.java | 38 +- .../com/tonikelope/megabasterd/Download.java | 348 +++------- .../megabasterd/DownloadManager.java | 55 +- .../tonikelope/megabasterd/DownloadView.java | 226 ++----- .../megabasterd/FileDropHandler.java | 7 +- .../megabasterd/FileGrabberDialog.java | 443 +++++-------- .../megabasterd/FileMergerDialog.java | 145 ++-- .../megabasterd/FileSplitterDialog.java | 102 ++- .../megabasterd/FolderLinkDialog.java | 180 ++--- .../megabasterd/GetMasterPasswordDialog.java | 52 +- .../megabasterd/LinkGrabberDialog.java | 199 +++--- .../com/tonikelope/megabasterd/MainPanel.java | 598 ++++++----------- .../tonikelope/megabasterd/MainPanelView.java | 501 +++++++------- .../com/tonikelope/megabasterd/MiscTools.java | 23 +- .../megabasterd/SetMasterPasswordDialog.java | 79 +-- .../megabasterd/SettingsDialog.java | 620 +++++++++--------- .../megabasterd/SmartMegaProxyManager.java | 8 +- .../megabasterd/StreamerDialog.java | 190 +++--- .../megabasterd/TransferenceManager.java | 288 ++++---- .../com/tonikelope/megabasterd/Upload.java | 307 +++------ .../tonikelope/megabasterd/UploadManager.java | 36 +- .../tonikelope/megabasterd/UploadView.java | 224 ++----- src/main/resources/images/mbasterd_screen.png | Bin 211794 -> 220085 bytes 24 files changed, 1772 insertions(+), 2899 deletions(-) diff --git a/pom.xml b/pom.xml index 4f062054b..793333b3d 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.tonikelope MegaBasterd - 6.57 + 6.58 jar diff --git a/src/main/java/com/tonikelope/megabasterd/AboutDialog.java b/src/main/java/com/tonikelope/megabasterd/AboutDialog.java index c07346ec4..d872ef223 100644 --- a/src/main/java/com/tonikelope/megabasterd/AboutDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/AboutDialog.java @@ -252,39 +252,29 @@ public class AboutDialog extends javax.swing.JDialog { final Dialog tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + final String new_version = checkNewVersion(MEGABASTERD_URL); - final String new_version = checkNewVersion(MEGABASTERD_URL); + swingInvoke(() -> { + if (new_version != null) { - swingInvoke(new Runnable() { - @Override - public void run() { + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MegaBasterd NEW VERSION is available! -> ") + new_version); - if (new_version != null) { + mcdown_url_button.setEnabled(true); - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MegaBasterd NEW VERSION is available! -> ") + new_version); + } else { - mcdown_url_button.setEnabled(true); + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("You have the latest version ;)")); - } else { + mcdown_url_button.setEnabled(false); + } - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("You have the latest version ;)")); + check_version_button.setText(old_check_version_button_text); - mcdown_url_button.setEnabled(false); - } + check_version_button.setEnabled(true); - check_version_button.setText(old_check_version_button_text); - - check_version_button.setEnabled(true); - - pack(); - - } - }); - - } + pack(); + }); }); }//GEN-LAST:event_check_version_buttonActionPerformed diff --git a/src/main/java/com/tonikelope/megabasterd/Download.java b/src/main/java/com/tonikelope/megabasterd/Download.java index 62de28ec6..1370a4cd6 100644 --- a/src/main/java/com/tonikelope/megabasterd/Download.java +++ b/src/main/java/com/tonikelope/megabasterd/Download.java @@ -216,15 +216,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif Download tthis = this; - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getSlots_label().setForeground(Color.BLUE); - getView().getSlots_label().setForeground(Color.BLUE); - - getView().getSlots_spinner().setEnabled(false); - } + getView().getSlots_spinner().setEnabled(false); }); synchronized (_workers_lock) { @@ -240,15 +235,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif } - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getSlots_spinner().setValue(Transference.MAX_WORKERS); - getView().getSlots_spinner().setValue(Transference.MAX_WORKERS); - - getView().getSlots_spinner().setEnabled(true); - } + getView().getSlots_spinner().setEnabled(true); }); } @@ -505,16 +495,12 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif @Override public void run() { - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getQueue_down_button().setVisible(false); - getView().getQueue_up_button().setVisible(false); - getView().getClose_button().setVisible(false); - getView().getCopy_link_button().setVisible(true); - getView().getOpen_folder_button().setVisible(true); - } + swingInvoke(() -> { + getView().getQueue_down_button().setVisible(false); + getView().getQueue_up_button().setVisible(false); + getView().getClose_button().setVisible(false); + getView().getCopy_link_button().setVisible(true); + getView().getOpen_folder_button().setVisible(true); }); getView().printStatusNormal("Starting download, please wait..."); @@ -541,8 +527,6 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif if (!_exit) { - _progress_bar_rate = MAX_VALUE / (double) _file_size; - String temp_filename = (getCustom_chunks_dir() != null ? getCustom_chunks_dir() : _download_path) + "/" + _file_name + ".mctemp"; _file = new File(temp_filename); @@ -603,15 +587,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _thread_pool.execute(c); } - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{getView().getSlots_label(), getView().getSlots_spinner(), getView().getSlot_status_label()}) { - for (JComponent c : new JComponent[]{getView().getSlots_label(), getView().getSlots_spinner(), getView().getSlot_status_label()}) { - - c.setVisible(true); - } + c.setVisible(true); } }); @@ -623,15 +602,9 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _thread_pool.execute(c); - swingInvoke( - new Runnable() { - @Override - public void run() { - - for (JComponent c : new JComponent[]{getView().getSlots_label(), getView().getSlots_spinner(), getView().getSlot_status_label()}) { - - c.setVisible(false); - } + swingInvoke(() -> { + for (JComponent c1 : new JComponent[]{getView().getSlots_label(), getView().getSlots_spinner(), getView().getSlot_status_label()}) { + c1.setVisible(false); } }); } @@ -639,15 +612,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate("Downloading file from mega ") + (_ma.getFull_email() != null ? "(" + _ma.getFull_email() + ")" : "") + " ..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{getView().getPause_button(), getView().getProgress_pbar()}) { - for (JComponent c : new JComponent[]{getView().getPause_button(), getView().getProgress_pbar()}) { - - c.setVisible(true); - } + c.setVisible(true); } }); @@ -684,15 +652,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _output_stream.close(); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{getView().getSpeed_label(), getView().getPause_button(), getView().getStop_button(), getView().getSlots_label(), getView().getSlots_spinner(), getView().getKeep_temp_checkbox()}) { - for (JComponent c : new JComponent[]{getView().getSpeed_label(), getView().getPause_button(), getView().getStop_button(), getView().getSlots_label(), getView().getSlots_spinner(), getView().getKeep_temp_checkbox()}) { - - c.setVisible(false); - } + c.setVisible(false); } }); @@ -726,15 +689,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().printStatusNormal("Checking file integrity, please wait..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getStop_button().setVisible(true); - getView().getStop_button().setVisible(true); - - getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL CHECK")); - } + getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL CHECK")); }); getMain_panel().getDownload_manager().getTransference_running_list().remove(this); @@ -757,13 +715,8 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif } - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getStop_button().setVisible(false); - } + swingInvoke(() -> { + getView().getStop_button().setVisible(false); }); } else { @@ -878,34 +831,24 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getMain_panel().getDownload_manager().getTransference_finished_queue().add(this); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getMain_panel().getDownload_manager().getScroll_panel().remove(getView()); - getMain_panel().getDownload_manager().getScroll_panel().remove(getView()); - - getMain_panel().getDownload_manager().getScroll_panel().add(getView()); - } + getMain_panel().getDownload_manager().getScroll_panel().add(getView()); }); getMain_panel().getDownload_manager().secureNotify(); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getClose_button().setVisible(true); - getView().getClose_button().setVisible(true); + if (_status_error != null || _canceled) { - if (_status_error != null || _canceled) { + getView().getRestart_button().setVisible(true); - getView().getRestart_button().setVisible(true); + } else { - } else { - - getView().getClose_button().setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/icons8-ok-30.png"))); - } + getView().getClose_button().setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/icons8-ok-30.png"))); } }); @@ -916,14 +859,9 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().printStatusNormal("Provisioning download, please wait..."); - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getCopy_link_button().setVisible(true); - getView().getOpen_folder_button().setVisible(true); - } + swingInvoke(() -> { + getView().getCopy_link_button().setVisible(true); + getView().getOpen_folder_button().setVisible(true); }); String[] file_info; @@ -996,46 +934,7 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _status_error = "PROVISION FAILED"; if (_file_name != null) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getFile_name_label().setVisible(true); - - getView().getFile_name_label().setText(truncateText(_download_path + "/" + _file_name, 100)); - - getView().getFile_name_label().setToolTipText(_download_path + "/" + _file_name); - - getView().getFile_size_label().setVisible(true); - - getView().getFile_size_label().setText(formatBytes(_file_size)); - } - }); - } - - getView().hideAllExceptStatus(); - - getView().printStatusError(_status_error); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getRestart_button().setVisible(true); - } - }); - - } else { - - getView().printStatusNormal(_frozen ? "(FROZEN) Waiting to start..." : "Waiting to start..."); - - swingInvoke( - new Runnable() { - @Override - public void run() { - + swingInvoke(() -> { getView().getFile_name_label().setVisible(true); getView().getFile_name_label().setText(truncateText(_download_path + "/" + _file_name, 100)); @@ -1045,19 +944,40 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().getFile_size_label().setVisible(true); getView().getFile_size_label().setText(formatBytes(_file_size)); - } + }); + } + + getView().hideAllExceptStatus(); + + getView().printStatusError(_status_error); + + swingInvoke(() -> { + getView().getRestart_button().setVisible(true); + }); + + } else { + + _progress_bar_rate = MAX_VALUE / (double) _file_size; + + getView().printStatusNormal(_frozen ? "(FROZEN) Waiting to start..." : "Waiting to start..."); + + swingInvoke(() -> { + getView().getFile_name_label().setVisible(true); + + getView().getFile_name_label().setText(truncateText(_download_path + "/" + _file_name, 100)); + + getView().getFile_name_label().setToolTipText(_download_path + "/" + _file_name); + + getView().getFile_size_label().setVisible(true); + + getView().getFile_size_label().setText(formatBytes(_file_size)); }); } - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getClose_button().setVisible(true); - getView().getQueue_up_button().setVisible(true); - getView().getQueue_down_button().setVisible(true); - } + swingInvoke(() -> { + getView().getClose_button().setVisible(true); + getView().getQueue_up_button().setVisible(true); + getView().getQueue_down_button().setVisible(true); }); } @@ -1070,14 +990,9 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().printStatusNormal("Download paused!"); - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME DOWNLOAD")); - getView().getPause_button().setEnabled(true); - } + swingInvoke(() -> { + getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME DOWNLOAD")); + getView().getPause_button().setEnabled(true); }); } @@ -1088,14 +1003,9 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().printStatusNormal("Download paused!"); - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME DOWNLOAD")); - getView().getPause_button().setEnabled(true); - } + swingInvoke(() -> { + getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME DOWNLOAD")); + getView().getPause_button().setEnabled(true); }); } @@ -1186,13 +1096,8 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif if (!_chunkworkers.isEmpty()) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getSlots_spinner().setEnabled(false); - } + swingInvoke(() -> { + getView().getSlots_spinner().setEnabled(false); }); int i = _chunkworkers.size() - 1; @@ -1233,28 +1138,18 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif if (_use_slots) { - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getSlots_spinner().setEnabled(false); - getView().getSlots_spinner().setEnabled(false); - - getView().getSlots_spinner().setValue((int) getView().getSlots_spinner().getValue() - 1); - } + getView().getSlots_spinner().setValue((int) getView().getSlots_spinner().getValue() - 1); }); } } else if (!_finishing_download && _use_slots) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getSlots_spinner().setEnabled(true); - } + swingInvoke(() -> { + getView().getSlots_spinner().setEnabled(true); }); } @@ -1263,15 +1158,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif getView().printStatusNormal("Download paused!"); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME DOWNLOAD")); - getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME DOWNLOAD")); - - getView().getPause_button().setEnabled(true); - } + getView().getPause_button().setEnabled(true); }); } @@ -1466,17 +1356,12 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _retrying_request = true; - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getMain_panel().getView().getNew_download_menu().setEnabled(true); - getMain_panel().getView().getNew_download_menu().setEnabled(true); + getView().getStop_button().setVisible(true); - getView().getStop_button().setVisible(true); - - getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL RETRY")); - } + getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL RETRY")); }); for (long i = getWaitTimeExpBackOff(retry++); i > 0 && !_exit; i--) { @@ -1504,14 +1389,9 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif if (!_exit && !error) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL DOWNLOAD")); - getView().getStop_button().setVisible(false); - } + swingInvoke(() -> { + getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL DOWNLOAD")); + getView().getStop_button().setVisible(false); }); } @@ -1553,15 +1433,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _retrying_request = true; - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getStop_button().setVisible(true); - getView().getStop_button().setVisible(true); - - getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL RETRY")); - } + getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL RETRY")); }); for (long i = getWaitTimeExpBackOff(retry++); i > 0 && !_exit; i--) { @@ -1583,14 +1458,9 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif if (!error) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL DOWNLOAD")); - getView().getStop_button().setVisible(false); - } + swingInvoke(() -> { + getView().getStop_button().setText(LabelTranslatorSingleton.getInstance().translate("CANCEL DOWNLOAD")); + getView().getStop_button().setVisible(false); }); } @@ -1660,18 +1530,14 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif _progress = progress; - swingInvoke( - new Runnable() { - @Override - public void run() { + getMain_panel().getUpload_manager().increment_total_progress(_progress - old_progress); - getView().updateProgressBar(_progress, _progress_bar_rate); - } - }); + int old_percent_progress = (int) Math.floor(((double) old_progress / _file_size) * 100); - if (!isChecking_cbc()) { + int new_percent_progress = (int) Math.floor(((double) progress / _file_size) * 100); - getMain_panel().getDownload_manager().increment_total_progress(_progress - old_progress); + if (new_percent_progress > old_percent_progress) { + getView().updateProgressBar(_progress, _progress_bar_rate); } } } diff --git a/src/main/java/com/tonikelope/megabasterd/DownloadManager.java b/src/main/java/com/tonikelope/megabasterd/DownloadManager.java index eac62d4c1..3294c00fc 100644 --- a/src/main/java/com/tonikelope/megabasterd/DownloadManager.java +++ b/src/main/java/com/tonikelope/megabasterd/DownloadManager.java @@ -31,12 +31,8 @@ public class DownloadManager extends TransferenceManager { for (final Transference d : downloads) { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove(((Download) d).getView()); - } + swingInvoke(() -> { + getScroll_panel().remove(((Download) d).getView()); }); getTransference_waitstart_queue().remove(d); @@ -70,12 +66,8 @@ public class DownloadManager extends TransferenceManager { @Override public void provision(final Transference download) { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().add(((Download) download).getView()); - } + swingInvoke(() -> { + getScroll_panel().add(((Download) download).getView()); }); try { @@ -88,22 +80,17 @@ public class DownloadManager extends TransferenceManager { LOG.log(Level.INFO, "{0} Provision failed! Retrying in separated thread...", Thread.currentThread().getName()); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + try { - try { + _provision((Download) download, true); - _provision((Download) download, true); - - } catch (APIException ex1) { - - LOG.log(SEVERE, null, ex1); - } - - secureNotify(); + } catch (APIException ex1) { + LOG.log(SEVERE, null, ex1); } + + secureNotify(); }); } @@ -132,23 +119,15 @@ public class DownloadManager extends TransferenceManager { getTransference_waitstart_queue().addAll(aux); getTransference_waitstart_queue().forEach((t1) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t1.getView()); - getScroll_panel().add((Component) t1.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t1.getView()); + getScroll_panel().add((Component) t1.getView()); }); }); getTransference_finished_queue().forEach((t2) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t2.getView()); - getScroll_panel().add((Component) t2.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t2.getView()); + getScroll_panel().add((Component) t2.getView()); }); }); diff --git a/src/main/java/com/tonikelope/megabasterd/DownloadView.java b/src/main/java/com/tonikelope/megabasterd/DownloadView.java index 5465305dd..f0b593faf 100644 --- a/src/main/java/com/tonikelope/megabasterd/DownloadView.java +++ b/src/main/java/com/tonikelope/megabasterd/DownloadView.java @@ -123,20 +123,15 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView public void hideAllExceptStatus() { - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{speed_label, slots_spinner, slots_label, slot_status_label, slot_status_label, pause_button, stop_button, progress_pbar, keep_temp_checkbox}) { - for (JComponent c : new JComponent[]{speed_label, slots_spinner, slots_label, slot_status_label, slot_status_label, pause_button, stop_button, progress_pbar, keep_temp_checkbox}) { + c.setVisible(false); + } - c.setVisible(false); - } + for (JComponent c : new JComponent[]{status_label, file_name_label, file_size_label}) { - for (JComponent c : new JComponent[]{status_label, file_name_label, file_size_label}) { - - c.setVisible(true); - } + c.setVisible(true); } }); } @@ -381,15 +376,9 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView private void slots_spinnerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_slots_spinnerStateChanged - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - if (_download.isUse_slots()) { - _download.checkSlotsAndWorkers(); - } - + THREAD_POOL.execute(() -> { + if (_download.isUse_slots()) { + _download.checkSlotsAndWorkers(); } }); }//GEN-LAST:event_slots_spinnerStateChanged @@ -439,23 +428,11 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView queue_up_button.setEnabled(false); - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - _download.upWaitQueue(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - queue_up_button.setEnabled(true); - } - }); - - } + THREAD_POOL.execute(() -> { + _download.upWaitQueue(); + swingInvoke(() -> { + queue_up_button.setEnabled(true); + }); }); }//GEN-LAST:event_queue_up_buttonActionPerformed @@ -464,23 +441,11 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView queue_down_button.setEnabled(false); - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - _download.downWaitQueue(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - queue_down_button.setEnabled(true); - } - }); - - } + THREAD_POOL.execute(() -> { + _download.downWaitQueue(); + swingInvoke(() -> { + queue_down_button.setEnabled(true); + }); }); }//GEN-LAST:event_queue_down_buttonActionPerformed @@ -489,20 +454,15 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView printStatusNormal("Pausing download ..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { + c.setEnabled(false); + } - c.setEnabled(false); - } + for (JComponent c : new JComponent[]{stop_button, keep_temp_checkbox}) { - for (JComponent c : new JComponent[]{stop_button, keep_temp_checkbox}) { - - c.setVisible(true); - } + c.setVisible(true); } }); } @@ -512,24 +472,19 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView printStatusNormal("Downloading file from mega ..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - - c.setEnabled(true); - } - - for (JComponent c : new JComponent[]{stop_button, keep_temp_checkbox}) { - - c.setVisible(false); - } - - pause_button.setText(LabelTranslatorSingleton.getInstance().translate("PAUSE DOWNLOAD")); - _download.getMain_panel().getView().getPause_all_down_button().setVisible(true); + c.setEnabled(true); } + + for (JComponent c : new JComponent[]{stop_button, keep_temp_checkbox}) { + + c.setVisible(false); + } + + pause_button.setText(LabelTranslatorSingleton.getInstance().translate("PAUSE DOWNLOAD")); + _download.getMain_panel().getView().getPause_all_down_button().setVisible(true); }); } @@ -539,16 +494,10 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView printStatusNormal(status); - swingInvoke( - new Runnable() { - @Override - public void run() { - - for (JComponent c : new JComponent[]{pause_button, keep_temp_checkbox, stop_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - - c.setEnabled(false); - } + swingInvoke(() -> { + for (JComponent c : new JComponent[]{pause_button, keep_temp_checkbox, stop_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { + c.setEnabled(false); } }); @@ -557,18 +506,13 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView @Override public void updateSpeed(final String speed, final Boolean visible) { - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + if (speed != null) { + speed_label.setText(speed); + } - if (speed != null) { - speed_label.setText(speed); - } - - if (visible != null) { - speed_label.setVisible(visible); - } + if (visible != null) { + speed_label.setVisible(visible); } }); } @@ -576,67 +520,42 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView @Override public void updateProgressBar(final long progress, final double bar_rate) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - progress_pbar.setValue((int) Math.floor(bar_rate * progress)); - } + swingInvoke(() -> { + progress_pbar.setValue((int) Math.floor(bar_rate * progress)); }); } @Override public void updateProgressBar(final int value) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - progress_pbar.setValue(value); - } + swingInvoke(() -> { + progress_pbar.setValue(value); }); } @Override public void printStatusError(final String message) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - status_label.setForeground(Color.red); - status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); - } + swingInvoke(() -> { + status_label.setForeground(Color.red); + status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); }); } @Override public void printStatusOK(final String message) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - status_label.setForeground(new Color(0, 170, 0)); - status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); - } + swingInvoke(() -> { + status_label.setForeground(new Color(0, 170, 0)); + status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); }); } @Override public void printStatusNormal(final String message) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - status_label.setForeground(new Color(102, 102, 102)); - status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); - } + swingInvoke(() -> { + status_label.setForeground(new Color(102, 102, 102)); + status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); }); } @@ -658,40 +577,21 @@ public class DownloadView extends javax.swing.JPanel implements TransferenceView final String status = (conta_exit > 0 ? "Tot removing: " + conta_exit : "") + (conta_error > 0 ? ((conta_exit > 0 ? " / " : "") + "Tot error: " + conta_error) : ""); - swingInvoke(new Runnable() { - @Override - public void run() { - slot_status_label.setForeground(status_color); - slot_status_label.setText(LabelTranslatorSingleton.getInstance().translate(status)); - } + swingInvoke(() -> { + slot_status_label.setForeground(status_color); + slot_status_label.setText(LabelTranslatorSingleton.getInstance().translate(status)); }); } } @Override public int getSlots() { - return (int) swingInvokeAndWaitForReturn(new Callable() { - - @Override - public Object call() throws Exception { - - return getSlots_spinner().getValue(); - } - - }); + return (int) swingInvokeAndWaitForReturn((Callable) getSlots_spinner()::getValue); } public boolean isKeepTempFileSelected() { - return (boolean) swingInvokeAndWaitForReturn(new Callable() { - - @Override - public Object call() throws Exception { - - return getKeep_temp_checkbox().isSelected(); - } - - }); + return (boolean) swingInvokeAndWaitForReturn((Callable) getKeep_temp_checkbox()::isSelected); } // Variables declaration - do not modify//GEN-BEGIN:variables diff --git a/src/main/java/com/tonikelope/megabasterd/FileDropHandler.java b/src/main/java/com/tonikelope/megabasterd/FileDropHandler.java index 5625aba81..b9a03fb99 100644 --- a/src/main/java/com/tonikelope/megabasterd/FileDropHandler.java +++ b/src/main/java/com/tonikelope/megabasterd/FileDropHandler.java @@ -69,11 +69,8 @@ class FileDropHandler extends TransferHandler { return false; } - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - _notifiable.file_drop_notify(files); - } + THREAD_POOL.execute(() -> { + _notifiable.file_drop_notify(files); }); return true; diff --git a/src/main/java/com/tonikelope/megabasterd/FileGrabberDialog.java b/src/main/java/com/tonikelope/megabasterd/FileGrabberDialog.java index 02695b8f4..e34b16250 100644 --- a/src/main/java/com/tonikelope/megabasterd/FileGrabberDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/FileGrabberDialog.java @@ -99,64 +99,46 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa pack(); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + if (_drag_drop_files != null) { - if (_drag_drop_files != null) { + file_drop_notify(_drag_drop_files); + } + if (_main_panel.getMega_accounts().size() > 0) { + swingInvoke(() -> { + if (!_main_panel.getMega_active_accounts().isEmpty()) { + _inserting_mega_accounts = true; - file_drop_notify(_drag_drop_files); - } + _main_panel.getMega_accounts().keySet().forEach((o) -> { + account_combobox.addItem(o); + }); - if (_main_panel.getMega_accounts().size() > 0) { + _inserting_mega_accounts = false; - swingInvoke(new Runnable() { - @Override - public void run() { + for (Object o : _main_panel.getMega_active_accounts().keySet()) { - if (!_main_panel.getMega_active_accounts().isEmpty()) { - _inserting_mega_accounts = true; + account_combobox.setSelectedItem(o); - _main_panel.getMega_accounts().keySet().forEach((o) -> { - account_combobox.addItem(o); - }); - - _inserting_mega_accounts = false; - - for (Object o : _main_panel.getMega_active_accounts().keySet()) { - - account_combobox.setSelectedItem(o); - - account_comboboxItemStateChanged(null); - - break; - } - - } else { - - _main_panel.getMega_accounts().keySet().forEach((o) -> { - account_combobox.addItem(o); - }); - } - - pack(); + account_comboboxItemStateChanged(null); + break; } - }); - } else { - swingInvoke(new Runnable() { - @Override - public void run() { + } else { - used_space_label.setForeground(Color.red); - used_space_label.setEnabled(true); - used_space_label.setText(LabelTranslatorSingleton.getInstance().translate("No MEGA accounts available (Go to Settings > Accounts)")); - - } - }); - } + _main_panel.getMega_accounts().keySet().forEach((o) -> { + account_combobox.addItem(o); + }); + } + pack(); + }); + } else { + swingInvoke(() -> { + used_space_label.setForeground(Color.red); + used_space_label.setEnabled(true); + used_space_label.setText(LabelTranslatorSingleton.getInstance().translate("No MEGA accounts available (Go to Settings > Accounts)")); + }); } }); @@ -455,36 +437,26 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa file_tree.setModel(tree_model); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + _genFileList(); + swingInvoke(() -> { + add_files_button.setEnabled(true); - _genFileList(); + add_folder_button.setEnabled(true); - swingInvoke(new Runnable() { - @Override - public void run() { - add_files_button.setEnabled(true); + add_files_button.setText(LabelTranslatorSingleton.getInstance().translate("Add files")); - add_folder_button.setEnabled(true); + boolean root_childs = ((TreeNode) tree_model.getRoot()).getChildCount() > 0; - add_files_button.setText(LabelTranslatorSingleton.getInstance().translate("Add files")); - - boolean root_childs = ((TreeNode) tree_model.getRoot()).getChildCount() > 0; - - file_tree.setRootVisible(root_childs); - file_tree.setEnabled(root_childs); - warning_label.setEnabled(root_childs); - dance_button.setEnabled(root_childs); - total_file_size_label.setEnabled(root_childs); - skip_button.setEnabled(root_childs); - skip_rest_button.setEnabled(root_childs); - upload_log_checkbox.setEnabled(root_childs); - - } - }); - - } + file_tree.setRootVisible(root_childs); + file_tree.setEnabled(root_childs); + warning_label.setEnabled(root_childs); + dance_button.setEnabled(root_childs); + total_file_size_label.setEnabled(root_childs); + skip_button.setEnabled(root_childs); + skip_rest_button.setEnabled(root_childs); + upload_log_checkbox.setEnabled(root_childs); + }); }); } else { @@ -539,66 +511,43 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa if (filechooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION && filechooser.getSelectedFile().canRead()) { - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + swingInvoke(() -> { + total_file_size_label.setText("[0 B]"); - swingInvoke(new Runnable() { - @Override - public void run() { - total_file_size_label.setText("[0 B]"); + _base_path = filechooser.getSelectedFile().getAbsolutePath(); - _base_path = filechooser.getSelectedFile().getAbsolutePath(); + dir_name_textfield.setText(filechooser.getSelectedFile().getName() + "_" + genID(10)); - dir_name_textfield.setText(filechooser.getSelectedFile().getName() + "_" + genID(10)); + dir_name_textfield.setEnabled(true); - dir_name_textfield.setEnabled(true); + dir_name_label.setEnabled(true); + }); + DefaultMutableTreeNode root = new DefaultMutableTreeNode(filechooser.getSelectedFile().getAbsolutePath()); + _genFileTree(filechooser.getSelectedFile().getAbsolutePath(), root, null); + DefaultTreeModel tree_model = new DefaultTreeModel(sortTree(root)); + swingInvoke(() -> { + file_tree.setModel(tree_model); + }); + _genFileList(); + swingInvoke(() -> { + add_files_button.setEnabled(true); - dir_name_label.setEnabled(true); - } - }); + add_folder_button.setEnabled(true); - DefaultMutableTreeNode root = new DefaultMutableTreeNode(filechooser.getSelectedFile().getAbsolutePath()); + add_folder_button.setText(LabelTranslatorSingleton.getInstance().translate("Add folder")); - _genFileTree(filechooser.getSelectedFile().getAbsolutePath(), root, null); + boolean root_childs = ((TreeNode) tree_model.getRoot()).getChildCount() > 0; - DefaultTreeModel tree_model = new DefaultTreeModel(sortTree(root)); - - swingInvoke(new Runnable() { - @Override - public void run() { - file_tree.setModel(tree_model); - - } - }); - - _genFileList(); - - swingInvoke(new Runnable() { - @Override - public void run() { - - add_files_button.setEnabled(true); - - add_folder_button.setEnabled(true); - - add_folder_button.setText(LabelTranslatorSingleton.getInstance().translate("Add folder")); - - boolean root_childs = ((TreeNode) tree_model.getRoot()).getChildCount() > 0; - - file_tree.setRootVisible(root_childs); - file_tree.setEnabled(root_childs); - warning_label.setEnabled(root_childs); - dance_button.setEnabled(root_childs); - total_file_size_label.setEnabled(root_childs); - skip_button.setEnabled(root_childs); - skip_rest_button.setEnabled(root_childs); - upload_log_checkbox.setEnabled(root_childs); - - } - }); - - } + file_tree.setRootVisible(root_childs); + file_tree.setEnabled(root_childs); + warning_label.setEnabled(root_childs); + dance_button.setEnabled(root_childs); + total_file_size_label.setEnabled(root_childs); + skip_button.setEnabled(root_childs); + skip_rest_button.setEnabled(root_childs); + upload_log_checkbox.setEnabled(root_childs); + }); }); } else { @@ -664,98 +613,48 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa warning_label.setEnabled(false); file_tree.setEnabled(false); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + MegaAPI ma = null; + try { + _quota_ok = false; + ma = checkMegaAccountLoginAndShowMasterPassDialog(_main_panel, tthis, email); + Long[] quota = ma.getQuota(); + if (isDisplayable()) { + if (quota != null) { + final Color used_space_color; + if (quota[0] <= Math.round((double) quota[1] / 2)) { - MegaAPI ma = null; - try { + used_space_color = new Color(0, 170, 0); - _quota_ok = false; + } else if (quota[0] < quota[1]) { - ma = checkMegaAccountLoginAndShowMasterPassDialog(_main_panel, tthis, email); - - Long[] quota = ma.getQuota(); - - if (isDisplayable()) { - if (quota != null) { - - final Color used_space_color; - - if (quota[0] <= Math.round((double) quota[1] / 2)) { - - used_space_color = new Color(0, 170, 0); - - } else if (quota[0] < quota[1]) { - - used_space_color = new Color(230, 115, 0); - - } else { - - used_space_color = Color.red; - } - - final String quota_m = LabelTranslatorSingleton.getInstance().translate("Quota used: ") + formatBytes(quota[0]) + "/" + formatBytes(quota[1]); - - _quota_ok = true; - - swingInvoke(new Runnable() { - @Override - public void run() { - boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0; - - used_space_label.setText(quota_m); - - used_space_label.setForeground(used_space_color); - - for (JComponent c : new JComponent[]{used_space_label, add_files_button, add_folder_button, account_combobox, account_label, upload_log_checkbox}) { - - c.setEnabled(true); - } - - for (JComponent c : new JComponent[]{dir_name_textfield, dir_name_label, warning_label, dance_button, file_tree, total_file_size_label, skip_button, skip_rest_button}) { - - c.setEnabled(root_childs); - } - } - }); + used_space_color = new Color(230, 115, 0); } else { - swingInvoke(new Runnable() { - @Override - public void run() { - - account_combobox.setEnabled(true); - account_label.setEnabled(true); - account_combobox.setSelectedIndex(-1); - used_space_label.setForeground(Color.red); - used_space_label.setText(LabelTranslatorSingleton.getInstance().translate("ERROR checking account quota!")); - used_space_label.setEnabled(true); - _last_selected_index = account_combobox.getSelectedIndex(); - dance_button.setEnabled(false); - total_file_size_label.setEnabled(false); - skip_button.setEnabled(false); - skip_rest_button.setEnabled(false); - warning_label.setEnabled(false); - file_tree.setEnabled(false); - add_files_button.setEnabled(false); - add_folder_button.setEnabled(false); - upload_log_checkbox.setEnabled(false); - dir_name_textfield.setEnabled(false); - dir_name_label.setEnabled(false); - } - }); - + used_space_color = Color.red; } - } + final String quota_m = LabelTranslatorSingleton.getInstance().translate("Quota used: ") + formatBytes(quota[0]) + "/" + formatBytes(quota[1]); + _quota_ok = true; + swingInvoke(() -> { + boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0; - } catch (Exception ex) { + used_space_label.setText(quota_m); - swingInvoke(new Runnable() { - @Override - public void run() { + used_space_label.setForeground(used_space_color); + for (JComponent c : new JComponent[]{used_space_label, add_files_button, add_folder_button, account_combobox, account_label, upload_log_checkbox}) { + + c.setEnabled(true); + } + + for (JComponent c : new JComponent[]{dir_name_textfield, dir_name_label, warning_label, dance_button, file_tree, total_file_size_label, skip_button, skip_rest_button}) { + + c.setEnabled(root_childs); + } + }); + } else { + swingInvoke(() -> { account_combobox.setEnabled(true); account_label.setEnabled(true); account_combobox.setSelectedIndex(-1); @@ -774,11 +673,30 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa upload_log_checkbox.setEnabled(false); dir_name_textfield.setEnabled(false); dir_name_label.setEnabled(false); - } - }); - + }); + } } - + } catch (Exception ex) { + swingInvoke(() -> { + account_combobox.setEnabled(true); + account_label.setEnabled(true); + account_combobox.setSelectedIndex(-1); + used_space_label.setForeground(Color.red); + used_space_label.setText(LabelTranslatorSingleton.getInstance().translate("ERROR checking account quota!")); + used_space_label.setEnabled(true); + _last_selected_index = account_combobox.getSelectedIndex(); + dance_button.setEnabled(false); + total_file_size_label.setEnabled(false); + skip_button.setEnabled(false); + skip_rest_button.setEnabled(false); + warning_label.setEnabled(false); + file_tree.setEnabled(false); + add_files_button.setEnabled(false); + add_folder_button.setEnabled(false); + upload_log_checkbox.setEnabled(false); + dir_name_textfield.setEnabled(false); + dir_name_label.setEnabled(false); + }); } }); @@ -866,12 +784,7 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa _total_space = 0L; - DefaultTreeModel tree_model = (DefaultTreeModel) swingInvokeAndWaitForReturn(new Callable() { - @Override - public Object call() { - return file_tree.getModel(); - } - }); + DefaultTreeModel tree_model = (DefaultTreeModel) swingInvokeAndWaitForReturn((Callable) file_tree::getModel); DefaultMutableTreeNode root = (DefaultMutableTreeNode) tree_model.getRoot(); @@ -905,11 +818,8 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa } } - swingInvoke(new Runnable() { - @Override - public void run() { - total_file_size_label.setText("[" + formatBytes(_total_space) + "]"); - } + swingInvoke(() -> { + total_file_size_label.setText("[" + formatBytes(_total_space) + "]"); }); } @@ -938,82 +848,61 @@ public class FileGrabberDialog extends javax.swing.JDialog implements FileDropHa @Override public void file_drop_notify(List files) { - swingInvoke(new Runnable() { - @Override - public void run() { - add_files_button.setEnabled(false); - add_folder_button.setEnabled(false); - warning_label.setEnabled(false); - skip_button.setEnabled(false); - skip_rest_button.setEnabled(false); - dance_button.setEnabled(false); - dir_name_textfield.setEnabled(false); - dir_name_label.setEnabled(false); - upload_log_checkbox.setEnabled(false); - total_file_size_label.setText("[0 B]"); - - } + swingInvoke(() -> { + add_files_button.setEnabled(false); + add_folder_button.setEnabled(false); + warning_label.setEnabled(false); + skip_button.setEnabled(false); + skip_rest_button.setEnabled(false); + dance_button.setEnabled(false); + dir_name_textfield.setEnabled(false); + dir_name_label.setEnabled(false); + upload_log_checkbox.setEnabled(false); + total_file_size_label.setText("[0 B]"); }); _base_path = (files.size() == 1 && files.get(0).isDirectory()) ? files.get(0).getAbsolutePath() : files.get(0).getParentFile().getAbsolutePath(); - swingInvoke(new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + dir_name_textfield.setText(((files.size() == 1 && files.get(0).isDirectory()) ? files.get(0).getName() : files.get(0).getParentFile().getName()) + "_" + genID(10)); - dir_name_textfield.setText(((files.size() == 1 && files.get(0).isDirectory()) ? files.get(0).getName() : files.get(0).getParentFile().getName()) + "_" + genID(10)); + dir_name_textfield.setEnabled(true); - dir_name_textfield.setEnabled(true); - - dir_name_label.setEnabled(true); - - } + dir_name_label.setEnabled(true); }); DefaultMutableTreeNode root = new DefaultMutableTreeNode(_base_path); - swingInvoke(new Runnable() { - @Override - public void run() { - dance_button.setText(LabelTranslatorSingleton.getInstance().translate("Loading files, please wait...")); - } + swingInvoke(() -> { + dance_button.setText(LabelTranslatorSingleton.getInstance().translate("Loading files, please wait...")); }); _genFileTree(_base_path, root, files.toArray(new File[files.size()])); DefaultTreeModel tree_model = new DefaultTreeModel(sortTree(root)); - swingInvoke(new Runnable() { - @Override - public void run() { - file_tree.setModel(tree_model); - - } + swingInvoke(() -> { + file_tree.setModel(tree_model); }); _genFileList(); - swingInvoke(new Runnable() { - @Override - public void run() { - - dance_button.setText(LabelTranslatorSingleton.getInstance().translate("Let's dance baby")); - - if (_last_selected_index != -1 && _quota_ok) { - add_files_button.setEnabled(true); - add_folder_button.setEnabled(true); - file_tree.setRootVisible(true); - file_tree.setEnabled(true); - warning_label.setEnabled(true); - dance_button.setEnabled(true); - total_file_size_label.setEnabled(true); - skip_button.setEnabled(true); - skip_rest_button.setEnabled(true); - dir_name_textfield.setEnabled(true); - dir_name_label.setEnabled(true); - upload_log_checkbox.setEnabled(true); - } + swingInvoke(() -> { + dance_button.setText(LabelTranslatorSingleton.getInstance().translate("Let's dance baby")); + if (_last_selected_index != -1 && _quota_ok) { + add_files_button.setEnabled(true); + add_folder_button.setEnabled(true); + file_tree.setRootVisible(true); + file_tree.setEnabled(true); + warning_label.setEnabled(true); + dance_button.setEnabled(true); + total_file_size_label.setEnabled(true); + skip_button.setEnabled(true); + skip_rest_button.setEnabled(true); + dir_name_textfield.setEnabled(true); + dir_name_label.setEnabled(true); + upload_log_checkbox.setEnabled(true); } }); } diff --git a/src/main/java/com/tonikelope/megabasterd/FileMergerDialog.java b/src/main/java/com/tonikelope/megabasterd/FileMergerDialog.java index 3b5d7f35e..129a64601 100644 --- a/src/main/java/com/tonikelope/megabasterd/FileMergerDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/FileMergerDialog.java @@ -82,13 +82,8 @@ public class FileMergerDialog extends javax.swing.JDialog { _progress += rfile.length(); - swingInvoke( - new Runnable() { - @Override - public void run() { - - jProgressBar2.setValue((int) Math.floor((MAX_VALUE / (double) _file_size) * _progress)); - } + swingInvoke(() -> { + jProgressBar2.setValue((int) Math.floor((MAX_VALUE / (double) _file_size) * _progress)); }); } } @@ -358,85 +353,67 @@ public class FileMergerDialog extends javax.swing.JDialog { Dialog tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - - try { - if (_mergeFile()) { - if (delete_parts_checkbox.isSelected()) { - _deleteParts(); - } - swingInvoke( - new Runnable() { - @Override - public void run() { - - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("File successfully merged!")); - - if (Desktop.isDesktopSupported()) { - try { - Desktop.getDesktop().open(new File(file_name_label.getText()).getParentFile()); - } catch (IOException ex) { - - } - } - - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - - setVisible(false); - } - }); - - } else { - _file_parts.clear(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - file_name_label.setText(""); - - file_size_label.setText(""); - - output_folder_label.setText(""); - - _output_dir = null; - - _file_name = null; - - _file_size = 0L; - - _progress = 0L; - - jProgressBar2.setMinimum(0); - jProgressBar2.setMaximum(MAX_VALUE); - jProgressBar2.setStringPainted(true); - jProgressBar2.setValue(0); - jProgressBar2.setVisible(false); - - merge_button.setText(LabelTranslatorSingleton.getInstance().translate("MERGE FILE")); - - file_button.setEnabled(true); - - output_button.setEnabled(true); - - merge_button.setEnabled(true); - - delete_parts_checkbox.setEnabled(true); - - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - - pack(); - - } - }); + THREAD_POOL.execute(() -> { + try { + if (_mergeFile()) { + if (delete_parts_checkbox.isSelected()) { + _deleteParts(); } - } catch (IOException ex) { - Logger.getLogger(FileMergerDialog.class.getName()).log(Level.SEVERE, ex.getMessage()); - } + swingInvoke(() -> { + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("File successfully merged!")); + if (Desktop.isDesktopSupported()) { + try { + Desktop.getDesktop().open(new File(file_name_label.getText()).getParentFile()); + } catch (IOException ex) { + + } + } + + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + + setVisible(false); + }); + } else { + _file_parts.clear(); + swingInvoke(() -> { + file_name_label.setText(""); + + file_size_label.setText(""); + + output_folder_label.setText(""); + + _output_dir = null; + + _file_name = null; + + _file_size = 0L; + + _progress = 0L; + + jProgressBar2.setMinimum(0); + jProgressBar2.setMaximum(MAX_VALUE); + jProgressBar2.setStringPainted(true); + jProgressBar2.setValue(0); + jProgressBar2.setVisible(false); + + merge_button.setText(LabelTranslatorSingleton.getInstance().translate("MERGE FILE")); + + file_button.setEnabled(true); + + output_button.setEnabled(true); + + merge_button.setEnabled(true); + + delete_parts_checkbox.setEnabled(true); + + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + + pack(); + }); + } + } catch (IOException ex) { + Logger.getLogger(FileMergerDialog.class.getName()).log(Level.SEVERE, ex.getMessage()); } }); diff --git a/src/main/java/com/tonikelope/megabasterd/FileSplitterDialog.java b/src/main/java/com/tonikelope/megabasterd/FileSplitterDialog.java index c6663c169..b97f0ecfd 100644 --- a/src/main/java/com/tonikelope/megabasterd/FileSplitterDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/FileSplitterDialog.java @@ -113,13 +113,8 @@ public class FileSplitterDialog extends javax.swing.JDialog { _progress += byteSize; - swingInvoke( - new Runnable() { - @Override - public void run() { - - jProgressBar2.setValue((int) Math.floor((MAX_VALUE / (double) _file.length()) * _progress)); - } + swingInvoke(() -> { + jProgressBar2.setValue((int) Math.floor((MAX_VALUE / (double) _file.length()) * _progress)); }); } @@ -358,80 +353,61 @@ public class FileSplitterDialog extends javax.swing.JDialog { Dialog tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + try { + if (_splitFile()) { + swingInvoke(() -> { + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("File successfully splitted!")); - try { - if (_splitFile()) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("File successfully splitted!")); - - if (Desktop.isDesktopSupported()) { - try { - Desktop.getDesktop().open(_output_dir); - } catch (IOException ex) { - - } - } - - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - - setVisible(false); + if (Desktop.isDesktopSupported()) { + try { + Desktop.getDesktop().open(_output_dir); + } catch (IOException ex) { } - }); + } - } else { - _file = null; + setDefaultCloseOperation(DISPOSE_ON_CLOSE); - _output_dir = null; + setVisible(false); + }); + } else { + _file = null; + _output_dir = null; + swingInvoke(() -> { + file_name_label.setText(""); - swingInvoke( - new Runnable() { - @Override - public void run() { + output_folder_label.setText(""); - file_name_label.setText(""); + split_size_text.setText(""); - output_folder_label.setText(""); + file_size_label.setText(""); - split_size_text.setText(""); + _progress = 0L; - file_size_label.setText(""); + jProgressBar2.setMinimum(0); + jProgressBar2.setMaximum(MAX_VALUE); + jProgressBar2.setStringPainted(true); + jProgressBar2.setValue(0); + jProgressBar2.setVisible(false); - _progress = 0L; + split_button.setText(LabelTranslatorSingleton.getInstance().translate("SPLIT FILE")); - jProgressBar2.setMinimum(0); - jProgressBar2.setMaximum(MAX_VALUE); - jProgressBar2.setStringPainted(true); - jProgressBar2.setValue(0); - jProgressBar2.setVisible(false); + file_button.setEnabled(true); - split_button.setText(LabelTranslatorSingleton.getInstance().translate("SPLIT FILE")); + output_button.setEnabled(true); - file_button.setEnabled(true); + split_button.setEnabled(true); - output_button.setEnabled(true); + split_size_text.setEnabled(true); - split_button.setEnabled(true); + setDefaultCloseOperation(DISPOSE_ON_CLOSE); - split_size_text.setEnabled(true); - - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - - pack(); - } - }); - } - } catch (IOException ex) { - Logger.getLogger(FileSplitterDialog.class.getName()).log(Level.SEVERE, ex.getMessage()); + pack(); + }); } - + } catch (IOException ex) { + Logger.getLogger(FileSplitterDialog.class.getName()).log(Level.SEVERE, ex.getMessage()); } }); diff --git a/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java b/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java index c62200635..f6448a853 100644 --- a/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java @@ -75,26 +75,21 @@ public class FolderLinkDialog extends javax.swing.JDialog { final Dialog tthis = this; - THREAD_POOL.execute( - new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + _loadMegaDirTree(); - _loadMegaDirTree(); + if (!_mega_error) { - if (!_mega_error) { + _genDownloadLiks(); - _genDownloadLiks(); + dance_button.setText(LabelTranslatorSingleton.getInstance().translate("Let's dance, baby")); - dance_button.setText(LabelTranslatorSingleton.getInstance().translate("Let's dance, baby")); + pack(); - pack(); + } else { + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MEGA LINK ERROR!"), "Error", JOptionPane.ERROR_MESSAGE); - } else { - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MEGA LINK ERROR!"), "Error", JOptionPane.ERROR_MESSAGE); - - setVisible(false); - } + setVisible(false); } }); @@ -302,47 +297,28 @@ public class FolderLinkDialog extends javax.swing.JDialog { dance_button.setEnabled(false); - THREAD_POOL.execute( - new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + _loadMegaDirTree(); + _genDownloadLiks(); + swingInvoke(() -> { + restore_button.setVisible(false); + restore_button.setText(LabelTranslatorSingleton.getInstance().translate("Restore folder data")); + boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0; - _loadMegaDirTree(); + for (JComponent c : new JComponent[]{restore_button, dance_button, skip_button, skip_rest_button, file_tree}) { - _genDownloadLiks(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - restore_button.setVisible(false); - restore_button.setText(LabelTranslatorSingleton.getInstance().translate("Restore folder data")); - boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0; - - for (JComponent c : new JComponent[]{restore_button, dance_button, skip_button, skip_rest_button, file_tree}) { - - c.setEnabled(root_childs); - } - - } - }); - - } - } - ); + c.setEnabled(root_childs); + } + }); + }); }//GEN-LAST:event_restore_buttonActionPerformed private void _loadMegaDirTree() { try { - swingInvoke( - new Runnable() { - @Override - public void run() { - setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); - } + swingInvoke(() -> { + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); }); HashMap folder_nodes; @@ -415,18 +391,12 @@ public class FolderLinkDialog extends javax.swing.JDialog { final MegaMutableTreeNode roott = root; - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + ftree.setModel(new DefaultTreeModel(sortTree(roott))); - ftree.setModel(new DefaultTreeModel(sortTree(roott))); + ftree.setRootVisible(roott != null ? roott.getChildCount() > 0 : false); - ftree.setRootVisible(roott != null ? roott.getChildCount() > 0 : false); - - ftree.setEnabled(true); - - } + ftree.setEnabled(true); }); } catch (Exception ex) { @@ -436,80 +406,70 @@ public class FolderLinkDialog extends javax.swing.JDialog { _mega_error = true; } - swingInvoke( - new Runnable() { - @Override - public void run() { - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - } + swingInvoke(() -> { + setDefaultCloseOperation(DISPOSE_ON_CLOSE); }); } private void _genDownloadLiks() { - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); - setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + String folder_id = findFirstRegex("#F!([^!]+)", _link, 1); - String folder_id = findFirstRegex("#F!([^!]+)", _link, 1); + _download_links.clear(); - _download_links.clear(); + MegaMutableTreeNode root = (MegaMutableTreeNode) file_tree.getModel().getRoot(); - MegaMutableTreeNode root = (MegaMutableTreeNode) file_tree.getModel().getRoot(); + Enumeration files_tree = root.depthFirstEnumeration(); - Enumeration files_tree = root.depthFirstEnumeration(); + _total_space = 0L; - _total_space = 0L; + while (files_tree.hasMoreElements()) { - while (files_tree.hasMoreElements()) { + MegaMutableTreeNode node = (MegaMutableTreeNode) files_tree.nextElement(); - MegaMutableTreeNode node = (MegaMutableTreeNode) files_tree.nextElement(); + if (node.isLeaf() && node != root && ((HashMap) node.getUserObject()).get("size") != null) { - if (node.isLeaf() && node != root && ((HashMap) node.getUserObject()).get("size") != null) { + String path = ""; - String path = ""; + Object[] object_path = node.getUserObjectPath(); - Object[] object_path = node.getUserObjectPath(); + for (Object p : object_path) { - for (Object p : object_path) { - - path += "/" + ((Map) p).get("name"); - } - - path = path.replaceAll("^/+", "").trim(); - - String url = "https://mega.nz/#N!" + ((Map) node.getUserObject()).get("h") + "!" + ((Map) node.getUserObject()).get("key") + "###n=" + folder_id; - - HashMap download_link = new HashMap<>(); - - download_link.put("url", url); - - download_link.put("filename", cleanFilePath(path)); - - download_link.put("filekey", ((Map) node.getUserObject()).get("key")); - - download_link.put("filesize", ((Map) node.getUserObject()).get("size")); - - _total_space += (long) download_link.get("filesize"); - - _download_links.add(download_link); + path += "/" + ((Map) p).get("name"); } + + path = path.replaceAll("^/+", "").trim(); + + String url = "https://mega.nz/#N!" + ((Map) node.getUserObject()).get("h") + "!" + ((Map) node.getUserObject()).get("key") + "###n=" + folder_id; + + HashMap download_link = new HashMap<>(); + + download_link.put("url", url); + + download_link.put("filename", cleanFilePath(path)); + + download_link.put("filekey", ((Map) node.getUserObject()).get("key")); + + download_link.put("filesize", ((Map) node.getUserObject()).get("size")); + + _total_space += (long) download_link.get("filesize"); + + _download_links.add(download_link); } - - total_space_label.setText("[" + formatBytes(_total_space) + "]"); - - for (JComponent c : new JComponent[]{dance_button, warning_label, skip_button, skip_rest_button, total_space_label}) { - - c.setEnabled(root.getChildCount() > 0); - } - - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - } + + total_space_label.setText("[" + formatBytes(_total_space) + "]"); + + for (JComponent c : new JComponent[]{dance_button, warning_label, skip_button, skip_rest_button, total_space_label}) { + + c.setEnabled(root.getChildCount() > 0); + } + + setDefaultCloseOperation(DISPOSE_ON_CLOSE); }); } diff --git a/src/main/java/com/tonikelope/megabasterd/GetMasterPasswordDialog.java b/src/main/java/com/tonikelope/megabasterd/GetMasterPasswordDialog.java index d1fd9e4a4..3ea748eff 100644 --- a/src/main/java/com/tonikelope/megabasterd/GetMasterPasswordDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/GetMasterPasswordDialog.java @@ -204,48 +204,36 @@ public class GetMasterPasswordDialog extends javax.swing.JDialog { final Dialog tthis = this; - THREAD_POOL.execute(new Runnable() { + THREAD_POOL.execute(() -> { + try { + byte[] pass = CryptTools.PBKDF2HMACSHA256(new String(current_pass_textfield.getPassword()), BASE642Bin(_salt), CryptTools.MASTER_PASSWORD_PBKDF2_ITERATIONS, CryptTools.MASTER_PASSWORD_PBKDF2_OUTPUT_BIT_LENGTH); + String pass_hash = Bin2BASE64(HashBin("SHA-1", pass)); + swingInvoke(() -> { + if (!pass_hash.equals(_current_pass_hash)) { - @Override - public void run() { - try { - byte[] pass = CryptTools.PBKDF2HMACSHA256(new String(current_pass_textfield.getPassword()), BASE642Bin(_salt), CryptTools.MASTER_PASSWORD_PBKDF2_ITERATIONS, CryptTools.MASTER_PASSWORD_PBKDF2_OUTPUT_BIT_LENGTH); + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("BAD PASSWORD!"), "Error", JOptionPane.ERROR_MESSAGE); - String pass_hash = Bin2BASE64(HashBin("SHA-1", pass)); + status_label.setText(""); - swingInvoke( - new Runnable() { - @Override - public void run() { - if (!pass_hash.equals(_current_pass_hash)) { + pack(); - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("BAD PASSWORD!"), "Error", JOptionPane.ERROR_MESSAGE); + current_pass_textfield.setText(""); - status_label.setText(""); + current_pass_textfield.grabFocus(); - pack(); + } else { - current_pass_textfield.setText(""); + _pass = pass; - current_pass_textfield.grabFocus(); + _current_pass_hash = pass_hash; - } else { - - _pass = pass; - - _current_pass_hash = pass_hash; - - _pass_ok = true; - - tthis.setVisible(false); - } - } - }); - - } catch (HeadlessException | NoSuchAlgorithmException | InvalidKeySpecException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } + _pass_ok = true; + tthis.setVisible(false); + } + }); + } catch (HeadlessException | NoSuchAlgorithmException | InvalidKeySpecException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); } }); diff --git a/src/main/java/com/tonikelope/megabasterd/LinkGrabberDialog.java b/src/main/java/com/tonikelope/megabasterd/LinkGrabberDialog.java index f395fcd73..4de3e1894 100644 --- a/src/main/java/com/tonikelope/megabasterd/LinkGrabberDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/LinkGrabberDialog.java @@ -79,28 +79,19 @@ public class LinkGrabberDialog extends javax.swing.JDialog implements ClipboardC if (_main_panel.isUse_mega_account_down() && _main_panel.getMega_accounts().size() > 0) { - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + swingInvoke(() -> { + String mega_default_down = _main_panel.getMega_account_down(); - swingInvoke(new Runnable() { - @Override - public void run() { + use_mega_account_down_combobox.addItem(mega_default_down); - String mega_default_down = _main_panel.getMega_account_down(); - - use_mega_account_down_combobox.addItem(mega_default_down); - - _main_panel.getMega_accounts().keySet().stream().filter((k) -> (!mega_default_down.equals(k))).forEachOrdered((k) -> { - use_mega_account_down_combobox.addItem(k); - }); - - use_mega_account_down_combobox.addItem(""); - use_mega_account_down_combobox.setSelectedIndex(0); - } + _main_panel.getMega_accounts().keySet().stream().filter((k) -> (!mega_default_down.equals(k))).forEachOrdered((k) -> { + use_mega_account_down_combobox.addItem(k); }); - } + use_mega_account_down_combobox.addItem(""); + use_mega_account_down_combobox.setSelectedIndex(0); + }); }); } else { @@ -312,78 +303,56 @@ public class LinkGrabberDialog extends javax.swing.JDialog implements ClipboardC final File file = filechooser.getSelectedFile(); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + try (final InputStream is = new BufferedInputStream(new FileInputStream(file)); final ByteArrayOutputStream out = new ByteArrayOutputStream()) { + byte[] buffer = new byte[MainPanel.DEFAULT_BYTE_BUFFER_SIZE]; + int reads; + while ((reads = is.read(buffer)) != -1) { - try (InputStream is = new BufferedInputStream(new FileInputStream(file)); ByteArrayOutputStream out = new ByteArrayOutputStream()) { - - byte[] buffer = new byte[MainPanel.DEFAULT_BYTE_BUFFER_SIZE]; - - int reads; - - while ((reads = is.read(buffer)) != -1) { - - out.write(buffer, 0, reads); - } - - String dlc = new String(out.toByteArray(), "UTF-8"); - - Set links = CryptTools.decryptDLC(dlc, ((MainPanelView) getParent()).getMain_panel()); - - for (Iterator i = links.iterator(); i.hasNext();) { - - String link = i.next(); - - if (findFirstRegex("(?:https?|mega)://[^/]*/(#.*?)?!.+![^\r\n]+", link, 0) == null) { - - i.remove(); - } - } - - if (!links.isEmpty()) { - - swingInvoke(new Runnable() { - @Override - public void run() { - links_textarea.setText(""); - - for (Iterator i = links.iterator(); i.hasNext();) { - - links_textarea.append(i.next()); - - if (i.hasNext()) { - - links_textarea.append("\r\n"); - } - } - } - }); - - } - - } catch (FileNotFoundException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } catch (IOException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); + out.write(buffer, 0, reads); } + String dlc = new String(out.toByteArray(), "UTF-8"); + Set links = CryptTools.decryptDLC(dlc, ((MainPanelView) getParent()).getMain_panel()); + for (Iterator i = links.iterator(); i.hasNext();) { - swingInvoke(new Runnable() { - @Override - public void run() { - dlc_button.setText(LabelTranslatorSingleton.getInstance().translate("Load DLC container")); + String link = i.next(); - dlc_button.setEnabled(true); + if (findFirstRegex("(?:https?|mega)://[^/]*/(#.*?)?!.+![^\r\n]+", link, 0) == null) { - links_textarea.setEnabled(true); - - dance_button.setEnabled(true); - - pack(); + i.remove(); } - }); + } + if (!links.isEmpty()) { + swingInvoke(() -> { + links_textarea.setText(""); + for (Iterator i = links.iterator(); i.hasNext();) { + + links_textarea.append(i.next()); + + if (i.hasNext()) { + + links_textarea.append("\r\n"); + } + } + }); + } + } catch (FileNotFoundException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } catch (IOException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); } + swingInvoke(() -> { + dlc_button.setText(LabelTranslatorSingleton.getInstance().translate("Load DLC container")); + + dlc_button.setEnabled(true); + + links_textarea.setEnabled(true); + + dance_button.setEnabled(true); + + pack(); + }); }); } else { @@ -418,48 +387,32 @@ public class LinkGrabberDialog extends javax.swing.JDialog implements ClipboardC final LinkGrabberDialog tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - - boolean use_account = true; - - try { - - if (checkMegaAccountLoginAndShowMasterPassDialog(_main_panel, tthis, _selected_item) == null) { - use_account = false; - } - - } catch (Exception ex) { + THREAD_POOL.execute(() -> { + boolean use_account = true; + try { + if (checkMegaAccountLoginAndShowMasterPassDialog(_main_panel, tthis, _selected_item) == null) { use_account = false; } - if (!use_account) { - swingInvoke(new Runnable() { - @Override - public void run() { - use_mega_account_down_combobox.setSelectedIndex(_main_panel.getMega_accounts().size()); - - } - }); - } - - swingInvoke(new Runnable() { - @Override - public void run() { - getUse_mega_account_down_combobox().setEnabled(true); - - getDance_button().setText(LabelTranslatorSingleton.getInstance().translate("Let's dance, baby")); - - getDance_button().setEnabled(true); - - pack(); - - } - }); + } catch (Exception ex) { + use_account = false; } + if (!use_account) { + swingInvoke(() -> { + use_mega_account_down_combobox.setSelectedIndex(_main_panel.getMega_accounts().size()); + }); + } + swingInvoke(() -> { + getUse_mega_account_down_combobox().setEnabled(true); + + getDance_button().setText(LabelTranslatorSingleton.getInstance().translate("Let's dance, baby")); + + getDance_button().setEnabled(true); + + pack(); + }); }); } @@ -482,14 +435,10 @@ public class LinkGrabberDialog extends javax.swing.JDialog implements ClipboardC @Override public void notifyClipboardChange() { - swingInvoke(new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + String current_text = links_textarea.getText(); - String current_text = links_textarea.getText(); - - links_textarea.append((current_text.length() > 0 ? "\n\n" : "") + extractMegaLinksFromString(extractStringFromClipboardContents(_clipboardspy.getContents()))); - } + links_textarea.append((current_text.length() > 0 ? "\n\n" : "") + extractMegaLinksFromString(extractStringFromClipboardContents(_clipboardspy.getContents()))); }); } private static final Logger LOG = Logger.getLogger(LinkGrabberDialog.class.getName()); diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanel.java b/src/main/java/com/tonikelope/megabasterd/MainPanel.java index f940fb8d5..fe1b8c311 100644 --- a/src/main/java/com/tonikelope/megabasterd/MainPanel.java +++ b/src/main/java/com/tonikelope/megabasterd/MainPanel.java @@ -53,7 +53,7 @@ import javax.swing.UIManager; */ public final class MainPanel { - public static final String VERSION = "6.57"; + public static final String VERSION = "6.58"; public static final int THROTTLE_SLICE_SIZE = 16 * 1024; public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024; public static final int STREAMER_PORT = 1337; @@ -106,11 +106,8 @@ public final class MainPanel { final MainPanel main_panel = new MainPanel(); - invokeLater(new Runnable() { - @Override - public void run() { - main_panel.getView().setVisible(true); - } + invokeLater(() -> { + main_panel.getView().setVisible(true); }); } @@ -188,7 +185,6 @@ public final class MainPanel { private boolean _megacrypter_reverse; private float _zoom_factor; private volatile boolean _exit; - private volatile boolean _forcing_gc; public MainPanel() { @@ -263,43 +259,38 @@ public final class MainPanel { THREAD_POOL.execute((_clipboardspy = new ClipboardSpy())); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + Object timer_lock = new Object(); - Object timer_lock = new Object(); + Timer timer = new Timer(); - Timer timer = new Timer(); - - TimerTask task = new TimerTask() { - - @Override - public void run() { - synchronized (timer_lock) { - - timer_lock.notify(); - } - } - }; - - timer.schedule(task, 0, 5000); - - while (true) { + TimerTask task = new TimerTask() { + @Override + public void run() { synchronized (timer_lock) { - try { - - if (_download_manager.no_transferences() && _upload_manager.no_transferences() && (!_download_manager.getTransference_finished_queue().isEmpty() || !_upload_manager.getTransference_finished_queue().isEmpty()) && getView().getAuto_close_menu().isSelected()) { - System.exit(0); - } - - timer_lock.wait(); - } catch (InterruptedException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } + timer_lock.notify(); } + } + }; + timer.schedule(task, 0, 5000); + + while (true) { + + synchronized (timer_lock) { + + try { + + if (_download_manager.no_transferences() && _upload_manager.no_transferences() && (!_download_manager.getTransference_finished_queue().isEmpty() || !_upload_manager.getTransference_finished_queue().isEmpty()) && getView().getAuto_close_menu().isSelected()) { + System.exit(0); + } + + timer_lock.wait(); + } catch (InterruptedException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } } } @@ -314,16 +305,12 @@ public final class MainPanel { check_old_version(); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + _new_version = checkNewVersion(AboutDialog.MEGABASTERD_URL); - _new_version = checkNewVersion(AboutDialog.MEGABASTERD_URL); + if (_new_version != null) { - if (_new_version != null) { - - JOptionPane.showMessageDialog(getView(), LabelTranslatorSingleton.getInstance().translate("MegaBasterd NEW VERSION is available! -> ") + _new_version); - } + JOptionPane.showMessageDialog(getView(), LabelTranslatorSingleton.getInstance().translate("MegaBasterd NEW VERSION is available! -> ") + _new_version); } }); @@ -336,12 +323,8 @@ public final class MainPanel { } else { _mega_proxy_server = null; - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().updateMCReverseStatus("MC reverse mode: OFF"); - } + swingInvoke(() -> { + getView().updateMCReverseStatus("MC reverse mode: OFF"); }); } @@ -350,64 +333,35 @@ public final class MainPanel { MainPanel tthis = this; - THREAD_POOL.execute( - new Runnable() { - @Override - public void run() { - _proxy_manager = new SmartMegaProxyManager(null, tthis); - } + THREAD_POOL.execute(() -> { + _proxy_manager = new SmartMegaProxyManager(null, tthis); }); } else { - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().updateSmartProxyStatus("SmartProxy: OFF"); - } + swingInvoke(() -> { + getView().updateSmartProxyStatus("SmartProxy: OFF"); }); } - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getGlobal_speed_down_label().setForeground(_limit_download_speed ? new Color(255, 0, 0) : new Color(0, 128, 255)); + swingInvoke(() -> { + getView().getGlobal_speed_down_label().setForeground(_limit_download_speed ? new Color(255, 0, 0) : new Color(0, 128, 255)); - getView().getGlobal_speed_up_label().setForeground(_limit_upload_speed ? new Color(255, 0, 0) : new Color(0, 128, 255)); - } + getView().getGlobal_speed_up_label().setForeground(_limit_upload_speed ? new Color(255, 0, 0) : new Color(0, 128, 255)); }); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - - Runtime instance = Runtime.getRuntime(); - - _forcing_gc = false; - - while (true) { - - long used_memory = instance.totalMemory() - instance.freeMemory(); - - long max_memory = instance.maxMemory(); - - swingInvoke(new Runnable() { - @Override - public void run() { - - _view.getMemory_status().setText(MiscTools.formatBytes(used_memory) + " / " + MiscTools.formatBytes(max_memory)); - - } - }); - - try { - Thread.sleep(2000); - } catch (InterruptedException ex) { - Logger.getLogger(MainPanelView.class.getName()).log(Level.SEVERE, ex.getMessage()); - } + THREAD_POOL.execute(() -> { + Runtime instance = Runtime.getRuntime(); + while (true) { + long used_memory = instance.totalMemory() - instance.freeMemory(); + long max_memory = instance.maxMemory(); + swingInvoke(() -> { + _view.getMemory_status().setText(MiscTools.formatBytes(used_memory) + " / " + MiscTools.formatBytes(max_memory)); + }); + try { + Thread.sleep(2000); + } catch (InterruptedException ex) { + Logger.getLogger(MainPanelView.class.getName()).log(Level.SEVERE, ex.getMessage()); } - } }); @@ -1018,110 +972,73 @@ public final class MainPanel { if (!_download_manager.getTransference_running_list().isEmpty() || !_upload_manager.getTransference_running_list().isEmpty()) { - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - - boolean wait; - - do { - - wait = false; - - if (!_download_manager.getTransference_running_list().isEmpty()) { - - for (Transference trans : _download_manager.getTransference_running_list()) { - - Download download = (Download) trans; - - if (download.isPaused()) { - download.pause(); - } - - if (!download.getChunkworkers().isEmpty()) { - - wait = true; - - swingInvoke(new Runnable() { - @Override - public void run() { - - download.getView().printStatusNormal("Stopping download safely before exit MegaBasterd, please wait..."); - download.getView().getSlots_spinner().setEnabled(false); - download.getView().getPause_button().setEnabled(false); - download.getView().getCopy_link_button().setEnabled(false); - download.getView().getOpen_folder_button().setEnabled(false); - download.getView().getFile_size_label().setEnabled(false); - download.getView().getFile_name_label().setEnabled(false); - download.getView().getSpeed_label().setEnabled(false); - download.getView().getSlots_label().setEnabled(false); - download.getView().getProgress_pbar().setEnabled(false); - - } - }); - - } + THREAD_POOL.execute(() -> { + boolean wait; + do { + wait = false; + if (!_download_manager.getTransference_running_list().isEmpty()) { + for (Transference trans : _download_manager.getTransference_running_list()) { + Download download = (Download) trans; + if (download.isPaused()) { + download.pause(); } - - } - - if (!_upload_manager.getTransference_running_list().isEmpty()) { - - for (Transference trans : _upload_manager.getTransference_running_list()) { - - Upload upload = (Upload) trans; - - upload.getMac_generator().secureNotify(); - - if (upload.isPaused()) { - upload.pause(); - } - - if (!upload.getChunkworkers().isEmpty()) { - - wait = true; - - swingInvoke(new Runnable() { - @Override - public void run() { - - upload.getView().printStatusNormal("Stopping upload safely before exit MegaBasterd, please wait..."); - upload.getView().getSlots_spinner().setEnabled(false); - upload.getView().getPause_button().setEnabled(false); - upload.getView().getFolder_link_button().setEnabled(false); - upload.getView().getFile_link_button().setEnabled(false); - upload.getView().getFile_size_label().setEnabled(false); - upload.getView().getFile_name_label().setEnabled(false); - upload.getView().getSpeed_label().setEnabled(false); - upload.getView().getSlots_label().setEnabled(false); - upload.getView().getProgress_pbar().setEnabled(false); - - } - }); - } else { - try { - DBTools.updateUploadProgress(upload.getFile_name(), upload.getMa().getFull_email(), upload.getProgress(), upload.getTemp_mac_data() != null ? upload.getTemp_mac_data() : null); - } catch (SQLException ex) { - Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); - } - } - + if (!download.getChunkworkers().isEmpty()) { + wait = true; + swingInvoke(() -> { + download.getView().printStatusNormal("Stopping download safely before exit MegaBasterd, please wait..."); + download.getView().getSlots_spinner().setEnabled(false); + download.getView().getPause_button().setEnabled(false); + download.getView().getCopy_link_button().setEnabled(false); + download.getView().getOpen_folder_button().setEnabled(false); + download.getView().getFile_size_label().setEnabled(false); + download.getView().getFile_name_label().setEnabled(false); + download.getView().getSpeed_label().setEnabled(false); + download.getView().getSlots_label().setEnabled(false); + download.getView().getProgress_pbar().setEnabled(false); + }); } } - - if (wait) { - - try { - Thread.sleep(1000); - } catch (InterruptedException ex) { - Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); + } + if (!_upload_manager.getTransference_running_list().isEmpty()) { + for (Transference trans : _upload_manager.getTransference_running_list()) { + Upload upload = (Upload) trans; + upload.getMac_generator().secureNotify(); + if (upload.isPaused()) { + upload.pause(); + } + if (!upload.getChunkworkers().isEmpty()) { + wait = true; + swingInvoke(() -> { + upload.getView().printStatusNormal("Stopping upload safely before exit MegaBasterd, please wait..."); + upload.getView().getSlots_spinner().setEnabled(false); + upload.getView().getPause_button().setEnabled(false); + upload.getView().getFolder_link_button().setEnabled(false); + upload.getView().getFile_link_button().setEnabled(false); + upload.getView().getFile_size_label().setEnabled(false); + upload.getView().getFile_name_label().setEnabled(false); + upload.getView().getSpeed_label().setEnabled(false); + upload.getView().getSlots_label().setEnabled(false); + upload.getView().getProgress_pbar().setEnabled(false); + }); + } else { + try { + DBTools.updateUploadProgress(upload.getFile_name(), upload.getMa().getFull_email(), upload.getProgress(), upload.getTemp_mac_data() != null ? upload.getTemp_mac_data() : null); + } catch (SQLException ex) { + Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); + } } } + } + if (wait) { - } while (wait); - - byebyenow(restart); - } + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); + } + } + } while (wait); + byebyenow(restart); }); WarningExitMessage exit_message = new WarningExitMessage(getView(), true, this, restart); @@ -1153,33 +1070,19 @@ public final class MainPanel { final ServerSocket serverSocket = new ServerSocket(WATCHDOG_PORT, 0, InetAddress.getLoopbackAddress()); - THREAD_POOL.execute(new Runnable() { + THREAD_POOL.execute(() -> { + final ServerSocket socket = serverSocket; + while (true) { + try { + socket.accept(); + swingInvoke(() -> { + getView().setExtendedState(NORMAL); - @Override - public void run() { - - final ServerSocket socket = serverSocket; - - while (true) { - - try { - socket.accept(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().setExtendedState(NORMAL); - - getView().setVisible(true); - } - }); - - } catch (Exception ex) { - Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); - } + getView().setVisible(true); + }); + } catch (Exception ex1) { + Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex1.getMessage()); } - } }); } catch (Exception ex2) { @@ -1195,77 +1098,53 @@ public final class MainPanel { private void resumeDownloads() { - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getStatus_down_label().setText(LabelTranslatorSingleton.getInstance().translate("Checking if there are previous downloads, please wait...")); - } + swingInvoke(() -> { + getView().getStatus_down_label().setText(LabelTranslatorSingleton.getInstance().translate("Checking if there are previous downloads, please wait...")); }); final MainPanel tthis = this; - THREAD_POOL.execute(new Runnable() { + THREAD_POOL.execute(() -> { + int conta_downloads = 0; + try { - @Override - public void run() { + ArrayList> res = selectDownloads(); - int conta_downloads = 0; + for (HashMap o : res) { - try { + try { - ArrayList> res = selectDownloads(); + String email = (String) o.get("email"); - for (HashMap o : res) { + MegaAPI ma = new MegaAPI(); - try { + if (!tthis.isUse_mega_account_down() || (_mega_accounts.get(email) != null && (ma = checkMegaAccountLoginAndShowMasterPassDialog(tthis, getView(), email)) != null)) { - String email = (String) o.get("email"); + Download download = new Download(tthis, ma, (String) o.get("url"), (String) o.get("path"), (String) o.get("filename"), (String) o.get("filekey"), (Long) o.get("filesize"), (String) o.get("filepass"), (String) o.get("filenoexpire"), _use_slots_down, false, (String) o.get("custom_chunks_dir")); - MegaAPI ma = new MegaAPI(); + getDownload_manager().getTransference_provision_queue().add(download); - if (!tthis.isUse_mega_account_down() || (_mega_accounts.get(email) != null && (ma = checkMegaAccountLoginAndShowMasterPassDialog(tthis, getView(), email)) != null)) { - - Download download = new Download(tthis, ma, (String) o.get("url"), (String) o.get("path"), (String) o.get("filename"), (String) o.get("filekey"), (Long) o.get("filesize"), (String) o.get("filepass"), (String) o.get("filenoexpire"), _use_slots_down, false, (String) o.get("custom_chunks_dir")); - - getDownload_manager().getTransference_provision_queue().add(download); - - conta_downloads++; - } - - } catch (Exception ex) { - Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); + conta_downloads++; } + + } catch (Exception ex) { + Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, ex.getMessage()); } - - } catch (SQLException ex) { - - Logger.getLogger(MainPanel.class.getName()).log(SEVERE, null, ex); } - if (conta_downloads > 0) { - - getDownload_manager().secureNotify(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getjTabbedPane1().setSelectedIndex(0); - } - }); - - } - - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getStatus_down_label().setText(""); - } - }); + } catch (SQLException ex) { + Logger.getLogger(MainPanel.class.getName()).log(SEVERE, null, ex); } + if (conta_downloads > 0) { + getDownload_manager().secureNotify(); + swingInvoke(() -> { + getView().getjTabbedPane1().setSelectedIndex(0); + }); + } + swingInvoke(() -> { + getView().getStatus_down_label().setText(""); + }); }); } @@ -1282,79 +1161,50 @@ public final class MainPanel { MenuItem messageItem = new MenuItem(LabelTranslatorSingleton.getInstance().translate("Restore window")); - messageItem.addActionListener(new ActionListener() { + messageItem.addActionListener((ActionEvent e) -> { + swingInvoke(() -> { + getView().setExtendedState(NORMAL); - @Override - public void actionPerformed(ActionEvent e) { + getView().setVisible(true); - swingInvoke( - new Runnable() { - @Override - public void run() { + getView().revalidate(); - getView().setExtendedState(NORMAL); - - getView().setVisible(true); - - getView().revalidate(); - - getView().repaint(); - } - }); - - } + getView().repaint(); + }); }); menu.add(messageItem); MenuItem closeItem = new MenuItem(LabelTranslatorSingleton.getInstance().translate("EXIT")); - closeItem.addActionListener(new ActionListener() { + closeItem.addActionListener((ActionEvent e) -> { + if (!getView().isVisible()) { - @Override - public void actionPerformed(ActionEvent e) { + getView().setExtendedState(NORMAL); + getView().setVisible(true); + getView().revalidate(); + getView().repaint(); + } + + byebye(false); + }); + + menu.add(closeItem); + + ActionListener actionListener = (ActionEvent e) -> { + swingInvoke(() -> { if (!getView().isVisible()) { - getView().setExtendedState(NORMAL); getView().setVisible(true); getView().revalidate(); getView().repaint(); + } else { + + getView().dispatchEvent(new WindowEvent(getView(), WINDOW_CLOSING)); } - - byebye(false); - - } - - }); - - menu.add(closeItem); - - ActionListener actionListener = new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - - swingInvoke( - new Runnable() { - @Override - public void run() { - - if (!getView().isVisible()) { - getView().setExtendedState(NORMAL); - getView().setVisible(true); - getView().revalidate(); - getView().repaint(); - - } else { - - getView().dispatchEvent(new WindowEvent(getView(), WINDOW_CLOSING)); - } - } - }); - - } + }); }; _trayicon = new TrayIcon(getDefaultToolkit().getImage(getClass().getResource(ICON_FILE)), "MegaBasterd", menu); @@ -1373,81 +1223,55 @@ public final class MainPanel { private void resumeUploads() { - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getStatus_up_label().setText(LabelTranslatorSingleton.getInstance().translate("Checking if there are previous uploads, please wait...")); - } + swingInvoke(() -> { + getView().getStatus_up_label().setText(LabelTranslatorSingleton.getInstance().translate("Checking if there are previous uploads, please wait...")); }); final MainPanel tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + try { + int conta_uploads = 0; + ArrayList> res = selectUploads(); + for (HashMap o : res) { - try { + try { - int conta_uploads = 0; + String email = (String) o.get("email"); - ArrayList> res = selectUploads(); + if (_mega_accounts.get(email) != null) { - for (HashMap o : res) { + MegaAPI ma; - try { + if ((ma = checkMegaAccountLoginAndShowMasterPassDialog(tthis, getView(), email)) != null) { - String email = (String) o.get("email"); + Upload upload = new Upload(tthis, ma, (String) o.get("filename"), (String) o.get("parent_node"), (String) o.get("ul_key") != null ? bin2i32a(BASE642Bin((String) o.get("ul_key"))) : null, (String) o.get("url"), (String) o.get("root_node"), BASE642Bin((String) o.get("share_key")), (String) o.get("folder_link")); - if (_mega_accounts.get(email) != null) { + getUpload_manager().getTransference_provision_queue().add(upload); - MegaAPI ma; - - if ((ma = checkMegaAccountLoginAndShowMasterPassDialog(tthis, getView(), email)) != null) { - - Upload upload = new Upload(tthis, ma, (String) o.get("filename"), (String) o.get("parent_node"), (String) o.get("ul_key") != null ? bin2i32a(BASE642Bin((String) o.get("ul_key"))) : null, (String) o.get("url"), (String) o.get("root_node"), BASE642Bin((String) o.get("share_key")), (String) o.get("folder_link")); - - getUpload_manager().getTransference_provision_queue().add(upload); - - conta_uploads++; - } - - } else { - - deleteUpload((String) o.get("filename"), email); + conta_uploads++; } - } catch (Exception ex) { - Logger.getLogger(MainPanel.class.getName()).log(SEVERE, null, ex); + } else { + + deleteUpload((String) o.get("filename"), email); } + + } catch (Exception ex) { + Logger.getLogger(MainPanel.class.getName()).log(SEVERE, null, ex); } - - if (conta_uploads > 0) { - - getUpload_manager().secureNotify(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getjTabbedPane1().setSelectedIndex(1); - } - }); - - } - - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getStatus_up_label().setText(""); - } - }); - - } catch (SQLException ex) { - Logger.getLogger(MainPanel.class.getName()).log(SEVERE, null, ex); } - + if (conta_uploads > 0) { + getUpload_manager().secureNotify(); + swingInvoke(() -> { + getView().getjTabbedPane1().setSelectedIndex(1); + }); + } + swingInvoke(() -> { + getView().getStatus_up_label().setText(""); + }); + } catch (SQLException ex) { + Logger.getLogger(MainPanel.class.getName()).log(SEVERE, null, ex); } }); diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java index e8b5beb12..4a54f2475 100644 --- a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java +++ b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java @@ -150,16 +150,11 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH if (!old_status.equals(status + " ")) { Dimension frame_size = this.getSize(); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getKiss_server_status().setText(status + " "); - getKiss_server_status().setText(status + " "); - - pack(); - setSize(frame_size); - } + pack(); + setSize(frame_size); }); } @@ -172,16 +167,11 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH if (!old_status.equals(status + " ")) { Dimension frame_size = this.getSize(); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getSmart_proxy_status().setText(status + " "); - getSmart_proxy_status().setText(status + " "); - - pack(); - setSize(frame_size); - } + pack(); + setSize(frame_size); }); } @@ -194,16 +184,11 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH if (!old_status.equals(status + " ")) { Dimension frame_size = this.getSize(); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getMc_reverse_status().setText(status + " "); - getMc_reverse_status().setText(status + " "); - - pack(); - setSize(frame_size); - } + pack(); + setSize(frame_size); }); } @@ -231,108 +216,106 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH jTabbedPane1.setSelectedIndex(1); - Runnable run = new Runnable() { - @Override - public void run() { + Runnable run = () -> { - MegaAPI ma = getMain_panel().getMega_active_accounts().get(mega_account); + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - try { + MegaAPI ma = getMain_panel().getMega_active_accounts().get(mega_account); - byte[] parent_key = ma.genFolderKey(); + try { - byte[] share_key = ma.genShareKey(); + byte[] parent_key = ma.genFolderKey(); - HashMap res = ma.createDir(dir_name != null ? dir_name : dialog.getFiles().get(0).getName() + "_" + genID(10), ma.getRoot_id(), parent_key, i32a2bin(ma.getMaster_key())); + byte[] share_key = ma.genShareKey(); - String parent_node = (String) ((Map) ((List) res.get("f")).get(0)).get("h"); + HashMap res = ma.createDir(dir_name != null ? dir_name : dialog.getFiles().get(0).getName() + "_" + genID(10), ma.getRoot_id(), parent_key, i32a2bin(ma.getMaster_key())); - LOG.log(Level.INFO, "{0} Dir {1} created", new Object[]{Thread.currentThread().getName(), parent_node}); + String parent_node = (String) ((Map) ((List) res.get("f")).get(0)).get("h"); - ma.shareFolder(parent_node, parent_key, share_key); + LOG.log(Level.INFO, "{0} Dir {1} created", new Object[]{Thread.currentThread().getName(), parent_node}); - String folder_link = ma.getPublicFolderLink(parent_node, share_key); + ma.shareFolder(parent_node, parent_key, share_key); - if (dialog.getUpload_log_checkbox().isSelected()) { + String folder_link = ma.getPublicFolderLink(parent_node, share_key); - File upload_log = new File(System.getProperty("user.home") + "/megabasterd_upload_" + parent_node + ".log"); - upload_log.createNewFile(); + if (dialog.getUpload_log_checkbox().isSelected()) { - FileWriter fr; - try { - fr = new FileWriter(upload_log, true); - fr.write("***** MegaBasterd UPLOAD LOG FILE *****\n\n"); - fr.write(dir_name + " " + folder_link + "\n\n"); - fr.close(); - } catch (IOException ex) { - Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, ex.getMessage()); - } + File upload_log = new File(System.getProperty("user.home") + "/megabasterd_upload_" + parent_node + ".log"); + upload_log.createNewFile(); + + FileWriter fr; + try { + fr = new FileWriter(upload_log, true); + fr.write("***** MegaBasterd UPLOAD LOG FILE *****\n\n"); + fr.write(dir_name + " " + folder_link + "\n\n"); + fr.close(); + } catch (IOException ex) { + Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, ex.getMessage()); } - - MegaDirNode file_paths = new MegaDirNode(parent_node); - - for (File f : dialog.getFiles()) { - - String file_path = f.getParentFile().getAbsolutePath().replace(base_path, ""); - - String[] dirs = file_path.split("/"); - - MegaDirNode current_node = file_paths; - - String file_parent = current_node.getNode_id(); - - for (String d : dirs) { - - if (!d.isEmpty()) { - - if (current_node.getChildren().get(d) != null) { - - current_node = current_node.getChildren().get(d); - - file_parent = current_node.getNode_id(); - - } else { - - res = ma.createDirInsideAnotherSharedDir(d, current_node.getNode_id(), ma.genFolderKey(), i32a2bin(ma.getMaster_key()), parent_node, share_key); - - file_parent = (String) ((Map) ((List) res.get("f")).get(0)).get("h"); - - current_node.getChildren().put(d, new MegaDirNode(file_parent)); - - current_node = current_node.getChildren().get(d); - } - } - } - - while (getMain_panel().getUpload_manager().getTransference_waitstart_queue().size() >= TransferenceManager.MAX_WAIT_QUEUE) { - - synchronized (getMain_panel().getUpload_manager().getWait_queue_lock()) { - getMain_panel().getUpload_manager().getWait_queue_lock().wait(1000); - } - } - - if (!getMain_panel().getUpload_manager().getTransference_preprocess_global_queue().isEmpty()) { - - Upload upload = new Upload(getMain_panel(), ma, f.getAbsolutePath(), file_parent, null, null, parent_node, share_key, folder_link); - - getMain_panel().getUpload_manager().getTransference_provision_queue().add(upload); - - getMain_panel().getUpload_manager().getTransference_preprocess_global_queue().remove(f); - - getMain_panel().getUpload_manager().secureNotify(); - - } else { - break; - } - - } - - } catch (Exception ex) { - - LOG.log(SEVERE, null, ex); } - } + MegaDirNode file_paths = new MegaDirNode(parent_node); + + for (File f : dialog.getFiles()) { + + String file_path = f.getParentFile().getAbsolutePath().replace(base_path, ""); + + String[] dirs = file_path.split("/"); + + MegaDirNode current_node = file_paths; + + String file_parent = current_node.getNode_id(); + + for (String d : dirs) { + + if (!d.isEmpty()) { + + if (current_node.getChildren().get(d) != null) { + + current_node = current_node.getChildren().get(d); + + file_parent = current_node.getNode_id(); + + } else { + + res = ma.createDirInsideAnotherSharedDir(d, current_node.getNode_id(), ma.genFolderKey(), i32a2bin(ma.getMaster_key()), parent_node, share_key); + + file_parent = (String) ((Map) ((List) res.get("f")).get(0)).get("h"); + + current_node.getChildren().put(d, new MegaDirNode(file_parent)); + + current_node = current_node.getChildren().get(d); + } + } + } + + while (getMain_panel().getUpload_manager().getTransference_waitstart_queue().size() >= TransferenceManager.MAX_WAIT_QUEUE) { + + synchronized (getMain_panel().getUpload_manager().getWait_queue_lock()) { + getMain_panel().getUpload_manager().getWait_queue_lock().wait(1000); + } + } + + if (!getMain_panel().getUpload_manager().getTransference_preprocess_global_queue().isEmpty()) { + + Upload upload = new Upload(getMain_panel(), ma, f.getAbsolutePath(), file_parent, null, null, parent_node, share_key, folder_link); + + getMain_panel().getUpload_manager().getTransference_provision_queue().add(upload); + + getMain_panel().getUpload_manager().getTransference_preprocess_global_queue().remove(f); + + getMain_panel().getUpload_manager().secureNotify(); + + } else { + break; + } + + } + + } catch (Exception ex) { + + LOG.log(SEVERE, null, ex); + } }; getMain_panel().getUpload_manager().getTransference_preprocess_queue().add(run); @@ -358,49 +341,43 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH final MainPanelView tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + int n; - int n; + if (files.size() > 1) { - if (files.size() > 1) { + Object[] options = {LabelTranslatorSingleton.getInstance().translate("Split content in different uploads"), LabelTranslatorSingleton.getInstance().translate("Merge content in the same upload")}; - Object[] options = {LabelTranslatorSingleton.getInstance().translate("Split content in different uploads"), LabelTranslatorSingleton.getInstance().translate("Merge content in the same upload")}; + n = showOptionDialog(_main_panel.getView(), + LabelTranslatorSingleton.getInstance().translate("How do you want to proceed?"), + LabelTranslatorSingleton.getInstance().translate("File Grabber"), DEFAULT_OPTION, INFORMATION_MESSAGE, + null, + options, + null); - n = showOptionDialog(_main_panel.getView(), - LabelTranslatorSingleton.getInstance().translate("How do you want to proceed?"), - LabelTranslatorSingleton.getInstance().translate("File Grabber"), DEFAULT_OPTION, INFORMATION_MESSAGE, - null, - options, - null); + } else { - } else { - - n = 1; - - } - - if (n == 0) { - - files.stream().map((file) -> { - List aux = new ArrayList<>(); - aux.add(file); - return aux; - }).map((aux) -> new FileGrabberDialog(tthis, true, aux)).forEachOrdered((dialog) -> { - _new_upload_dialog(dialog); - }); - - } else if (n == 1) { - - final FileGrabberDialog dialog = new FileGrabberDialog(tthis, true, files); - - _new_upload_dialog(dialog); - - } + n = 1; } + if (n == 0) { + + files.stream().map((file) -> { + List aux = new ArrayList<>(); + aux.add(file); + return aux; + }).map((aux) -> new FileGrabberDialog(tthis, true, aux)).forEachOrdered((dialog) -> { + _new_upload_dialog(dialog); + }); + + } else if (n == 1) { + + final FileGrabberDialog dialog = new FileGrabberDialog(tthis, true, files); + + _new_upload_dialog(dialog); + + } }); } @@ -898,143 +875,141 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH final MainPanelView tthis = this; - Runnable run = new Runnable() { - @Override - public void run() { + Runnable run = () -> { - Set urls = new HashSet(findAllRegex("(?:https?|mega)://[^/\r\n]+/(#[^\r\n!]*?)?![^\r\n!]+![^\r\n]+", dialog.getLinks_textarea().getText(), 0)); + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - Set megadownloader = new HashSet(findAllRegex("mega://enc[^\r\n]+", dialog.getLinks_textarea().getText(), 0)); + Set urls = new HashSet(findAllRegex("(?:https?|mega)://[^/\r\n]+/(#[^\r\n!]*?)?![^\r\n!]+![^\r\n]+", dialog.getLinks_textarea().getText(), 0)); + + Set megadownloader = new HashSet(findAllRegex("mega://enc[^\r\n]+", dialog.getLinks_textarea().getText(), 0)); + + megadownloader.forEach((link) -> { + try { + + urls.add(decryptMegaDownloaderLink(link)); + + } catch (Exception ex) { + LOG.log(SEVERE, null, ex); + } + }); + + Set elc = new HashSet(findAllRegex("mega://elc[^\r\n]+", dialog.getLinks_textarea().getText(), 0)); + + elc.forEach((link) -> { + try { + + urls.addAll(CryptTools.decryptELC(link, getMain_panel())); + + } catch (Exception ex) { + LOG.log(SEVERE, null, ex); + } + }); + + Set dlc = new HashSet(findAllRegex("dlc://([^\r\n]+)", dialog.getLinks_textarea().getText(), 1)); + + dlc.stream().map((d) -> CryptTools.decryptDLC(d, _main_panel)).forEachOrdered((links) -> { + links.stream().filter((link) -> (findFirstRegex("(?:https?|mega)://[^/\r\n]+/(#[^\r\n!]*?)?![^\r\n!]+![^\r\n]+", link, 0) != null)).forEachOrdered((link) -> { + urls.add(link); + }); + }); + + if (!urls.isEmpty()) { + + getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().addAll(urls); + + getMain_panel().getDownload_manager().secureNotify(); + + boolean link_warning; + + for (String url : urls) { - megadownloader.forEach((link) -> { try { - urls.add(decryptMegaDownloaderLink(link)); + link_warning = false; - } catch (Exception ex) { - LOG.log(SEVERE, null, ex); - } - }); + url = URLDecoder.decode(url, "UTF-8").replaceAll("^mega://", "https://mega.nz").trim(); - Set elc = new HashSet(findAllRegex("mega://elc[^\r\n]+", dialog.getLinks_textarea().getText(), 0)); + Download download; - elc.forEach((link) -> { - try { + if (findFirstRegex("#F!", url, 0) != null) { - urls.addAll(CryptTools.decryptELC(link, getMain_panel())); + FolderLinkDialog fdialog = new FolderLinkDialog(_main_panel.getView(), true, url); - } catch (Exception ex) { - LOG.log(SEVERE, null, ex); - } - }); + if (!fdialog.isMega_error()) { - Set dlc = new HashSet(findAllRegex("dlc://([^\r\n]+)", dialog.getLinks_textarea().getText(), 1)); + fdialog.setLocationRelativeTo(_main_panel.getView()); - dlc.stream().map((d) -> CryptTools.decryptDLC(d, _main_panel)).forEachOrdered((links) -> { - links.stream().filter((link) -> (findFirstRegex("(?:https?|mega)://[^/\r\n]+/(#[^\r\n!]*?)?![^\r\n!]+![^\r\n]+", link, 0) != null)).forEachOrdered((link) -> { - urls.add(link); - }); - }); + fdialog.setVisible(true); - if (!urls.isEmpty()) { + if (fdialog.isDownload()) { - getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().addAll(urls); + List folder_links = fdialog.getDownload_links(); - getMain_panel().getDownload_manager().secureNotify(); + fdialog.dispose(); - boolean link_warning; + for (HashMap folder_link : folder_links) { - for (String url : urls) { + while (getMain_panel().getDownload_manager().getTransference_waitstart_queue().size() >= TransferenceManager.MAX_WAIT_QUEUE) { - try { + if (!link_warning) { + link_warning = true; - link_warning = false; - - url = URLDecoder.decode(url, "UTF-8").replaceAll("^mega://", "https://mega.nz").trim(); - - Download download; - - if (findFirstRegex("#F!", url, 0) != null) { - - FolderLinkDialog fdialog = new FolderLinkDialog(_main_panel.getView(), true, url); - - if (!fdialog.isMega_error()) { - - fdialog.setLocationRelativeTo(_main_panel.getView()); - - fdialog.setVisible(true); - - if (fdialog.isDownload()) { - - List folder_links = fdialog.getDownload_links(); - - fdialog.dispose(); - - for (HashMap folder_link : folder_links) { - - while (getMain_panel().getDownload_manager().getTransference_waitstart_queue().size() >= TransferenceManager.MAX_WAIT_QUEUE) { - - if (!link_warning) { - link_warning = true; - - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("There are a lot of files in this folder.\nNot all links will be provisioned at once to avoid saturating MegaBasterd"), "Warning", JOptionPane.WARNING_MESSAGE); - } - - synchronized (getMain_panel().getDownload_manager().getWait_queue_lock()) { - getMain_panel().getDownload_manager().getWait_queue_lock().wait(1000); - } + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("There are a lot of files in this folder.\nNot all links will be provisioned at once to avoid saturating MegaBasterd"), "Warning", JOptionPane.WARNING_MESSAGE); } - if (!getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().isEmpty()) { - - download = new Download(getMain_panel(), ma, (String) folder_link.get("url"), dl_path, (String) folder_link.get("filename"), (String) folder_link.get("filekey"), (long) folder_link.get("filesize"), null, null, getMain_panel().isUse_slots_down(), true, getMain_panel().isUse_custom_chunks_dir() ? getMain_panel().getCustom_chunks_dir() : null); - - getMain_panel().getDownload_manager().getTransference_provision_queue().add(download); - - getMain_panel().getDownload_manager().secureNotify(); - } else { - break; + synchronized (getMain_panel().getDownload_manager().getWait_queue_lock()) { + getMain_panel().getDownload_manager().getWait_queue_lock().wait(1000); } } + + if (!getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().isEmpty()) { + + download = new Download(getMain_panel(), ma, (String) folder_link.get("url"), dl_path, (String) folder_link.get("filename"), (String) folder_link.get("filekey"), (long) folder_link.get("filesize"), null, null, getMain_panel().isUse_slots_down(), true, getMain_panel().isUse_custom_chunks_dir() ? getMain_panel().getCustom_chunks_dir() : null); + + getMain_panel().getDownload_manager().getTransference_provision_queue().add(download); + + getMain_panel().getDownload_manager().secureNotify(); + } else { + break; + } } - - } - - fdialog.dispose(); - - } else { - - while (getMain_panel().getDownload_manager().getTransference_waitstart_queue().size() >= TransferenceManager.MAX_WAIT_QUEUE) { - - synchronized (getMain_panel().getDownload_manager().getWait_queue_lock()) { - getMain_panel().getDownload_manager().getWait_queue_lock().wait(1000); - } - } - - if (!getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().isEmpty()) { - - download = new Download(getMain_panel(), ma, url, dl_path, null, null, null, null, null, getMain_panel().isUse_slots_down(), false, getMain_panel().isUse_custom_chunks_dir() ? getMain_panel().getCustom_chunks_dir() : null); - - getMain_panel().getDownload_manager().getTransference_provision_queue().add(download); - - getMain_panel().getDownload_manager().secureNotify(); } } - getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().remove(url); + fdialog.dispose(); - getMain_panel().getDownload_manager().secureNotify(); + } else { + + while (getMain_panel().getDownload_manager().getTransference_waitstart_queue().size() >= TransferenceManager.MAX_WAIT_QUEUE) { + + synchronized (getMain_panel().getDownload_manager().getWait_queue_lock()) { + getMain_panel().getDownload_manager().getWait_queue_lock().wait(1000); + } + } + + if (!getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().isEmpty()) { + + download = new Download(getMain_panel(), ma, url, dl_path, null, null, null, null, null, getMain_panel().isUse_slots_down(), false, getMain_panel().isUse_custom_chunks_dir() ? getMain_panel().getCustom_chunks_dir() : null); + + getMain_panel().getDownload_manager().getTransference_provision_queue().add(download); + + getMain_panel().getDownload_manager().secureNotify(); + } - } catch (UnsupportedEncodingException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } catch (InterruptedException ex) { - Logger.getLogger(MainPanelView.class.getName()).log(Level.SEVERE, ex.getMessage()); } - } - } + getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().remove(url); + getMain_panel().getDownload_manager().secureNotify(); + + } catch (UnsupportedEncodingException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } catch (InterruptedException ex) { + Logger.getLogger(MainPanelView.class.getName()).log(Level.SEVERE, ex.getMessage()); + } + + } } }; @@ -1315,25 +1290,9 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH unfreeze_transferences_button.setVisible(false); - THREAD_POOL.execute(new Runnable() { + THREAD_POOL.execute(_main_panel.getDownload_manager()::unfreezeTransferenceWaitStartQueue); - @Override - public void run() { - - _main_panel.getDownload_manager().unfreezeTransferenceWaitStartQueue(); - - } - }); - - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - _main_panel.getUpload_manager().unfreezeTransferenceWaitStartQueue(); - - } - }); + THREAD_POOL.execute(_main_panel.getUpload_manager()::unfreezeTransferenceWaitStartQueue); }//GEN-LAST:event_unfreeze_transferences_buttonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables diff --git a/src/main/java/com/tonikelope/megabasterd/MiscTools.java b/src/main/java/com/tonikelope/megabasterd/MiscTools.java index 8ad1f974d..daa819882 100644 --- a/src/main/java/com/tonikelope/megabasterd/MiscTools.java +++ b/src/main/java/com/tonikelope/megabasterd/MiscTools.java @@ -87,20 +87,15 @@ public class MiscTools { public static final int EXP_BACKOFF_MAX_WAIT_TIME = 8; public static final Object PASS_LOCK = new Object(); public static final int HTTP_TIMEOUT = 30; - private static final Comparator TREE_NODE_COMPARATOR = new Comparator< DefaultMutableTreeNode>() { - - @Override - public int compare(DefaultMutableTreeNode a, DefaultMutableTreeNode b) { - - if (a.isLeaf() && !b.isLeaf()) { - return 1; - } else if (!a.isLeaf() && b.isLeaf()) { - return -1; - } else { - String sa = a.getUserObject().toString(); - String sb = b.getUserObject().toString(); - return sa.compareToIgnoreCase(sb); - } + private static final Comparator TREE_NODE_COMPARATOR = (DefaultMutableTreeNode a, DefaultMutableTreeNode b) -> { + if (a.isLeaf() && !b.isLeaf()) { + return 1; + } else if (!a.isLeaf() && b.isLeaf()) { + return -1; + } else { + String sa = a.getUserObject().toString(); + String sb = b.getUserObject().toString(); + return sa.compareToIgnoreCase(sb); } }; private static final Logger LOG = Logger.getLogger(MiscTools.class.getName()); diff --git a/src/main/java/com/tonikelope/megabasterd/SetMasterPasswordDialog.java b/src/main/java/com/tonikelope/megabasterd/SetMasterPasswordDialog.java index 5c4e8a2ba..05caa43cb 100644 --- a/src/main/java/com/tonikelope/megabasterd/SetMasterPasswordDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/SetMasterPasswordDialog.java @@ -216,64 +216,37 @@ public class SetMasterPasswordDialog extends javax.swing.JDialog { final Dialog tthis = this; - THREAD_POOL.execute(new Runnable() { + THREAD_POOL.execute(() -> { + try { + if (Arrays.equals(new_pass_textfield.getPassword(), confirm_pass_textfield.getPassword())) { + swingInvoke(() -> { + status_label.setText(LabelTranslatorSingleton.getInstance().translate("Processing your password, please wait...")); + }); + if (new_pass_textfield.getPassword().length > 0) { - @Override - public void run() { - - try { - - if (Arrays.equals(new_pass_textfield.getPassword(), confirm_pass_textfield.getPassword())) { - - swingInvoke( - new Runnable() { - @Override - public void run() { - status_label.setText(LabelTranslatorSingleton.getInstance().translate("Processing your password, please wait...")); - } - }); - - if (new_pass_textfield.getPassword().length > 0) { - - _new_pass = CryptTools.PBKDF2HMACSHA256(new String(new_pass_textfield.getPassword()), BASE642Bin(_salt), CryptTools.MASTER_PASSWORD_PBKDF2_ITERATIONS, CryptTools.MASTER_PASSWORD_PBKDF2_OUTPUT_BIT_LENGTH); - - _new_pass_hash = Bin2BASE64(HashBin("SHA-1", _new_pass)); - } - - _pass_ok = true; - - swingInvoke( - new Runnable() { - @Override - public void run() { - - tthis.setVisible(false); - } - }); - - } else { - - swingInvoke( - new Runnable() { - @Override - public void run() { - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Passwords does not match!"), "Error", JOptionPane.ERROR_MESSAGE); - - status_label.setText(""); - - new_pass_textfield.setText(""); - - confirm_pass_textfield.setText(""); - - new_pass_textfield.grabFocus(); - } - }); + _new_pass = CryptTools.PBKDF2HMACSHA256(new String(new_pass_textfield.getPassword()), BASE642Bin(_salt), CryptTools.MASTER_PASSWORD_PBKDF2_ITERATIONS, CryptTools.MASTER_PASSWORD_PBKDF2_OUTPUT_BIT_LENGTH); + _new_pass_hash = Bin2BASE64(HashBin("SHA-1", _new_pass)); } + _pass_ok = true; + swingInvoke(() -> { + tthis.setVisible(false); + }); + } else { + swingInvoke(() -> { + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Passwords does not match!"), "Error", JOptionPane.ERROR_MESSAGE); - } catch (Exception ex) { - LOG.log(Level.SEVERE, ex.getMessage()); + status_label.setText(""); + + new_pass_textfield.setText(""); + + confirm_pass_textfield.setText(""); + + new_pass_textfield.grabFocus(); + }); } + } catch (Exception ex) { + LOG.log(Level.SEVERE, ex.getMessage()); } }); }//GEN-LAST:event_ok_buttonActionPerformed diff --git a/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java b/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java index d43d6c435..aab2f159a 100644 --- a/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java @@ -1823,27 +1823,106 @@ public class SettingsDialog extends javax.swing.JDialog { final Dialog tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + ArrayList email_error = new ArrayList<>(); + ArrayList new_valid_mega_accounts = new ArrayList<>(); + for (int i = 0; i < model_row_count; i++) { - ArrayList email_error = new ArrayList<>(); + String email = (String) model.getValueAt(i, 0); - ArrayList new_valid_mega_accounts = new ArrayList<>(); + String pass = (String) model.getValueAt(i, 1); - for (int i = 0; i < model_row_count; i++) { + if (!email.isEmpty() && !pass.isEmpty()) { - String email = (String) model.getValueAt(i, 0); + new_valid_mega_accounts.add(email); - String pass = (String) model.getValueAt(i, 1); + MegaAPI ma; - if (!email.isEmpty() && !pass.isEmpty()) { + if (_main_panel.getMega_accounts().get(email) == null) { - new_valid_mega_accounts.add(email); + ma = new MegaAPI(); - MegaAPI ma; + try { - if (_main_panel.getMega_accounts().get(email) == null) { + String pincode = null; + + boolean error_2FA = false; + + if (ma.check2FA(email)) { + + Get2FACode dialog = new Get2FACode((Frame) getParent(), true, email, _main_panel); + + dialog.setLocationRelativeTo(tthis); + + dialog.setVisible(true); + + if (dialog.isCode_ok()) { + pincode = dialog.getPin_code(); + } else { + error_2FA = true; + } + } + + if (!error_2FA) { + ma.login(email, pass, pincode); + + ByteArrayOutputStream bs = new ByteArrayOutputStream(); + + try (ObjectOutputStream os = new ObjectOutputStream(bs)) { + os.writeObject(ma); + } + + if (_main_panel.getMaster_pass() != null) { + + DBTools.insertMegaSession(email, CryptTools.aes_cbc_encrypt_pkcs7(bs.toByteArray(), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), true); + + } else { + + DBTools.insertMegaSession(email, bs.toByteArray(), false); + } + + _main_panel.getMega_active_accounts().put(email, ma); + + String password = pass, password_aes = Bin2BASE64(i32a2bin(ma.getPassword_aes())), user_hash = ma.getUser_hash(); + + if (_main_panel.getMaster_pass_hash() != null) { + + password = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(pass.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); + + password_aes = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(i32a2bin(ma.getPassword_aes()), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); + + user_hash = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(UrlBASE642Bin(ma.getUser_hash()), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); + } + + DBTools.insertMegaAccount(email, password, password_aes, user_hash); + } else { + email_error.add(email); + } + + } catch (Exception ex) { + + email_error.add(email); + LOG.log(Level.SEVERE, ex.getMessage()); + } + + } else { + + HashMap mega_account_data = (HashMap) _main_panel.getMega_accounts().get(email); + + String password = (String) mega_account_data.get("password"); + + if (_main_panel.getMaster_pass() != null) { + + try { + + password = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(password), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); + + } catch (Exception ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } + } + + if (!password.equals(pass)) { ma = new MegaAPI(); @@ -1869,6 +1948,7 @@ public class SettingsDialog extends javax.swing.JDialog { } if (!error_2FA) { + ma.login(email, pass, pincode); ByteArrayOutputStream bs = new ByteArrayOutputStream(); @@ -1888,9 +1968,11 @@ public class SettingsDialog extends javax.swing.JDialog { _main_panel.getMega_active_accounts().put(email, ma); - String password = pass, password_aes = Bin2BASE64(i32a2bin(ma.getPassword_aes())), user_hash = ma.getUser_hash(); + password = pass; - if (_main_panel.getMaster_pass_hash() != null) { + String password_aes = Bin2BASE64(i32a2bin(ma.getPassword_aes())), user_hash = ma.getUser_hash(); + + if (_main_panel.getMaster_pass() != null) { password = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(pass.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); @@ -1908,158 +1990,54 @@ public class SettingsDialog extends javax.swing.JDialog { email_error.add(email); LOG.log(Level.SEVERE, ex.getMessage()); - } - } else { - - HashMap mega_account_data = (HashMap) _main_panel.getMega_accounts().get(email); - - String password = (String) mega_account_data.get("password"); - - if (_main_panel.getMaster_pass() != null) { - - try { - - password = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(password), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); - - } catch (Exception ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } - } - - if (!password.equals(pass)) { - - ma = new MegaAPI(); - - try { - - String pincode = null; - - boolean error_2FA = false; - - if (ma.check2FA(email)) { - - Get2FACode dialog = new Get2FACode((Frame) getParent(), true, email, _main_panel); - - dialog.setLocationRelativeTo(tthis); - - dialog.setVisible(true); - - if (dialog.isCode_ok()) { - pincode = dialog.getPin_code(); - } else { - error_2FA = true; - } - } - - if (!error_2FA) { - - ma.login(email, pass, pincode); - - ByteArrayOutputStream bs = new ByteArrayOutputStream(); - - try (ObjectOutputStream os = new ObjectOutputStream(bs)) { - os.writeObject(ma); - } - - if (_main_panel.getMaster_pass() != null) { - - DBTools.insertMegaSession(email, CryptTools.aes_cbc_encrypt_pkcs7(bs.toByteArray(), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), true); - - } else { - - DBTools.insertMegaSession(email, bs.toByteArray(), false); - } - - _main_panel.getMega_active_accounts().put(email, ma); - - password = pass; - - String password_aes = Bin2BASE64(i32a2bin(ma.getPassword_aes())), user_hash = ma.getUser_hash(); - - if (_main_panel.getMaster_pass() != null) { - - password = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(pass.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - - password_aes = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(i32a2bin(ma.getPassword_aes()), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - - user_hash = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(UrlBASE642Bin(ma.getUser_hash()), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - } - - DBTools.insertMegaAccount(email, password, password_aes, user_hash); - } else { - email_error.add(email); - } - - } catch (Exception ex) { - - email_error.add(email); - LOG.log(Level.SEVERE, ex.getMessage()); - - } } } } } + } + if (email_error.size() > 0) { + String email_error_s = ""; + email_error_s = email_error.stream().map((s) -> s + "\n").reduce(email_error_s, String::concat); + final String final_email_error = email_error_s; + swingInvoke(() -> { + status.setText(""); - if (email_error.size() > 0) { + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("There were errors with some accounts (email and/or password are/is wrong). Please, check them:\n\n") + final_email_error, "Mega Account Check Error", JOptionPane.ERROR_MESSAGE); - String email_error_s = ""; + save_button.setEnabled(true); - email_error_s = email_error.stream().map((s) -> s + "\n").reduce(email_error_s, String::concat); + cancel_button.setEnabled(true); - final String final_email_error = email_error_s; + remove_mega_account_button.setEnabled(mega_accounts_table.getModel().getRowCount() > 0); - swingInvoke(new Runnable() { - @Override - public void run() { + remove_elc_account_button.setEnabled(elc_accounts_table.getModel().getRowCount() > 0); - status.setText(""); + add_mega_account_button.setEnabled(true); - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("There were errors with some accounts (email and/or password are/is wrong). Please, check them:\n\n") + final_email_error, "Mega Account Check Error", JOptionPane.ERROR_MESSAGE); + add_elc_account_button.setEnabled(true); - save_button.setEnabled(true); + mega_accounts_table.setEnabled(true); - cancel_button.setEnabled(true); + elc_accounts_table.setEnabled(true); - remove_mega_account_button.setEnabled(mega_accounts_table.getModel().getRowCount() > 0); + delete_all_accounts_button.setEnabled(true); - remove_elc_account_button.setEnabled(elc_accounts_table.getModel().getRowCount() > 0); + encrypt_pass_checkbox.setEnabled(true); - add_mega_account_button.setEnabled(true); - - add_elc_account_button.setEnabled(true); - - mega_accounts_table.setEnabled(true); - - elc_accounts_table.setEnabled(true); - - delete_all_accounts_button.setEnabled(true); - - encrypt_pass_checkbox.setEnabled(true); - - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - - } - }); - - } else { - - _main_panel.getMega_accounts().entrySet().stream().map((entry) -> entry.getKey()).filter((email) -> (!new_valid_mega_accounts.contains(email))).forEachOrdered((email) -> { - _deleted_mega_accounts.add(email); - }); - - swingInvoke(new Runnable() { - @Override - public void run() { - status.setText(""); - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Settings successfully saved!"), LabelTranslatorSingleton.getInstance().translate("Settings saved"), JOptionPane.INFORMATION_MESSAGE); - _settings_ok = true; - setDefaultCloseOperation(DISPOSE_ON_CLOSE); - setVisible(false); - } - }); - } + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + }); + } else { + _main_panel.getMega_accounts().entrySet().stream().map((entry) -> entry.getKey()).filter((email) -> (!new_valid_mega_accounts.contains(email))).forEachOrdered((email) -> { + _deleted_mega_accounts.add(email); + }); + swingInvoke(() -> { + status.setText(""); + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Settings successfully saved!"), LabelTranslatorSingleton.getInstance().translate("Settings saved"), JOptionPane.INFORMATION_MESSAGE); + _settings_ok = true; + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + setVisible(false); + }); } }); @@ -2251,108 +2229,103 @@ public class SettingsDialog extends javax.swing.JDialog { final Dialog tthis = this; - swingInvoke(new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + GetMasterPasswordDialog dialog = new GetMasterPasswordDialog((Frame) getParent(), true, _main_panel.getMaster_pass_hash(), _main_panel.getMaster_pass_salt(), _main_panel); - GetMasterPasswordDialog dialog = new GetMasterPasswordDialog((Frame) getParent(), true, _main_panel.getMaster_pass_hash(), _main_panel.getMaster_pass_salt(), _main_panel); + dialog.setLocationRelativeTo(tthis); - dialog.setLocationRelativeTo(tthis); + dialog.setVisible(true); - dialog.setVisible(true); + if (dialog.isPass_ok()) { - if (dialog.isPass_ok()) { + _main_panel.setMaster_pass(dialog.getPass()); - _main_panel.setMaster_pass(dialog.getPass()); + dialog.deletePass(); - dialog.deletePass(); + DefaultTableModel mega_model = new DefaultTableModel(new Object[][]{}, new String[]{"Email", "Password"}); - DefaultTableModel mega_model = new DefaultTableModel(new Object[][]{}, new String[]{"Email", "Password"}); + DefaultTableModel elc_model = new DefaultTableModel(new Object[][]{}, new String[]{"Host", "User", "API KEY"}); - DefaultTableModel elc_model = new DefaultTableModel(new Object[][]{}, new String[]{"Host", "User", "API KEY"}); + mega_accounts_table.setModel(mega_model); - mega_accounts_table.setModel(mega_model); + elc_accounts_table.setModel(elc_model); - elc_accounts_table.setModel(elc_model); + encrypt_pass_checkbox.setEnabled(true); - encrypt_pass_checkbox.setEnabled(true); + mega_accounts_table.setEnabled(true); - mega_accounts_table.setEnabled(true); + elc_accounts_table.setEnabled(true); - elc_accounts_table.setEnabled(true); + remove_mega_account_button.setEnabled(true); - remove_mega_account_button.setEnabled(true); + remove_elc_account_button.setEnabled(true); - remove_elc_account_button.setEnabled(true); + add_mega_account_button.setEnabled(true); - add_mega_account_button.setEnabled(true); + add_elc_account_button.setEnabled(true); - add_elc_account_button.setEnabled(true); + unlock_accounts_button.setVisible(false); - unlock_accounts_button.setVisible(false); + delete_all_accounts_button.setEnabled(true); - delete_all_accounts_button.setEnabled(true); + _main_panel.getMega_accounts().entrySet().stream().map((pair) -> { + HashMap data = (HashMap) pair.getValue(); + String pass = null; + try { - _main_panel.getMega_accounts().entrySet().stream().map((pair) -> { - HashMap data = (HashMap) pair.getValue(); - String pass = null; - try { + pass = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("password")), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); - pass = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("password")), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); + } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } catch (Exception ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } + String[] new_row_data = {(String) pair.getKey(), pass}; + return new_row_data; + }).forEachOrdered((new_row_data) -> { + mega_model.addRow(new_row_data); + }); + _main_panel.getElc_accounts().entrySet().stream().map((pair) -> { + HashMap data = (HashMap) pair.getValue(); + String user = null, apikey = null; + try { - } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } catch (Exception ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } - String[] new_row_data = {(String) pair.getKey(), pass}; - return new_row_data; - }).forEachOrdered((new_row_data) -> { - mega_model.addRow(new_row_data); - }); - _main_panel.getElc_accounts().entrySet().stream().map((pair) -> { - HashMap data = (HashMap) pair.getValue(); - String user = null, apikey = null; - try { + user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("user")), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); - user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("user")), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); + apikey = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("apikey")), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); - apikey = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("apikey")), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8"); + } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } catch (Exception ex) { + LOG.log(Level.SEVERE, ex.getMessage()); + } + String[] new_row_data = {(String) pair.getKey(), user, apikey}; + return new_row_data; + }).forEachOrdered((new_row_data) -> { + elc_model.addRow(new_row_data); + }); - } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } catch (Exception ex) { - LOG.log(Level.SEVERE, ex.getMessage()); - } - String[] new_row_data = {(String) pair.getKey(), user, apikey}; - return new_row_data; - }).forEachOrdered((new_row_data) -> { - elc_model.addRow(new_row_data); - }); + mega_accounts_table.setAutoCreateRowSorter(true); + DefaultRowSorter sorter_mega = ((DefaultRowSorter) mega_accounts_table.getRowSorter()); + ArrayList list_mega = new ArrayList(); + list_mega.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); + sorter_mega.setSortKeys(list_mega); + sorter_mega.sort(); - mega_accounts_table.setAutoCreateRowSorter(true); - DefaultRowSorter sorter_mega = ((DefaultRowSorter) mega_accounts_table.getRowSorter()); - ArrayList list_mega = new ArrayList(); - list_mega.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); - sorter_mega.setSortKeys(list_mega); - sorter_mega.sort(); - - elc_accounts_table.setAutoCreateRowSorter(true); - DefaultRowSorter sorter_elc = ((DefaultRowSorter) elc_accounts_table.getRowSorter()); - ArrayList list_elc = new ArrayList(); - list_elc.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); - sorter_elc.setSortKeys(list_elc); - sorter_elc.sort(); - - } - - _remember_master_pass = dialog.getRemember_checkbox().isSelected(); - - dialog.dispose(); - - unlock_accounts_button.setEnabled(true); + elc_accounts_table.setAutoCreateRowSorter(true); + DefaultRowSorter sorter_elc = ((DefaultRowSorter) elc_accounts_table.getRowSorter()); + ArrayList list_elc = new ArrayList(); + list_elc.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); + sorter_elc.setSortKeys(list_elc); + sorter_elc.sort(); } + + _remember_master_pass = dialog.getRemember_checkbox().isSelected(); + + dialog.dispose(); + + unlock_accounts_button.setEnabled(true); }); }//GEN-LAST:event_unlock_accounts_buttonActionPerformed @@ -2433,142 +2406,137 @@ public class SettingsDialog extends javax.swing.JDialog { final Dialog tthis = this; - swingInvoke(new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + SetMasterPasswordDialog dialog = new SetMasterPasswordDialog((Frame) getParent(), true, _main_panel.getMaster_pass_salt(), _main_panel); - SetMasterPasswordDialog dialog = new SetMasterPasswordDialog((Frame) getParent(), true, _main_panel.getMaster_pass_salt(), _main_panel); + dialog.setLocationRelativeTo(tthis); - dialog.setLocationRelativeTo(tthis); + dialog.setVisible(true); - dialog.setVisible(true); + byte[] old_master_pass = null; - byte[] old_master_pass = null; + if (_main_panel.getMaster_pass() != null) { - if (_main_panel.getMaster_pass() != null) { + old_master_pass = new byte[_main_panel.getMaster_pass().length]; - old_master_pass = new byte[_main_panel.getMaster_pass().length]; + System.arraycopy(_main_panel.getMaster_pass(), 0, old_master_pass, 0, _main_panel.getMaster_pass().length); + } - System.arraycopy(_main_panel.getMaster_pass(), 0, old_master_pass, 0, _main_panel.getMaster_pass().length); - } + String old_master_pass_hash = _main_panel.getMaster_pass_hash(); - String old_master_pass_hash = _main_panel.getMaster_pass_hash(); + if (dialog.isPass_ok()) { - if (dialog.isPass_ok()) { + try { - try { + DBTools.truncateMegaSessions(); - DBTools.truncateMegaSessions(); + if (dialog.getNew_pass() != null && dialog.getNew_pass().length > 0) { - if (dialog.getNew_pass() != null && dialog.getNew_pass().length > 0) { + _main_panel.setMaster_pass_hash(dialog.getNew_pass_hash()); - _main_panel.setMaster_pass_hash(dialog.getNew_pass_hash()); + _main_panel.setMaster_pass(dialog.getNew_pass()); - _main_panel.setMaster_pass(dialog.getNew_pass()); + } else { + + _main_panel.setMaster_pass_hash(null); + + _main_panel.setMaster_pass(null); + } + + dialog.deleteNewPass(); + + insertSettingValue("master_pass_hash", _main_panel.getMaster_pass_hash()); + + for (Map.Entry pair : _main_panel.getMega_accounts().entrySet()) { + + HashMap data = (HashMap) pair.getValue(); + + String email, password, password_aes, user_hash; + + email = (String) pair.getKey(); + + if (old_master_pass_hash != null) { + + password = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("password")), old_master_pass, CryptTools.AES_ZERO_IV), "UTF-8"); + + password_aes = Bin2BASE64(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("password_aes")), old_master_pass, CryptTools.AES_ZERO_IV)); + + user_hash = Bin2BASE64(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("user_hash")), old_master_pass, CryptTools.AES_ZERO_IV)); } else { - _main_panel.setMaster_pass_hash(null); + password = (String) data.get("password"); - _main_panel.setMaster_pass(null); + password_aes = (String) data.get("password_aes"); + + user_hash = (String) data.get("user_hash"); } - dialog.deleteNewPass(); + if (_main_panel.getMaster_pass() != null) { - insertSettingValue("master_pass_hash", _main_panel.getMaster_pass_hash()); + password = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(password.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - for (Map.Entry pair : _main_panel.getMega_accounts().entrySet()) { + password_aes = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(BASE642Bin(password_aes), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - HashMap data = (HashMap) pair.getValue(); - - String email, password, password_aes, user_hash; - - email = (String) pair.getKey(); - - if (old_master_pass_hash != null) { - - password = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("password")), old_master_pass, CryptTools.AES_ZERO_IV), "UTF-8"); - - password_aes = Bin2BASE64(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("password_aes")), old_master_pass, CryptTools.AES_ZERO_IV)); - - user_hash = Bin2BASE64(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("user_hash")), old_master_pass, CryptTools.AES_ZERO_IV)); - - } else { - - password = (String) data.get("password"); - - password_aes = (String) data.get("password_aes"); - - user_hash = (String) data.get("user_hash"); - } - - if (_main_panel.getMaster_pass() != null) { - - password = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(password.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - - password_aes = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(BASE642Bin(password_aes), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - - user_hash = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(BASE642Bin(user_hash), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - } - - data.put("password", password); - - data.put("password_aes", password_aes); - - data.put("user_hash", user_hash); - - DBTools.insertMegaAccount(email, password, password_aes, user_hash); + user_hash = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(BASE642Bin(user_hash), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); } - for (Map.Entry pair : _main_panel.getElc_accounts().entrySet()) { + data.put("password", password); - HashMap data = (HashMap) pair.getValue(); + data.put("password_aes", password_aes); - String host, user, apikey; + data.put("user_hash", user_hash); - host = (String) pair.getKey(); - - if (old_master_pass_hash != null) { - - user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("user")), old_master_pass, CryptTools.AES_ZERO_IV), "UTF-8"); - - apikey = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("apikey")), old_master_pass, CryptTools.AES_ZERO_IV), "UTF-8"); - - } else { - - user = (String) data.get("user"); - - apikey = (String) data.get("apikey"); - - } - - if (_main_panel.getMaster_pass() != null) { - - user = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(user.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - - apikey = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(apikey.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); - } - - data.put("user", user); - - data.put("apikey", apikey); - - DBTools.insertELCAccount(host, user, apikey); - } - - } catch (Exception ex) { - LOG.log(Level.SEVERE, ex.getMessage()); + DBTools.insertMegaAccount(email, password, password_aes, user_hash); } + for (Map.Entry pair : _main_panel.getElc_accounts().entrySet()) { + + HashMap data = (HashMap) pair.getValue(); + + String host, user, apikey; + + host = (String) pair.getKey(); + + if (old_master_pass_hash != null) { + + user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("user")), old_master_pass, CryptTools.AES_ZERO_IV), "UTF-8"); + + apikey = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin((String) data.get("apikey")), old_master_pass, CryptTools.AES_ZERO_IV), "UTF-8"); + + } else { + + user = (String) data.get("user"); + + apikey = (String) data.get("apikey"); + + } + + if (_main_panel.getMaster_pass() != null) { + + user = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(user.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); + + apikey = Bin2BASE64(CryptTools.aes_cbc_encrypt_pkcs7(apikey.getBytes("UTF-8"), _main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV)); + } + + data.put("user", user); + + data.put("apikey", apikey); + + DBTools.insertELCAccount(host, user, apikey); + } + + } catch (Exception ex) { + LOG.log(Level.SEVERE, ex.getMessage()); } - encrypt_pass_checkbox.setSelected((_main_panel.getMaster_pass_hash() != null)); - - dialog.dispose(); - - encrypt_pass_checkbox.setEnabled(true); - } + + encrypt_pass_checkbox.setSelected((_main_panel.getMaster_pass_hash() != null)); + + dialog.dispose(); + + encrypt_pass_checkbox.setEnabled(true); }); }//GEN-LAST:event_encrypt_pass_checkboxActionPerformed diff --git a/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java b/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java index e0e930cf2..f6e31a636 100644 --- a/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java +++ b/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java @@ -118,12 +118,8 @@ public final class SmartMegaProxyManager { } } - swingInvoke( - new Runnable() { - @Override - public void run() { - _main_panel.getView().updateSmartProxyStatus("SmartProxy: ON (" + String.valueOf(getProxyCount()) + ")"); - } + swingInvoke(() -> { + _main_panel.getView().updateSmartProxyStatus("SmartProxy: ON (" + String.valueOf(getProxyCount()) + ")"); }); LOG.log(Level.INFO, "{0} Smart Proxy Manager: proxy list refreshed ({1})", new Object[]{Thread.currentThread().getName(), _proxy_list.size()}); diff --git a/src/main/java/com/tonikelope/megabasterd/StreamerDialog.java b/src/main/java/com/tonikelope/megabasterd/StreamerDialog.java index 750531520..b368eaef5 100644 --- a/src/main/java/com/tonikelope/megabasterd/StreamerDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/StreamerDialog.java @@ -62,26 +62,18 @@ public class StreamerDialog extends javax.swing.JDialog implements ClipboardChan if (_main_panel.isUse_mega_account_down() && _main_panel.getMega_accounts().size() > 0) { - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + swingInvoke(() -> { + String mega_default_down = _main_panel.getMega_account_down(); - swingInvoke(new Runnable() { - @Override - public void run() { - String mega_default_down = _main_panel.getMega_account_down(); + use_mega_account_down_combobox.addItem(mega_default_down); - use_mega_account_down_combobox.addItem(mega_default_down); - - _main_panel.getMega_accounts().keySet().stream().filter((k) -> (!mega_default_down.equals(k))).forEachOrdered((k) -> { - use_mega_account_down_combobox.addItem(k); - }); - use_mega_account_down_combobox.addItem(""); - use_mega_account_down_combobox.setSelectedIndex(0); - } + _main_panel.getMega_accounts().keySet().stream().filter((k) -> (!mega_default_down.equals(k))).forEachOrdered((k) -> { + use_mega_account_down_combobox.addItem(k); }); - - } + use_mega_account_down_combobox.addItem(""); + use_mega_account_down_combobox.setSelectedIndex(0); + }); }); } else { @@ -187,84 +179,79 @@ public class StreamerDialog extends javax.swing.JDialog implements ClipboardChan final Dialog tthis = this; - swingInvoke(new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + try { + boolean error = false; - try { - boolean error = false; + String stream_link = null; - String stream_link = null; + String link = URLDecoder.decode(original_link_textfield.getText(), "UTF-8").trim(); - String link = URLDecoder.decode(original_link_textfield.getText(), "UTF-8").trim(); + if (link.length() > 0) { - if (link.length() > 0) { + try { - try { + if (findFirstRegex("://enc", link, 0) != null) { - if (findFirstRegex("://enc", link, 0) != null) { + link = CryptTools.decryptMegaDownloaderLink(link); - link = CryptTools.decryptMegaDownloaderLink(link); + } else if (findFirstRegex("://elc", link, 0) != null) { - } else if (findFirstRegex("://elc", link, 0) != null) { + HashSet links = CryptTools.decryptELC(link, ((MainPanelView) tthis.getParent()).getMain_panel()); - HashSet links = CryptTools.decryptELC(link, ((MainPanelView) tthis.getParent()).getMain_panel()); + if (links != null) { - if (links != null) { - - link = (String) links.iterator().next(); - } + link = (String) links.iterator().next(); } - - } catch (Exception ex) { - - error = true; - - LOG.log(Level.SEVERE, ex.getMessage()); } - String data; + } catch (Exception ex) { - if (findFirstRegex("://mega(\\.co)?\\.nz/#[^fF]", link, 0) != null || findFirstRegex("https?://[^/]+/![^!]+![0-9a-fA-F]+", link, 0) != null) { + error = true; - String selected_account = (String) use_mega_account_down_combobox.getSelectedItem(); + LOG.log(Level.SEVERE, ex.getMessage()); + } - data = Bin2UrlBASE64(((selected_account != null ? selected_account : "") + "|" + link).getBytes("UTF-8")); + String data; - stream_link = "http://localhost:1337/video/" + data; + if (findFirstRegex("://mega(\\.co)?\\.nz/#[^fF]", link, 0) != null || findFirstRegex("https?://[^/]+/![^!]+![0-9a-fA-F]+", link, 0) != null) { - } else { + String selected_account = (String) use_mega_account_down_combobox.getSelectedItem(); - error = true; - } + data = Bin2UrlBASE64(((selected_account != null ? selected_account : "") + "|" + link).getBytes("UTF-8")); + + stream_link = "http://localhost:1337/video/" + data; } else { error = true; } - if (error) { + } else { - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Please, paste a Mega/MegaCrypter/ELC link!"), "Error", JOptionPane.ERROR_MESSAGE); - - original_link_textfield.setText(""); - - dance_button.setEnabled(true); - - original_link_textfield.setEnabled(true); - - } else { - - _mainPanelView.getMain_panel().getClipboardspy().detachObserver((ClipboardChangeObserver) tthis); - copyTextToClipboard(stream_link); - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Streaming link was copied to clipboard!\nRemember to keep MegaBasterd running in background while playing content.")); - dispose(); - getParent().dispatchEvent(new WindowEvent(tthis, WINDOW_CLOSING)); - } - } catch (UnsupportedEncodingException ex) { - LOG.log(Level.SEVERE, ex.getMessage()); + error = true; } + if (error) { + + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Please, paste a Mega/MegaCrypter/ELC link!"), "Error", JOptionPane.ERROR_MESSAGE); + + original_link_textfield.setText(""); + + dance_button.setEnabled(true); + + original_link_textfield.setEnabled(true); + + } else { + + _mainPanelView.getMain_panel().getClipboardspy().detachObserver((ClipboardChangeObserver) tthis); + copyTextToClipboard(stream_link); + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Streaming link was copied to clipboard!\nRemember to keep MegaBasterd running in background while playing content.")); + dispose(); + getParent().dispatchEvent(new WindowEvent(tthis, WINDOW_CLOSING)); + } + } catch (UnsupportedEncodingException ex) { + LOG.log(Level.SEVERE, ex.getMessage()); } }); }//GEN-LAST:event_dance_buttonActionPerformed @@ -286,48 +273,32 @@ public class StreamerDialog extends javax.swing.JDialog implements ClipboardChan final StreamerDialog tthis = this; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - - boolean use_account = true; - - try { - - if (checkMegaAccountLoginAndShowMasterPassDialog(_main_panel, tthis, _selected_item) == null) { - use_account = false; - } - - } catch (Exception ex) { + THREAD_POOL.execute(() -> { + boolean use_account = true; + try { + if (checkMegaAccountLoginAndShowMasterPassDialog(_main_panel, tthis, _selected_item) == null) { use_account = false; } - if (!use_account) { - swingInvoke(new Runnable() { - @Override - public void run() { - use_mega_account_down_combobox.setSelectedIndex(_main_panel.getMega_accounts().size()); - - } - }); - } - - swingInvoke(new Runnable() { - @Override - public void run() { - getUse_mega_account_down_combobox().setEnabled(true); - - getDance_button().setText(LabelTranslatorSingleton.getInstance().translate("Let's dance, baby")); - - getDance_button().setEnabled(true); - - pack(); - - } - }); + } catch (Exception ex) { + use_account = false; } + if (!use_account) { + swingInvoke(() -> { + use_mega_account_down_combobox.setSelectedIndex(_main_panel.getMega_accounts().size()); + }); + } + swingInvoke(() -> { + getUse_mega_account_down_combobox().setEnabled(true); + + getDance_button().setText(LabelTranslatorSingleton.getInstance().translate("Let's dance, baby")); + + getDance_button().setEnabled(true); + + pack(); + }); }); } @@ -337,17 +308,12 @@ public class StreamerDialog extends javax.swing.JDialog implements ClipboardChan @Override public void notifyClipboardChange() { - swingInvoke(new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + String link = extractFirstMegaLinkFromString(extractStringFromClipboardContents(_clipboardspy.getContents())); - String link = extractFirstMegaLinkFromString(extractStringFromClipboardContents(_clipboardspy.getContents())); - - if (!link.contains("/#F!")) { - - original_link_textfield.setText(link); - } + if (!link.contains("/#F!")) { + original_link_textfield.setText(link); } }); } diff --git a/src/main/java/com/tonikelope/megabasterd/TransferenceManager.java b/src/main/java/com/tonikelope/megabasterd/TransferenceManager.java index b7cc46817..0d139fdb6 100644 --- a/src/main/java/com/tonikelope/megabasterd/TransferenceManager.java +++ b/src/main/java/com/tonikelope/megabasterd/TransferenceManager.java @@ -6,7 +6,6 @@ import java.awt.Component; import java.awt.TrayIcon; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.logging.Level; import static java.util.logging.Level.SEVERE; @@ -312,23 +311,15 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea getTransference_waitstart_queue().addAll(wait_array); getTransference_waitstart_queue().forEach((t1) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t1.getView()); - getScroll_panel().add((Component) t1.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t1.getView()); + getScroll_panel().add((Component) t1.getView()); }); }); getTransference_finished_queue().forEach((t1) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t1.getView()); - getScroll_panel().add((Component) t1.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t1.getView()); + getScroll_panel().add((Component) t1.getView()); }); }); @@ -365,23 +356,15 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea getTransference_waitstart_queue().addAll(wait_array); getTransference_waitstart_queue().forEach((t1) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t1.getView()); - getScroll_panel().add((Component) t1.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t1.getView()); + getScroll_panel().add((Component) t1.getView()); }); }); getTransference_finished_queue().forEach((t2) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t2.getView()); - getScroll_panel().add((Component) t2.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t2.getView()); + getScroll_panel().add((Component) t2.getView()); }); }); @@ -415,14 +398,7 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea ArrayList trans_list = new ArrayList(getTransference_waitstart_queue()); - trans_list.sort(new Comparator() { - - @Override - public int compare(Transference o1, Transference o2) { - - return o1.getFile_name().compareToIgnoreCase(o2.getFile_name()); - } - }); + trans_list.sort((Transference o1, Transference o2) -> o1.getFile_name().compareToIgnoreCase(o2.getFile_name())); getTransference_waitstart_queue().clear(); @@ -452,40 +428,35 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea private void _updateView() { - swingInvoke( - new Runnable() { - @Override - public void run() { - - if (_paused_all) { - _pause_all_button.setText("RESUME ALL"); - } else { - _pause_all_button.setText("PAUSE ALL"); - } - - _pause_all_button.setVisible(!getTransference_running_list().isEmpty()); - - _clean_all_menu.getComponent().setEnabled(!_transference_preprocess_queue.isEmpty() || !_transference_provision_queue.isEmpty() || !getTransference_waitstart_queue().isEmpty()); - - if (!_transference_finished_queue.isEmpty() && _isOKFinishedInQueue()) { - - _close_all_button.setText(LabelTranslatorSingleton.getInstance().translate("Clear finished")); - - _close_all_button.setVisible(true); - - } else { - - _close_all_button.setVisible(false); - } - - _status.setText(_genStatus()); - - _main_panel.getView().getUnfreeze_transferences_button().setVisible(_main_panel.getDownload_manager().isFrozen() || _main_panel.getUpload_manager().isFrozen()); - - _main_panel.getView().revalidate(); - - _main_panel.getView().repaint(); + swingInvoke(() -> { + if (_paused_all) { + _pause_all_button.setText("RESUME ALL"); + } else { + _pause_all_button.setText("PAUSE ALL"); } + + _pause_all_button.setVisible(!getTransference_running_list().isEmpty()); + + _clean_all_menu.getComponent().setEnabled(!_transference_preprocess_queue.isEmpty() || !_transference_provision_queue.isEmpty() || !getTransference_waitstart_queue().isEmpty()); + + if (!_transference_finished_queue.isEmpty() && _isOKFinishedInQueue()) { + + _close_all_button.setText(LabelTranslatorSingleton.getInstance().translate("Clear finished")); + + _close_all_button.setVisible(true); + + } else { + + _close_all_button.setVisible(false); + } + + _status.setText(_genStatus()); + + _main_panel.getView().getUnfreeze_transferences_button().setVisible(_main_panel.getDownload_manager().isFrozen() || _main_panel.getUpload_manager().isFrozen()); + + _main_panel.getView().revalidate(); + + _main_panel.getView().repaint(); }); } @@ -528,23 +499,22 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea setRemoving_transferences(true); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { - if (!getTransference_remove_queue().isEmpty()) { + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - ArrayList transferences = new ArrayList(getTransference_remove_queue()); + if (!getTransference_remove_queue().isEmpty()) { - getTransference_remove_queue().clear(); + ArrayList transferences = new ArrayList(getTransference_remove_queue()); - remove(transferences.toArray(new Transference[transferences.size()])); - } + getTransference_remove_queue().clear(); - setRemoving_transferences(false); - - secureNotify(); + remove(transferences.toArray(new Transference[transferences.size()])); } + + setRemoving_transferences(false); + + secureNotify(); }); } @@ -552,35 +522,33 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea setPreprocessing_transferences(true); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { - while (!getTransference_preprocess_queue().isEmpty()) { - Runnable run = getTransference_preprocess_queue().poll(); + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - if (run != null) { + while (!getTransference_preprocess_queue().isEmpty()) { + Runnable run = getTransference_preprocess_queue().poll(); - boolean run_error; + if (run != null) { - do { - run_error = false; + boolean run_error; - try { - run.run(); - } catch (Exception ex) { - run_error = true; - LOG.log(SEVERE, null, ex); - } - } while (run_error); - } + do { + run_error = false; + + try { + run.run(); + } catch (Exception ex) { + run_error = true; + LOG.log(SEVERE, null, ex); + } + } while (run_error); } - - setPreprocessing_transferences(false); - - secureNotify(); - } + + setPreprocessing_transferences(false); + + secureNotify(); }); } @@ -590,59 +558,38 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea _tray_icon_finish = false; - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - while (!getTransference_provision_queue().isEmpty()) { - Transference transference = getTransference_provision_queue().poll(); + while (!getTransference_provision_queue().isEmpty()) { + Transference transference = getTransference_provision_queue().poll(); - if (transference != null) { + if (transference != null) { - provision(transference); - - } - } - - synchronized (getQueue_sort_lock()) { - - if (!isPreprocessing_transferences() && !isProvisioning_transferences()) { - - sortTransferenceWaitStartQueue(); - - getTransference_waitstart_queue().forEach((up) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) up.getView()); - getScroll_panel().add((Component) up.getView()); - - } - }); - }); - getTransference_finished_queue().forEach((up) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) up.getView()); - getScroll_panel().add((Component) up.getView()); - - } - }); - }); - } + provision(transference); } - - _frozen = false; - - setProvisioning_transferences(false); - - secureNotify(); - } + synchronized (getQueue_sort_lock()) { + if (!isPreprocessing_transferences() && !isProvisioning_transferences()) { + sortTransferenceWaitStartQueue(); + getTransference_waitstart_queue().forEach((up) -> { + swingInvoke(() -> { + getScroll_panel().remove((Component) up.getView()); + getScroll_panel().add((Component) up.getView()); + }); + }); + getTransference_finished_queue().forEach((up) -> { + swingInvoke(() -> { + getScroll_panel().remove((Component) up.getView()); + getScroll_panel().add((Component) up.getView()); + }); + }); + } + } + _frozen = false; + setProvisioning_transferences(false); + secureNotify(); }); } @@ -651,41 +598,34 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea setStarting_transferences(true); - THREAD_POOL.execute(new Runnable() { - @Override - public void run() { + THREAD_POOL.execute(() -> { - while (!_frozen && !_main_panel.isExit() && !_paused_all && !getTransference_waitstart_queue().isEmpty() && getTransference_running_list().size() < _max_running_trans) { + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - Transference transference = getTransference_waitstart_queue().peek(); + while (!_frozen && !_main_panel.isExit() && !_paused_all && !getTransference_waitstart_queue().isEmpty() && getTransference_running_list().size() < _max_running_trans) { - if (transference != null && !transference.isFrozen()) { + Transference transference = getTransference_waitstart_queue().peek(); - getTransference_waitstart_queue().poll(); + if (transference != null && !transference.isFrozen()) { - start(transference); + getTransference_waitstart_queue().poll(); - try { - Thread.sleep(1000); - } catch (InterruptedException ex) { - Logger.getLogger(TransferenceManager.class.getName()).log(Level.SEVERE, ex.getMessage()); - } + start(transference); - } else { + } else { - _frozen = true; + _frozen = true; - } } - - synchronized (getWait_queue_lock()) { - getWait_queue_lock().notifyAll(); - } - - setStarting_transferences(false); - - secureNotify(); } + + synchronized (getWait_queue_lock()) { + getWait_queue_lock().notifyAll(); + } + + setStarting_transferences(false); + + secureNotify(); }); } diff --git a/src/main/java/com/tonikelope/megabasterd/Upload.java b/src/main/java/com/tonikelope/megabasterd/Upload.java index 3e331549e..78089444d 100644 --- a/src/main/java/com/tonikelope/megabasterd/Upload.java +++ b/src/main/java/com/tonikelope/megabasterd/Upload.java @@ -281,6 +281,7 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia return _folder_link; } + @Override public boolean isRestart() { return _restart; } @@ -370,6 +371,8 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia try { _file_size = the_file.length(); + _progress_bar_rate = Integer.MAX_VALUE / (double) _file_size; + HashMap upload_progress = DBTools.selectUploadProgress(getFile_name(), getMa().getFull_email()); if (upload_progress == null) { @@ -404,48 +407,7 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia _status_error = "PROVISION FAILED"; if (_file_name != null) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getFile_name_label().setVisible(true); - - getView().getFile_name_label().setText(_file_name); - - getView().getFile_name_label().setText(truncateText(_file_name, 100)); - - getView().getFile_name_label().setToolTipText(_file_name); - - getView().getFile_size_label().setVisible(true); - - getView().getFile_size_label().setText(formatBytes(_file_size)); - } - }); - } - - getView().hideAllExceptStatus(); - - getView().printStatusError(_status_error); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getRestart_button().setVisible(true); - } - }); - - } else { - - getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate(_frozen ? "(FROZEN) Waiting to start (" : "Waiting to start (") + _ma.getFull_email() + ") ..."); - - swingInvoke( - new Runnable() { - @Override - public void run() { - + swingInvoke(() -> { getView().getFile_name_label().setVisible(true); getView().getFile_name_label().setText(_file_name); @@ -457,20 +419,41 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia getView().getFile_size_label().setVisible(true); getView().getFile_size_label().setText(formatBytes(_file_size)); - } + }); + } + + getView().hideAllExceptStatus(); + + getView().printStatusError(_status_error); + + swingInvoke(() -> { + getView().getRestart_button().setVisible(true); + }); + + } else { + + getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate(_frozen ? "(FROZEN) Waiting to start (" : "Waiting to start (") + _ma.getFull_email() + ") ..."); + + swingInvoke(() -> { + getView().getFile_name_label().setVisible(true); + + getView().getFile_name_label().setText(_file_name); + + getView().getFile_name_label().setText(truncateText(_file_name, 100)); + + getView().getFile_name_label().setToolTipText(_file_name); + + getView().getFile_size_label().setVisible(true); + + getView().getFile_size_label().setText(formatBytes(_file_size)); }); } - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getClose_button().setVisible(true); - getView().getQueue_down_button().setVisible(true); - getView().getQueue_up_button().setVisible(true); - } + swingInvoke(() -> { + getView().getClose_button().setVisible(true); + getView().getQueue_down_button().setVisible(true); + getView().getQueue_up_button().setVisible(true); }); } @@ -628,13 +611,8 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia if (!_chunkworkers.isEmpty()) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getSlots_spinner().setEnabled(false); - } + swingInvoke(() -> { + getView().getSlots_spinner().setEnabled(false); }); int i = _chunkworkers.size() - 1; @@ -674,14 +652,9 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia LOG.log(Level.INFO, "{0} Uploader hello! {1}", new Object[]{Thread.currentThread().getName(), this.getFile_name()}); - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getQueue_down_button().setVisible(false); - getView().getQueue_up_button().setVisible(false); - } + swingInvoke(() -> { + getView().getQueue_down_button().setVisible(false); + getView().getQueue_up_button().setVisible(false); }); getView().printStatusNormal("Starting upload, please wait..."); @@ -739,21 +712,14 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia _byte_file_iv = i32a2bin(file_iv); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getClose_button().setVisible(false); - getView().getClose_button().setVisible(false); - - getView().getCbc_label().setVisible(true); - } + getView().getCbc_label().setVisible(true); }); if (_file_size > 0) { - _progress_bar_rate = Integer.MAX_VALUE / (double) _file_size; - getView().updateProgressBar(0); } else { @@ -785,32 +751,22 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia _thread_pool.execute(c); } - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getSlots_label().setVisible(true); - getView().getSlots_label().setVisible(true); + getView().getSlots_spinner().setVisible(true); - getView().getSlots_spinner().setVisible(true); - - getView().getSlot_status_label().setVisible(true); - } + getView().getSlot_status_label().setVisible(true); }); } getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate("Uploading file to mega (") + _ma.getFull_email() + ") ..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getPause_button().setVisible(true); - getView().getPause_button().setVisible(true); - - getView().getProgress_pbar().setVisible(true); - } + getView().getProgress_pbar().setVisible(true); }); secureWait(); @@ -844,14 +800,9 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia getMain_panel().getGlobal_up_speed().detachTransference(this); - swingInvoke( - new Runnable() { - @Override - public void run() { - - for (JComponent c : new JComponent[]{getView().getSpeed_label(), getView().getCbc_label(), getView().getPause_button(), getView().getStop_button(), getView().getSlots_label(), getView().getSlots_spinner()}) { - c.setVisible(false); - } + swingInvoke(() -> { + for (JComponent c : new JComponent[]{getView().getSpeed_label(), getView().getCbc_label(), getView().getPause_button(), getView().getStop_button(), getView().getSlots_label(), getView().getSlots_spinner()}) { + c.setVisible(false); } }); @@ -909,13 +860,8 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia _file_link = _ma.getPublicFileLink(_fid, i32a2bin(node_key)); - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getFile_link_button().setEnabled(true); - } + swingInvoke(() -> { + getView().getFile_link_button().setEnabled(true); }); } catch (Exception ex) { @@ -1004,71 +950,45 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia getMain_panel().getUpload_manager().getTransference_finished_queue().add(this); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getMain_panel().getUpload_manager().getScroll_panel().remove(getView()); - getMain_panel().getUpload_manager().getScroll_panel().remove(getView()); + getMain_panel().getUpload_manager().getScroll_panel().add(getView()); - getMain_panel().getUpload_manager().getScroll_panel().add(getView()); - - getMain_panel().getUpload_manager().secureNotify(); - - } + getMain_panel().getUpload_manager().secureNotify(); }); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + getView().getClose_button().setVisible(true); - getView().getClose_button().setVisible(true); + if (_status_error == null && !_canceled) { - if (_status_error == null && !_canceled) { + getView().getClose_button().setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/icons8-ok-30.png"))); - getView().getClose_button().setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/icons8-ok-30.png"))); + } - } + if (_canceled || _status_error == null) { - if (_canceled || _status_error == null) { - - getView().getRestart_button().setVisible(true); - } + getView().getRestart_button().setVisible(true); } }); if (_status_error != null && !_fatal_error) { - THREAD_POOL.execute( - new Runnable() { - @Override - public void run() { - - for (int i = 3; !_closed && i > 0; i--) { - - final int j = i; - - swingInvoke( - new Runnable() { - - @Override - public void run() { - getView().getRestart_button().setText("Restart (" + String.valueOf(j) + " secs...)"); - } - }); - - try { - Thread.sleep(1000); - } catch (InterruptedException ex) { - Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, ex.getMessage()); - } + THREAD_POOL.execute(() -> { + for (int i = 3; !_closed && i > 0; i--) { + final int j = i; + swingInvoke(() -> { + getView().getRestart_button().setText("Restart (" + String.valueOf(j) + " secs...)"); + }); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, ex.getMessage()); } - - if (!_closed) { - LOG.log(Level.INFO, "{0} Uploader {1} AUTO RESTARTING UPLOAD...", new Object[]{Thread.currentThread().getName(), getFile_name()}); - restart(); - } - + } + if (!_closed) { + LOG.log(Level.INFO, "{0} Uploader {1} AUTO RESTARTING UPLOAD...", new Object[]{Thread.currentThread().getName(), getFile_name()}); + restart(); } }); } @@ -1086,14 +1006,9 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia getView().printStatusNormal("Upload paused!"); - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME UPLOAD")); - getView().getPause_button().setEnabled(true); - - } + swingInvoke(() -> { + getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME UPLOAD")); + getView().getPause_button().setEnabled(true); }); } @@ -1105,14 +1020,9 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia getView().printStatusNormal("Upload paused!"); - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME UPLOAD")); - getView().getPause_button().setEnabled(true); - } + swingInvoke(() -> { + getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME UPLOAD")); + getView().getPause_button().setEnabled(true); }); } @@ -1127,24 +1037,16 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia _finishing_upload = true; - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getSlots_spinner().setEnabled(false); + swingInvoke(() -> { + getView().getSlots_spinner().setEnabled(false); - getView().getSlots_spinner().setValue((int) getView().getSlots_spinner().getValue() - 1); - } + getView().getSlots_spinner().setValue((int) getView().getSlots_spinner().getValue() - 1); }); } else if (!_finishing_upload) { - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getSlots_spinner().setEnabled(true); - } + swingInvoke(() -> { + getView().getSlots_spinner().setEnabled(true); }); } @@ -1153,13 +1055,9 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia getView().printStatusNormal("Upload paused!"); - swingInvoke( - new Runnable() { - @Override - public void run() { - getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME UPLOAD")); - getView().getPause_button().setEnabled(true); - } + swingInvoke(() -> { + getView().getPause_button().setText(LabelTranslatorSingleton.getInstance().translate("RESUME UPLOAD")); + getView().getPause_button().setEnabled(true); }); } @@ -1227,17 +1125,16 @@ public class Upload implements Transference, Runnable, SecureSingleThreadNotifia _progress = progress; - swingInvoke( - new Runnable() { - @Override - public void run() { - - getView().updateProgressBar(_progress, _progress_bar_rate); - } - }); - getMain_panel().getUpload_manager().increment_total_progress(_progress - old_progress); + int old_percent_progress = (int) Math.floor(((double) old_progress / _file_size) * 100); + + int new_percent_progress = (int) Math.floor(((double) progress / _file_size) * 100); + + if (new_percent_progress > old_percent_progress) { + + getView().updateProgressBar(_progress, _progress_bar_rate); + } } } diff --git a/src/main/java/com/tonikelope/megabasterd/UploadManager.java b/src/main/java/com/tonikelope/megabasterd/UploadManager.java index d1d9e1a7b..6d8b90ba1 100644 --- a/src/main/java/com/tonikelope/megabasterd/UploadManager.java +++ b/src/main/java/com/tonikelope/megabasterd/UploadManager.java @@ -38,12 +38,8 @@ public class UploadManager extends TransferenceManager { @Override public void provision(final Transference upload) { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().add(((Upload) upload).getView()); - } + swingInvoke(() -> { + getScroll_panel().add(((Upload) upload).getView()); }); ((Upload) upload).provisionIt(); @@ -66,23 +62,15 @@ public class UploadManager extends TransferenceManager { getTransference_waitstart_queue().addAll(aux); getTransference_waitstart_queue().forEach((t1) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t1.getView()); - getScroll_panel().add((Component) t1.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t1.getView()); + getScroll_panel().add((Component) t1.getView()); }); }); getTransference_finished_queue().forEach((t2) -> { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove((Component) t2.getView()); - getScroll_panel().add((Component) t2.getView()); - } + swingInvoke(() -> { + getScroll_panel().remove((Component) t2.getView()); + getScroll_panel().add((Component) t2.getView()); }); }); @@ -106,12 +94,8 @@ public class UploadManager extends TransferenceManager { for (final Transference u : uploads) { - swingInvoke( - new Runnable() { - @Override - public void run() { - getScroll_panel().remove(((Upload) u).getView()); - } + swingInvoke(() -> { + getScroll_panel().remove(((Upload) u).getView()); }); getTransference_waitstart_queue().remove(u); diff --git a/src/main/java/com/tonikelope/megabasterd/UploadView.java b/src/main/java/com/tonikelope/megabasterd/UploadView.java index f4b6af8a9..7b569ce12 100644 --- a/src/main/java/com/tonikelope/megabasterd/UploadView.java +++ b/src/main/java/com/tonikelope/megabasterd/UploadView.java @@ -353,15 +353,7 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { private void slots_spinnerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_slots_spinnerStateChanged - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - _upload.checkSlotsAndWorkers(); - - } - }); + THREAD_POOL.execute(_upload::checkSlotsAndWorkers); }//GEN-LAST:event_slots_spinnerStateChanged private void close_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_close_buttonActionPerformed @@ -390,20 +382,15 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { public void hideAllExceptStatus() { - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{speed_label, slots_spinner, slots_label, slot_status_label, pause_button, stop_button, progress_pbar, cbc_label}) { - for (JComponent c : new JComponent[]{speed_label, slots_spinner, slots_label, slot_status_label, pause_button, stop_button, progress_pbar, cbc_label}) { + c.setVisible(false); + } - c.setVisible(false); - } + for (JComponent c : new JComponent[]{status_label, file_name_label, file_size_label}) { - for (JComponent c : new JComponent[]{status_label, file_name_label, file_size_label}) { - - c.setVisible(true); - } + c.setVisible(true); } }); } @@ -440,23 +427,11 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { queue_up_button.setEnabled(false); - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - _upload.upWaitQueue(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - queue_up_button.setEnabled(true); - } - }); - - } + THREAD_POOL.execute(() -> { + _upload.upWaitQueue(); + swingInvoke(() -> { + queue_up_button.setEnabled(true); + }); }); }//GEN-LAST:event_queue_up_buttonActionPerformed @@ -465,36 +440,18 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { queue_down_button.setEnabled(false); - THREAD_POOL.execute(new Runnable() { - - @Override - public void run() { - - _upload.downWaitQueue(); - - swingInvoke( - new Runnable() { - @Override - public void run() { - - queue_down_button.setEnabled(true); - } - }); - - } + THREAD_POOL.execute(() -> { + _upload.downWaitQueue(); + swingInvoke(() -> { + queue_down_button.setEnabled(true); + }); }); }//GEN-LAST:event_queue_down_buttonActionPerformed public void updateCBC(String status) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - cbc_label.setText(status); - - } + swingInvoke(() -> { + cbc_label.setText(status); }); } @@ -503,20 +460,15 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { printStatusNormal("Pausing upload ..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { + c.setEnabled(false); + } - c.setEnabled(false); - } + for (JComponent c : new JComponent[]{stop_button}) { - for (JComponent c : new JComponent[]{stop_button}) { - - c.setVisible(true); - } + c.setVisible(true); } }); } @@ -526,16 +478,10 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { printStatusNormal(status); - swingInvoke( - new Runnable() { - @Override - public void run() { - - for (JComponent c : new JComponent[]{pause_button, stop_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - - c.setEnabled(false); - } + swingInvoke(() -> { + for (JComponent c : new JComponent[]{pause_button, stop_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { + c.setEnabled(false); } }); } @@ -545,42 +491,32 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { printStatusNormal("Uploading file to mega ..."); - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - for (JComponent c : new JComponent[]{pause_button, speed_label, slots_label, slots_spinner, progress_pbar, file_name_label, file_size_label}) { - - c.setEnabled(true); - } - - for (JComponent c : new JComponent[]{stop_button}) { - - c.setVisible(false); - } - - pause_button.setText(LabelTranslatorSingleton.getInstance().translate("PAUSE UPLOAD")); - _upload.getMain_panel().getView().getPause_all_up_button().setVisible(true); + c.setEnabled(true); } + + for (JComponent c : new JComponent[]{stop_button}) { + + c.setVisible(false); + } + + pause_button.setText(LabelTranslatorSingleton.getInstance().translate("PAUSE UPLOAD")); + _upload.getMain_panel().getView().getPause_all_up_button().setVisible(true); }); } @Override public void updateSpeed(final String speed, final Boolean visible) { - swingInvoke( - new Runnable() { - @Override - public void run() { + swingInvoke(() -> { + if (speed != null) { + speed_label.setText(speed); + } - if (speed != null) { - speed_label.setText(speed); - } - - if (visible != null) { - speed_label.setVisible(visible); - } + if (visible != null) { + speed_label.setVisible(visible); } }); } @@ -588,67 +524,42 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { @Override public void updateProgressBar(final long progress, final double bar_rate) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - progress_pbar.setValue((int) Math.floor(bar_rate * progress)); - } + swingInvoke(() -> { + progress_pbar.setValue((int) Math.floor(bar_rate * progress)); }); } @Override public void updateProgressBar(final int value) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - progress_pbar.setValue(value); - } + swingInvoke(() -> { + progress_pbar.setValue(value); }); } @Override public void printStatusError(final String message) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - status_label.setForeground(Color.red); - status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); - } + swingInvoke(() -> { + status_label.setForeground(Color.red); + status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); }); } @Override public void printStatusOK(final String message) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - status_label.setForeground(new Color(0, 170, 0)); - status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); - } + swingInvoke(() -> { + status_label.setForeground(new Color(0, 170, 0)); + status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); }); } @Override public void printStatusNormal(final String message) { - swingInvoke( - new Runnable() { - @Override - public void run() { - - status_label.setForeground(new Color(102, 102, 102)); - status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); - } + swingInvoke(() -> { + status_label.setForeground(new Color(102, 102, 102)); + status_label.setText(LabelTranslatorSingleton.getInstance().translate(message)); }); } @@ -670,27 +581,16 @@ public class UploadView extends javax.swing.JPanel implements TransferenceView { final String status = (conta_exit > 0 ? "Tot removing: " + conta_exit : "") + (conta_error > 0 ? ((conta_exit > 0 ? " / " : "") + "Tot error: " + conta_error) : ""); - swingInvoke(new Runnable() { - @Override - public void run() { - slot_status_label.setForeground(status_color); - slot_status_label.setText(LabelTranslatorSingleton.getInstance().translate(status)); - } + swingInvoke(() -> { + slot_status_label.setForeground(status_color); + slot_status_label.setText(LabelTranslatorSingleton.getInstance().translate(status)); }); } } @Override public int getSlots() { - return (int) swingInvokeAndWaitForReturn(new Callable() { - - @Override - public Object call() throws Exception { - - return getSlots_spinner().getValue(); - } - - }); + return (int) swingInvokeAndWaitForReturn((Callable) getSlots_spinner()::getValue); } // Variables declaration - do not modify//GEN-BEGIN:variables diff --git a/src/main/resources/images/mbasterd_screen.png b/src/main/resources/images/mbasterd_screen.png index e1026af8f0cdcc78509fadc134207e162858a5b4..e70b6c7e73fb074c96d3d8f78b6d37e002c44b94 100644 GIT binary patch literal 220085 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

GQ3sdVB`?V>)6n*sC74uZhk_45oR3ep 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 QD>h?9v^ED+);qxc@ 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∋cxbPw6! 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