winterDroid / android-drawable-importer-intellij-plugin

Adds an option to IntelliJ to import drawables in different resolutions from AndroidIcons, own "drawable repos" and scale a certain image down/up to the defined resolutions.
Apache License 2.0
863 stars 137 forks source link

Plugin doesn't work with Android Studio 3.1 #157

Open kyay10 opened 6 years ago

kyay10 commented 6 years ago

Android studio 3.1 gets stuck on the preparing android drawable import plugin forever, and the only way to solve it is to remove the plugin, but I wanna use the plugin, so what should I do. I am running a windows 10 laptop with 8 gigs of ram and a core i5 7th gen

thevarunshah commented 6 years ago

Just tested on Android Studio 3.1.3 and it works fine - it does take an abnormally long time to "prepare" the plugin but it eventually does load Android Studio.

parthjdabhi commented 6 years ago

Error Log: Write-unsafe context! Model changes are allowed from write-safe contexts only. Please ensure you're using invokeLater/invokeAndWait with a correct modality state (not "any"). See TransactionGuard documentation for details.

current modality=ModalityState.NON_MODAL known modalities: ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog0,877,446,413x126,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]]}, writingAllowed=true; ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog2,471,245,1224x528,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=Batch Drawable Importer,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]], [com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog5,876,446,413x126,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]]}, writingAllowed=true; ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog2,471,245,1224x528,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=Batch Drawable Importer,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]], [com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog7,876,446,413x126,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]]}, writingAllowed=true; ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog2,471,245,1224x528,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=Batch Drawable Importer,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]]}, writingAllowed=true; ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog2,471,245,1224x528,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=Batch Drawable Importer,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]], [com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog6,621,170,924x678,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]]}, writingAllowed=true; ModalityState:{}, writingAllowed=true; ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog2,471,245,1224x528,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=Batch Drawable Importer,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]], [com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog8,621,170,924x678,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]]}, writingAllowed=true; ModalityState.NON_MODAL, writingAllowed=true; ModalityState:{[Prepare Android Drawable Importer 929277114: running=false; canceled=false]}, writingAllowed=true; ModalityState:{[com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog2,471,245,1224x528,invalid,hidden,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=Batch Drawable Importer,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=,rootPaneCheckingEnabled=true]], [java.awt.FileDialog[filedlg0,0,23,0x0,invalid,hidden,APPLICATION_MODAL,title=Select Image Asset(s),dir= /Users/imac/Downloads/,file= pin_blue.png,load]]}, writingAllowed=true com.intellij.openapi.diagnostic.Logger$EmptyThrowable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:140) at com.intellij.openapi.application.TransactionGuardImpl.assertWriteActionAllowed(TransactionGuardImpl.java:232) at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.execute(RefreshQueueImpl.java:54) at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.launch(RefreshSessionImpl.java:115) at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.processSingleEvent(RefreshQueueImpl.java:127) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.createAndFindChildWithEventFire(VirtualDirectoryImpl.java:276) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:99) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.refreshAndFindChild(VirtualDirectoryImpl.java:283) at com.intellij.openapi.vfs.newvfs.VfsImplUtil.refreshAndFindFileByPath(VfsImplUtil.java:131) at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.refreshAndFindFileByPath(LocalFileSystemBase.java:56) at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.refreshAndFindFileByIoFile(LocalFileSystemBase.java:212) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask.copy(RefactoringTask.java:185) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask.move(RefactoringTask.java:231) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask.access$200(RefactoringTask.java:45) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask$1.run(RefactoringTask.java:79) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:732) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

com.intellij.openapi.diagnostic.Logger$EmptyThrowable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:140) at com.intellij.openapi.application.TransactionGuardImpl.assertWriteActionAllowed(TransactionGuardImpl.java:232) at com.intellij.psi.impl.PsiModificationTrackerImpl.fireEvent(PsiModificationTrackerImpl.java:93) at com.intellij.psi.impl.PsiModificationTrackerImpl.incCountersInner(PsiModificationTrackerImpl.java:101) at com.intellij.psi.impl.PsiModificationTrackerImpl.incCounter(PsiModificationTrackerImpl.java:85) at com.intellij.psi.impl.PsiModificationTrackerImpl$1.lambda$doIncCounter$0(PsiModificationTrackerImpl.java:69) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1003) at com.intellij.psi.impl.PsiModificationTrackerImpl$1.doIncCounter(PsiModificationTrackerImpl.java:69) at com.intellij.psi.impl.PsiModificationTrackerImpl$1.exitDumbMode(PsiModificationTrackerImpl.java:79) at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:117) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:449) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:410) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:399) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:387) at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:380) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:45) at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:231) at com.sun.proxy.$Proxy89.exitDumbMode(Unknown Source) at com.intellij.openapi.project.DumbServiceImpl.updateFinished(DumbServiceImpl.java:284) at com.intellij.openapi.project.DumbServiceImpl.showModalProgress(DumbServiceImpl.java:392) at com.intellij.openapi.project.DumbServiceImpl.completeJustSubmittedTasks(DumbServiceImpl.java:379) at com.intellij.psi.impl.file.PsiDirectoryImpl.copyFileFrom(PsiDirectoryImpl.java:368) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask$3.run(RefactoringTask.java:211) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1003) at de.mprengemann.intellij.plugin.androidicons.util.RunnableUtils$WriteAction.run(RunnableUtils.java:32) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:85) at de.mprengemann.intellij.plugin.androidicons.util.RunnableUtils.runWriteCommand(RunnableUtils.java:23) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask.copy(RefactoringTask.java:198) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask.move(RefactoringTask.java:231) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask.access$200(RefactoringTask.java:45) at de.mprengemann.intellij.plugin.androidicons.images.RefactoringTask$1.run(RefactoringTask.java:79) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:732) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

apexkid commented 5 years ago

+1 to above log. Facing same problem