Skip to content

Commit 945738c

Browse files
committed
Android Studio compatibility fixed
1 parent 599d989 commit 945738c

File tree

3 files changed

+17
-19
lines changed

3 files changed

+17
-19
lines changed

resources/META-INF/plugin.xml

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<idea-plugin>
22
<id>com.mighty16.json.kotlin.class</id>
33
<name>Generate Kotlin data classes from JSON</name>
4-
<version>0.9.5</version>
4+
<version>0.9.6</version>
55
<vendor email="mighty16.developer@gmail.com">Mighty16</vendor>
66

77
<description><![CDATA[Plugin generates Kotlin data classes from JSON text.
@@ -25,10 +25,9 @@
2525
<a href="mailto:mighty16.developer@gmail.com">mighty16.developer@gmail.com</a>]]>
2626
</description>
2727

28-
<idea-version since-build="145.0"/>
28+
<idea-version since-build="193"/>
2929

30-
<extensions defaultExtensionNs="com.intellij">
31-
</extensions>
30+
<depends>com.intellij.modules.platform</depends>
3231

3332
<actions>
3433
<action id="com.mighty16.json.ClassFromJSONAction"

src/com/mighty16/json/ClassFromJSONAction.java

+14-11
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.intellij.openapi.module.Module;
55
import com.intellij.openapi.project.Project;
66
import com.intellij.openapi.roots.ModuleRootManager;
7+
import com.intellij.openapi.roots.ProjectRootManager;
78
import com.intellij.openapi.ui.Messages;
89
import com.intellij.openapi.vfs.VirtualFile;
910
import com.intellij.pom.Navigatable;
@@ -30,7 +31,8 @@
3031
import java.awt.event.ComponentEvent;
3132
import java.util.List;
3233

33-
public class ClassFromJSONAction extends AnAction implements JSONEditDialog.JSONEditCallbacks, ModelTableDialog.ModelTableCallbacks {
34+
public class ClassFromJSONAction extends AnAction implements JSONEditDialog.JSONEditCallbacks,
35+
ModelTableDialog.ModelTableCallbacks {
3436

3537
private PsiDirectory directory;
3638
private Point lastDialogLocation;
@@ -49,20 +51,21 @@ public void actionPerformed(AnActionEvent event) {
4951
Project project = event.getProject();
5052
if (project == null) return;
5153
DataContext dataContext = event.getDataContext();
52-
final Module module = DataKeys.MODULE.getData(dataContext);
53-
if (module == null) return;
54-
final Navigatable navigatable = DataKeys.NAVIGATABLE.getData(dataContext);
54+
final Navigatable navigatable = PlatformDataKeys.NAVIGATABLE.getData(dataContext);
5555

5656
if (navigatable != null) {
5757
if (navigatable instanceof PsiDirectory) {
5858
directory = (PsiDirectory) navigatable;
59-
}
60-
}
61-
62-
if (directory == null) {
63-
ModuleRootManager root = ModuleRootManager.getInstance(module);
64-
for (VirtualFile file : root.getSourceRoots()) {
65-
directory = PsiManager.getInstance(project).findDirectory(file);
59+
} else{
60+
final VirtualFile projectFile = project.getProjectFile();
61+
if (projectFile == null) throw new NullPointerException("Project file not found");
62+
Module module = ProjectRootManager.getInstance(project).getFileIndex().getModuleForFile(projectFile);
63+
if (module!=null){
64+
ModuleRootManager root = ModuleRootManager.getInstance(module);
65+
for (VirtualFile file : root.getSourceRoots()) {
66+
directory = PsiManager.getInstance(project).findDirectory(file);
67+
}
68+
}
6669
}
6770
}
6871

src/com/mighty16/json/IDEFileSaver.java

-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.mighty16.json;
22

3-
43
import com.intellij.openapi.command.WriteCommandAction;
54
import com.intellij.openapi.fileTypes.FileType;
65
import com.intellij.psi.PsiDirectory;
@@ -24,9 +23,7 @@ public IDEFileSaver(PsiFileFactory factory, PsiDirectory directory, FileType fil
2423
public void saveFile(String fileName, String fileContent) {
2524
PsiFile classFile = factory.createFileFromText(fileName, fileType, fileContent);
2625
PsiFile oldFile = directory.findFile(fileName);
27-
2826
if (oldFile != null) {
29-
3027
if (listener != null && listener.shouldOverwriteFile(fileName)) {
3128
WriteCommandAction.runWriteCommandAction(directory.getProject(), () -> {
3229
oldFile.delete();
@@ -38,6 +35,5 @@ public void saveFile(String fileName, String fileContent) {
3835
directory.add(classFile);
3936
});
4037
}
41-
4238
}
4339
}

0 commit comments

Comments
 (0)