diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidAutogenerator.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidAutogenerator.java index 7bf60d90afd7..a9dae21452f7 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidAutogenerator.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidAutogenerator.java @@ -359,6 +359,8 @@ public class AndroidAutogenerator { final ModuleCompileScope moduleCompileScope = new ModuleCompileScope(module, false); final VirtualFile[] files = moduleCompileScope.getFiles(AndroidRenderscriptFileType.INSTANCE, true); + facet.clearAutogeneratedFiles(AndroidAutogeneratorMode.RENDERSCRIPT); + for (final VirtualFile file : files) { final RenderscriptAutogenerationItem item = ApplicationManager.getApplication().runReadAction(new Computable() { @@ -395,6 +397,10 @@ public class AndroidAutogenerator { } }); + if (item == null) { + continue; + } + File tempOutDir = null; try { @@ -404,13 +410,11 @@ public class AndroidAutogenerator { launchRenderscriptCompiler(module.getProject(), item.mySdkLocation, item.myTarget, file, tempOutDir.getPath(), item.myRawDirPath); if (messages.get(CompilerMessageCategory.ERROR).size() == 0) { - facet.clearAutogeneratedFiles(AndroidAutogeneratorMode.RENDERSCRIPT); - final List newFiles = new ArrayList(); moveAllFiles(tempOutDir, new File(item.myGenDirPath), newFiles); for (File newFile : newFiles) { - final VirtualFile newVFile = LocalFileSystem.getInstance().findFileByIoFile(newFile); + final VirtualFile newVFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(newFile); if (newVFile != null) { facet.markFileAutogenerated(AndroidAutogeneratorMode.RENDERSCRIPT, newVFile); diff --git a/plugins/android/src/org/jetbrains/android/facet/AndroidFacet.java b/plugins/android/src/org/jetbrains/android/facet/AndroidFacet.java index f02eb36984fa..de9e8f017cda 100644 --- a/plugins/android/src/org/jetbrains/android/facet/AndroidFacet.java +++ b/plugins/android/src/org/jetbrains/android/facet/AndroidFacet.java @@ -143,7 +143,9 @@ public class AndroidFacet extends Facet { } } } - alarm.addRequest(this, 2000); + if (!alarm.isDisposed()) { + alarm.addRequest(this, 2000); + } } }, 2000); return alarm; diff --git a/plugins/android/src/org/jetbrains/android/facet/AndroidResourceFilesListener.java b/plugins/android/src/org/jetbrains/android/facet/AndroidResourceFilesListener.java index 49d095aedcb9..37e9c4105441 100644 --- a/plugins/android/src/org/jetbrains/android/facet/AndroidResourceFilesListener.java +++ b/plugins/android/src/org/jetbrains/android/facet/AndroidResourceFilesListener.java @@ -112,9 +112,6 @@ class AndroidResourceFilesListener extends VirtualFileAdapter { private void fileChanged(@NotNull final VirtualFileEvent e) { VirtualFile file = e.getFile(); - if (!file.isValid()) { - return; - } VirtualFile parent = e.getParent(); VirtualFile gp = parent != null ? parent.getParent() : null;