diff --git a/pom.xml b/pom.xml index 8420e97a1..155f38ed5 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.tonikelope MegaBasterd - 7.20 + 7.21 jar diff --git a/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java b/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java index 2460edce6..a098482a2 100644 --- a/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java @@ -34,7 +34,7 @@ public class FolderLinkDialog extends javax.swing.JDialog { private long _total_space; - private boolean _mega_error; + private int _mega_error; public List getDownload_links() { return Collections.unmodifiableList(_download_links); @@ -44,7 +44,7 @@ public class FolderLinkDialog extends javax.swing.JDialog { return _download; } - public boolean isMega_error() { + public int isMega_error() { return _mega_error; } @@ -64,7 +64,7 @@ public class FolderLinkDialog extends javax.swing.JDialog { translateLabels(this); - _mega_error = false; + _mega_error = 0; _total_space = 0L; _download = false; _download_links = new ArrayList<>(); @@ -79,7 +79,7 @@ public class FolderLinkDialog extends javax.swing.JDialog { THREAD_POOL.execute(() -> { _loadMegaDirTree(); - if (!_mega_error) { + if (_mega_error == 0) { _genDownloadLiks(); @@ -87,6 +87,12 @@ public class FolderLinkDialog extends javax.swing.JDialog { pack(); + } else if (_mega_error == -18) { + + JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MEGA LINK TEMPORARILY UNAVAILABLE!"), "Error", JOptionPane.ERROR_MESSAGE); + + setVisible(false); + } else { JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MEGA LINK ERROR!"), "Error", JOptionPane.ERROR_MESSAGE); @@ -388,23 +394,37 @@ public class FolderLinkDialog extends javax.swing.JDialog { } while (current_node != root); } - final JTree ftree = file_tree; + if (root == null) { + LOG.log(SEVERE, null, "MEGA FOLDER ERROR (EMPTY?)"); - final MegaMutableTreeNode roott = root; + _mega_error = 2; - swingInvoke(() -> { - ftree.setModel(new DefaultTreeModel(sortTree(roott))); + } else { + final JTree ftree = file_tree; - ftree.setRootVisible(roott != null ? roott.getChildCount() > 0 : false); + final MegaMutableTreeNode roott = root; - ftree.setEnabled(true); - }); + swingInvoke(() -> { + ftree.setModel(new DefaultTreeModel(sortTree(roott))); + + ftree.setRootVisible(roott != null ? roott.getChildCount() > 0 : false); + + ftree.setEnabled(true); + }); + + } + + } catch (MegaAPIException mex) { + + LOG.log(SEVERE, null, mex); + + _mega_error = mex.getCode(); } catch (Exception ex) { LOG.log(SEVERE, null, ex); - _mega_error = true; + _mega_error = 1; } swingInvoke(() -> { diff --git a/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java b/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java index 048ad176a..36f14dd08 100644 --- a/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java +++ b/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java @@ -265,6 +265,8 @@ public class LabelTranslatorSingleton { _addTranslation("UPLOAD FAILED: too many errors", "LA SUBIDA FALLÓ: demasiados errores"); _addTranslation("UPLOAD FAILED: FATAL ERROR", "LA SUBIDA FALLÓ: ERROR FATAL"); _addTranslation("BAD NEWS :( File is DAMAGED!", "MALAS NOTICIAS :( El archivo está corrupto!"); + _addTranslation("MEGA LINK TEMPORARILY UNAVAILABLE!", "¡ENLACE TEMPORALMENTE NO DISPONIBLE!"); + _addTranslation("File temporarily unavailable! (Retrying in ", "¡Archivo temporalmente no disponible! (Reintentando en "); _addTranslation(" secs...)", " segundos...)"); _addTranslation(" (Retrying in ", " (Reintentando en "); diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanel.java b/src/main/java/com/tonikelope/megabasterd/MainPanel.java index 7d030d149..eb801ec24 100644 --- a/src/main/java/com/tonikelope/megabasterd/MainPanel.java +++ b/src/main/java/com/tonikelope/megabasterd/MainPanel.java @@ -57,7 +57,7 @@ import javax.swing.UIManager; */ public final class MainPanel { - public static final String VERSION = "7.20"; + public static final String VERSION = "7.21"; public static final boolean FORCE_SMART_PROXY = false; //TRUE FOR DEBUGING SMART PROXY public static final int THROTTLE_SLICE_SIZE = 16 * 1024; public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024; diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java index 8250b28b4..c77f9abc6 100644 --- a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java +++ b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java @@ -1001,7 +1001,7 @@ public final class MainPanelView extends javax.swing.JFrame { FolderLinkDialog fdialog = new FolderLinkDialog(_main_panel.getView(), true, url); - if (!fdialog.isMega_error()) { + if (fdialog.isMega_error() == 0) { fdialog.setLocationRelativeTo(_main_panel.getView()); diff --git a/src/main/resources/images/mbasterd_screen.png b/src/main/resources/images/mbasterd_screen.png index 5391d44cc..ee5cdeed7 100644 Binary files a/src/main/resources/images/mbasterd_screen.png and b/src/main/resources/images/mbasterd_screen.png differ