fix compilation
This commit is contained in:
+2
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.android.intention
|
package org.jetbrains.kotlin.android.intention
|
||||||
|
|
||||||
import com.intellij.openapi.util.Key
|
import com.intellij.openapi.util.Key
|
||||||
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
|
|
||||||
|
|
||||||
val CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY = Key<String>("CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY")
|
val CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY = Key<String>("CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY")
|
||||||
@@ -24,4 +25,5 @@ val CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY = Key<String>("CREATE_XML_RESOURCE_P
|
|||||||
class CreateXmlResourceParameters(val name: String,
|
class CreateXmlResourceParameters(val name: String,
|
||||||
val value: String,
|
val value: String,
|
||||||
val fileName: String,
|
val fileName: String,
|
||||||
|
val resourceDirectory: VirtualFile,
|
||||||
val directoryNames: List<String>)
|
val directoryNames: List<String>)
|
||||||
+16
-4
@@ -26,12 +26,14 @@ import com.intellij.openapi.command.undo.UndoUtil
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.ui.Messages
|
import com.intellij.openapi.ui.Messages
|
||||||
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.android.actions.CreateXmlResourceDialog
|
import org.jetbrains.android.actions.CreateXmlResourceDialog
|
||||||
import org.jetbrains.android.facet.AndroidFacet
|
import org.jetbrains.android.facet.AndroidFacet
|
||||||
import org.jetbrains.android.util.AndroidBundle
|
import org.jetbrains.android.util.AndroidBundle
|
||||||
import org.jetbrains.android.util.AndroidResourceUtil
|
import org.jetbrains.android.util.AndroidResourceUtil
|
||||||
|
import org.jetbrains.android.util.AndroidUtils
|
||||||
import org.jetbrains.kotlin.builtins.isExtensionFunctionType
|
import org.jetbrains.kotlin.builtins.isExtensionFunctionType
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
@@ -55,6 +57,7 @@ class KotlinAndroidAddStringResource : SelfTargetingIntention<KtLiteralStringTem
|
|||||||
private val GET_STRING_METHOD = "getString"
|
private val GET_STRING_METHOD = "getString"
|
||||||
private val EXTRACT_RESOURCE_DIALOG_TITLE = "Extract Resource"
|
private val EXTRACT_RESOURCE_DIALOG_TITLE = "Extract Resource"
|
||||||
private val PACKAGE_NOT_FOUND_ERROR = "package.not.found.error"
|
private val PACKAGE_NOT_FOUND_ERROR = "package.not.found.error"
|
||||||
|
private val RESOURCE_DIR_ERROR = "check.resource.dir.error"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isApplicableTo(element: KtLiteralStringTemplateEntry, caretOffset: Int): Boolean {
|
override fun isApplicableTo(element: KtLiteralStringTemplateEntry, caretOffset: Int): Boolean {
|
||||||
@@ -86,9 +89,9 @@ class KotlinAndroidAddStringResource : SelfTargetingIntention<KtLiteralStringTem
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
val parameters = getCreateXmlResourceParameters(facet.module, element) ?: return
|
val parameters = getCreateXmlResourceParameters(facet.module, element, file.virtualFile) ?: return
|
||||||
|
|
||||||
if (!AndroidResourceUtil.createValueResource(facet.module, parameters.name, ResourceType.STRING,
|
if (!AndroidResourceUtil.createValueResource(project, parameters.resourceDirectory, parameters.name, ResourceType.STRING,
|
||||||
parameters.fileName, parameters.directoryNames, parameters.value)) {
|
parameters.fileName, parameters.directoryNames, parameters.value)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -98,13 +101,15 @@ class KotlinAndroidAddStringResource : SelfTargetingIntention<KtLiteralStringTem
|
|||||||
UndoUtil.markPsiFileForUndo(file)
|
UndoUtil.markPsiFileForUndo(file)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getCreateXmlResourceParameters(module: Module, element: KtLiteralStringTemplateEntry): CreateXmlResourceParameters? {
|
private fun getCreateXmlResourceParameters(module: Module, element: KtLiteralStringTemplateEntry,
|
||||||
|
contextFile: VirtualFile): CreateXmlResourceParameters? {
|
||||||
|
|
||||||
val stringValue = element.text
|
val stringValue = element.text
|
||||||
|
|
||||||
val showDialog = !ApplicationManager.getApplication().isUnitTestMode
|
val showDialog = !ApplicationManager.getApplication().isUnitTestMode
|
||||||
val resourceName = element.getUserData(CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY)
|
val resourceName = element.getUserData(CREATE_XML_RESOURCE_PARAMETERS_NAME_KEY)
|
||||||
|
|
||||||
val dialog = CreateXmlResourceDialog(module, ResourceType.STRING, resourceName, stringValue, true)
|
val dialog = CreateXmlResourceDialog(module, ResourceType.STRING, resourceName, stringValue, true, null, contextFile)
|
||||||
dialog.title = EXTRACT_RESOURCE_DIALOG_TITLE
|
dialog.title = EXTRACT_RESOURCE_DIALOG_TITLE
|
||||||
if (showDialog) {
|
if (showDialog) {
|
||||||
if (!dialog.showAndGet()) {
|
if (!dialog.showAndGet()) {
|
||||||
@@ -115,9 +120,16 @@ class KotlinAndroidAddStringResource : SelfTargetingIntention<KtLiteralStringTem
|
|||||||
dialog.close(0)
|
dialog.close(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val resourceDirectory = dialog.resourceDirectory
|
||||||
|
if (resourceDirectory == null) {
|
||||||
|
AndroidUtils.reportError(module.project, AndroidBundle.message(RESOURCE_DIR_ERROR, module))
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
return CreateXmlResourceParameters(dialog.resourceName,
|
return CreateXmlResourceParameters(dialog.resourceName,
|
||||||
dialog.value,
|
dialog.value,
|
||||||
dialog.fileName,
|
dialog.fileName,
|
||||||
|
resourceDirectory,
|
||||||
dialog.dirNames)
|
dialog.dirNames)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user