mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correct getting of resource name by file name
This commit is contained in:
@@ -201,7 +201,7 @@ public class AndroidRenameResourceProcessor extends RenamePsiElementProcessor {
|
||||
String type = manager.getFileResourceType(file);
|
||||
if (type == null) return;
|
||||
String name = file.getName();
|
||||
List<PsiFile> resourceFiles = manager.findResourceFiles(type, FileUtil.getNameWithoutExtension(name));
|
||||
List<PsiFile> resourceFiles = manager.findResourceFiles(type, ResourceManager.getResourceName(type, name));
|
||||
List<PsiFile> alternativeResources = new ArrayList<PsiFile>();
|
||||
for (PsiFile resourceFile : resourceFiles) {
|
||||
if (!resourceFile.getManager().areElementsEquivalent(file, resourceFile) && resourceFile.getName().equals(name)) {
|
||||
|
||||
@@ -15,17 +15,17 @@
|
||||
*/
|
||||
package org.jetbrains.android.dom.converters;
|
||||
|
||||
import com.intellij.psi.PsiReferenceBase;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReferenceBase;
|
||||
import com.intellij.psi.xml.XmlElement;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.xml.*;
|
||||
import com.intellij.util.xml.impl.ConvertContextImpl;
|
||||
import com.intellij.util.xml.impl.DomCompletionContributor;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.android.dom.AndroidDomUtil;
|
||||
import org.jetbrains.android.dom.resources.ResourceValue;
|
||||
import org.jetbrains.android.resourceManagers.ResourceManager;
|
||||
import org.jetbrains.android.util.AndroidResourceUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -70,8 +70,11 @@ public abstract class BaseResourceReference extends PsiReferenceBase.Poly<XmlEle
|
||||
}
|
||||
ResourceValue value = myValue.getValue();
|
||||
assert value != null;
|
||||
myValue.setValue(ResourceValue.referenceTo(value.getPrefix(), value.getPackage(), value.getResourceType(),
|
||||
FileUtil.getNameWithoutExtension(newElementName)));
|
||||
String resType = value.getResourceType();
|
||||
if (resType != null && newElementName != null) {
|
||||
myValue.setValue(ResourceValue.referenceTo(value.getPrefix(), value.getPackage(), resType,
|
||||
ResourceManager.getResourceName(resType, newElementName)));
|
||||
}
|
||||
return myValue.getXmlTag();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ public abstract class ResourceManager {
|
||||
return dirs;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@NotNull
|
||||
public static String getResourceName(@NotNull String resourceType, @NotNull String fileName) {
|
||||
String extension = FileUtil.getExtension(fileName);
|
||||
String s = FileUtil.getNameWithoutExtension(fileName);
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ModulePackageIndex;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
@@ -40,6 +39,7 @@ import org.jetbrains.android.dom.resources.DeclareStyleable;
|
||||
import org.jetbrains.android.dom.resources.ResourceElement;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.resourceManagers.LocalResourceManager;
|
||||
import org.jetbrains.android.resourceManagers.ResourceManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -167,7 +167,7 @@ public class AndroidResourceUtil {
|
||||
LocalResourceManager manager = facet.getLocalResourceManager();
|
||||
String resourceType = manager.getFileResourceType(file);
|
||||
if (resourceType != null) {
|
||||
String resourceName = FileUtil.getNameWithoutExtension(file.getName());
|
||||
String resourceName = ResourceManager.getResourceName(resourceType, file.getName());
|
||||
return findResourceFields(facet, resourceType, resourceName, onlyInOwnPackages);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user