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 e1026af8f..e70b6c7e7 100644
Binary files a/src/main/resources/images/mbasterd_screen.png and b/src/main/resources/images/mbasterd_screen.png differ