diff --git a/README.md b/README.md index 8c95225..2ca3049 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Reset Your IDE Eval Information -1. Download and install plugin from [Download Link](https://plugins.zhile.io/files/ide-eval-resetter-2.1.13.zip). +1. Download and install plugin from [Download Link](https://plugins.zhile.io/files/ide-eval-resetter-2.1.14-d2fedb86.zip). * Alternative installation method: * Add "Custom Plugin Repository": `https://plugins.zhile.io` manually (`Settings/Preferences` -> `Plugins`) * Search and install plugin: `IDE Eval Reset` @@ -8,4 +8,4 @@ 3. Click `Reset` -> `Yes` button. 4. Restart your IDE. 5. Now you have another 30 days eval time :) -6. For more information, visit [here](https://zhile.io/2020/11/18/jetbrains-eval-reset.html). \ No newline at end of file +6. For more information, visit [here](https://zhile.io/2020/11/18/jetbrains-eval-reset-da33a93d.html). diff --git a/build.gradle b/build.gradle index ad45664..207eeb6 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'io.zhile.research.intellij' -version '2.1.13' +version '2.1.14' sourceCompatibility = 1.7 targetCompatibility = 1.7 @@ -29,6 +29,8 @@ intellij { patchPluginXml { changeNotes """
+Release v2.1.14
+  1. fix minor exceptions
 Release v2.1.13
   1. fix error notification
 Release v2.1.12
diff --git a/src/main/java/io/zhile/research/intellij/ier/common/LicenseFileRecord.java b/src/main/java/io/zhile/research/intellij/ier/common/LicenseFileRecord.java
index 578bc64..9aae294 100644
--- a/src/main/java/io/zhile/research/intellij/ier/common/LicenseFileRecord.java
+++ b/src/main/java/io/zhile/research/intellij/ier/common/LicenseFileRecord.java
@@ -9,15 +9,16 @@ import java.util.Date;
 public class LicenseFileRecord implements EvalRecord {
     private final String type = "LICENSE";
     private final File file;
-    private final Date expireDate;
+
+    private String expireDate;
 
     public LicenseFileRecord(File file) {
         this.file = file;
 
         try (DataInputStream dis = new DataInputStream(new FileInputStream(file))) {
-            expireDate = new Date(~dis.readLong() + 2592000000L);
+            expireDate = DateTime.DF_DATETIME.format(new Date(~dis.readLong() + 2592000000L));
         } catch (Exception e) {
-            throw new RuntimeException(e);
+            expireDate = "ERROR";
         }
     }
 
@@ -34,6 +35,6 @@ public class LicenseFileRecord implements EvalRecord {
 
     @Override
     public String toString() {
-        return type + ": " + file.getName() + ", UNTIL: " + DateTime.DF_DATETIME.format(expireDate);
+        return type + ": " + file.getName() + ", UNTIL: " + expireDate;
     }
 }
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/AppActivationListener.java b/src/main/java/io/zhile/research/intellij/ier/listener/AppActivationListener.java
index fda6d0b..b6d69db 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/AppActivationListener.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/AppActivationListener.java
@@ -15,14 +15,18 @@ import io.zhile.research.intellij.ier.helper.ResetTimeHelper;
 import org.jetbrains.annotations.NotNull;
 
 public class AppActivationListener implements ApplicationActivationListener, Disposable {
-    private static AppActivationListener instance = new AppActivationListener();
+    private static AppActivationListener instance;
     private static MessageBusConnection connection;
 
     protected AppActivationListener() {
 
     }
 
-    public static AppActivationListener getInstance() {
+    public synchronized static AppActivationListener getInstance() {
+        if (instance == null) {
+            instance = new AppActivationListener();
+        }
+
         return instance;
     }
 
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java b/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java
index 740c513..f8c9bb6 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java
@@ -13,14 +13,18 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 public class AppEventListener implements AppLifecycleListener, Disposable {
-    private static AppEventListener instance = new AppEventListener();
+    private static AppEventListener instance;
     private static MessageBusConnection connection;
 
     protected AppEventListener() {
 
     }
 
-    public static AppEventListener getInstance() {
+    public synchronized static AppEventListener getInstance() {
+        if (instance == null) {
+            instance = new AppEventListener();
+        }
+
         return instance;
     }
 
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/BrokenPluginsListener.java b/src/main/java/io/zhile/research/intellij/ier/listener/BrokenPluginsListener.java
index 39be008..9a18002 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/BrokenPluginsListener.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/BrokenPluginsListener.java
@@ -9,14 +9,18 @@ import io.zhile.research.intellij.ier.helper.BrokenPlugins;
 import org.jetbrains.annotations.NotNull;
 
 public class BrokenPluginsListener implements ApplicationActivationListener, Disposable {
-    private static BrokenPluginsListener instance = new BrokenPluginsListener();
+    private static BrokenPluginsListener instance;
     private static MessageBusConnection connection;
 
     protected BrokenPluginsListener() {
 
     }
 
-    public static BrokenPluginsListener getInstance() {
+    public synchronized static BrokenPluginsListener getInstance() {
+        if (instance == null) {
+            instance = new BrokenPluginsListener();
+        }
+
         return instance;
     }
 
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/PluginListener.java b/src/main/java/io/zhile/research/intellij/ier/listener/PluginListener.java
index b74eb50..7ad9fbc 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/PluginListener.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/PluginListener.java
@@ -20,7 +20,7 @@ public class PluginListener implements DynamicPluginListener {
         }
 
         ActionManager.getInstance().getAction(Constants.RESET_ACTION_ID);
-        NotificationHelper.showInfo(null, "Plugin installed successfully! Now enjoy it~
For more information, visit here."); + NotificationHelper.showInfo(null, "Plugin installed successfully! Now enjoy it~
For more information, visit here."); } @Override diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 9cb62f3..3b732c2 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -7,7 +7,7 @@ I can reset your IDE eval information.
Click "Help" menu and select "Eval Reset"

- Need Help? + Need Help?

]]>