aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/ReferenceAttributeDescriptor.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutReloadMonitor.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java18
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java15
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ExtractIncludeAction.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java28
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/IncludeFinder.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PlayAnimationMenu.java2
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/RulesEngine.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/ThemeAttributeDescriptor.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/descriptors/ResourcesDescriptors.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiResourceAttributeNode.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/Hyperlinks.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java1
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringRefactoring.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IIdResourceItem.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IResourceRepository.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceHelper.java42
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java54
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationship.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IdResourceItem.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IntArrayWrapper.java13
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/MultiResourceFile.java46
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResourceItem.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResources.java49
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFile.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFolder.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/SingleResourceFile.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetParser.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/FrameworkResourceRepository.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ReferenceChooserDialog.java64
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java49
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceContentProvider.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceLabelProvider.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/NewXmlFileCreationPage.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidator.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java11
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java2
-rw-r--r--ide_common/.classpath1
-rw-r--r--ide_common/Android.mk1
-rw-r--r--ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java30
-rw-r--r--ide_common/src/com/android/ide/common/resources/ResourceResolver.java60
-rw-r--r--ide_common/src/com/android/ide/common/resources/ValueResourceParser.java22
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/DensityBasedResourceValue.java3
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java4
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/RenderResources.java21
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/ResourceValue.java15
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java6
-rw-r--r--resources/src/com/android/resources/ResourceType.java (renamed from eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceType.java)20
54 files changed, 358 insertions, 288 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java
index c8670b4..84e2751 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java
@@ -90,10 +90,13 @@ public class ResourceManagerBuilder extends BaseBuilder {
switch (res) {
case ProjectHelper.COMPILER_COMPLIANCE_LEVEL:
errorMessage = Messages.Requires_Compiler_Compliance_5;
+ break;
case ProjectHelper.COMPILER_COMPLIANCE_SOURCE:
errorMessage = Messages.Requires_Source_Compatibility_5;
+ break;
case ProjectHelper.COMPILER_COMPLIANCE_CODEGEN_TARGET:
errorMessage = Messages.Requires_Class_Compatibility_5;
+ break;
}
if (errorMessage != null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java
index 06db45b..067c731 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java
@@ -139,9 +139,9 @@ public abstract class AndroidXmlEditor extends FormEditor implements IResourceCh
public AndroidXmlEditor(boolean addTargetListener) {
super();
- if (addTargetListener) {
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+ if (addTargetListener) {
mTargetListener = new TargetChangeListener() {
@Override
public IProject getProject() {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java
index 0a6593d..817d4cb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java
@@ -37,7 +37,7 @@ import com.android.ide.common.resources.platform.AttributeInfo;
import com.android.ide.eclipse.adt.AndroidConstants;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiDocumentNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import com.android.sdklib.SdkConstants;
import org.eclipse.swt.graphics.Image;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/ReferenceAttributeDescriptor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/ReferenceAttributeDescriptor.java
index f291bff..f619450 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/ReferenceAttributeDescriptor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/ReferenceAttributeDescriptor.java
@@ -23,7 +23,7 @@ import com.android.ide.eclipse.adt.internal.editors.ui.ResourceValueCellEditor;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiResourceAttributeNode;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import com.android.sdklib.SdkConstants;
import org.eclipse.jface.viewers.CellEditor;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutReloadMonitor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutReloadMonitor.java
index eafc910..380381b 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutReloadMonitor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutReloadMonitor.java
@@ -18,7 +18,6 @@ package com.android.ide.eclipse.adt.internal.editors.layout;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonitor;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFile;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFolder;
@@ -28,6 +27,7 @@ import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonit
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager.IResourceListener;
import com.android.ide.eclipse.adt.internal.sdk.ProjectState;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
+import com.android.resources.ResourceType;
import com.android.sdklib.SdkConstants;
import org.eclipse.core.resources.IFile;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
index e7cbaea..824d0e1 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
@@ -24,6 +24,7 @@ import com.android.ide.eclipse.adt.AndroidConstants;
import com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectClassLoader;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
+import com.android.resources.ResourceType;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.xml.ManifestData;
@@ -204,10 +205,6 @@ public final class ProjectCallback implements ILegacyCallback {
return mNamespace;
}
- /*
- * (non-Javadoc)
- * @see com.android.layoutlib.api.IProjectCallback#resolveResourceValue(int)
- */
public String[] resolveResourceValue(int id) {
if (mProjectRes != null) {
return mProjectRes.resolveResourceValue(id);
@@ -216,10 +213,6 @@ public final class ProjectCallback implements ILegacyCallback {
return null;
}
- /*
- * (non-Javadoc)
- * @see com.android.layoutlib.api.IProjectCallback#resolveResourceValue(int[])
- */
public String resolveResourceValue(int[] id) {
if (mProjectRes != null) {
return mProjectRes.resolveResourceValue(id);
@@ -228,11 +221,14 @@ public final class ProjectCallback implements ILegacyCallback {
return null;
}
- /*
- * (non-Javadoc)
- * @see com.android.layoutlib.api.IProjectCallback#getResourceValue(java.lang.String, java.lang.String)
+ /**
+ * @deprecated use {@link #getResourceValue(ResourceType, String)} instead.
*/
public Integer getResourceValue(String type, String name) {
+ return getResourceValue(ResourceType.getEnum(type), name);
+ }
+
+ public Integer getResourceValue(ResourceType type, String name) {
if (mProjectRes != null) {
return mProjectRes.getResourceValue(type, name);
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
index 923caad..12289b9 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
@@ -20,7 +20,6 @@ import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.rendering.api.StyleResourceValue;
import com.android.ide.common.sdk.LoadStatus;
import com.android.ide.eclipse.adt.AdtPlugin;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.DockModeQualifier;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.LanguageQualifier;
@@ -44,6 +43,7 @@ import com.android.ide.eclipse.adt.internal.sdk.LayoutDevice.DeviceConfig;
import com.android.resources.Density;
import com.android.resources.DockMode;
import com.android.resources.NightMode;
+import com.android.resources.ResourceType;
import com.android.resources.ScreenOrientation;
import com.android.sdklib.IAndroidTarget;
@@ -191,8 +191,8 @@ public class ConfigurationComposite extends Composite {
ProjectResources getProjectResources();
ProjectResources getFrameworkResources();
ProjectResources getFrameworkResources(IAndroidTarget target);
- Map<String, Map<String, ResourceValue>> getConfiguredProjectResources();
- Map<String, Map<String, ResourceValue>> getConfiguredFrameworkResources();
+ Map<ResourceType, Map<String, ResourceValue>> getConfiguredProjectResources();
+ Map<ResourceType, Map<String, ResourceValue>> getConfiguredFrameworkResources();
}
/**
@@ -1364,13 +1364,12 @@ public class ConfigurationComposite extends Composite {
// get the themes, and languages from the Framework.
if (frameworkProject != null) {
// get the configured resources for the framework
- Map<String, Map<String, ResourceValue>> frameworResources =
+ Map<ResourceType, Map<String, ResourceValue>> frameworResources =
frameworkProject.getConfiguredResources(getCurrentConfig());
if (frameworResources != null) {
// get the styles.
- Map<String, ResourceValue> styles = frameworResources.get(
- ResourceType.STYLE.getName());
+ Map<String, ResourceValue> styles = frameworResources.get(ResourceType.STYLE);
// collect the themes out of all the styles.
@@ -1399,13 +1398,13 @@ public class ConfigurationComposite extends Composite {
// in cases where the opened file is not linked to a project, this could be null.
if (project != null) {
// get the configured resources for the project
- Map<String, Map<String, ResourceValue>> configuredProjectRes =
+ Map<ResourceType, Map<String, ResourceValue>> configuredProjectRes =
mListener.getConfiguredProjectResources();
if (configuredProjectRes != null) {
// get the styles.
Map<String, ResourceValue> styleMap = configuredProjectRes.get(
- ResourceType.STYLE.getName());
+ ResourceType.STYLE);
if (styleMap != null) {
// collect the themes out of all the styles, ie styles that extend,
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ExtractIncludeAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ExtractIncludeAction.java
index da86943..46ec8f3 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ExtractIncludeAction.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ExtractIncludeAction.java
@@ -29,7 +29,7 @@ import static com.android.ide.eclipse.adt.AndroidConstants.DOT_XML;
import static com.android.ide.eclipse.adt.AndroidConstants.WS_SEP;
import static com.android.ide.eclipse.adt.internal.editors.descriptors.XmlnsAttributeDescriptor.XMLNS;
import static com.android.ide.eclipse.adt.internal.editors.descriptors.XmlnsAttributeDescriptor.XMLNS_COLON;
-import static com.android.ide.eclipse.adt.internal.resources.ResourceType.LAYOUT;
+import static com.android.resources.ResourceType.LAYOUT;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
index 397aac9..4e66bb0 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
@@ -56,7 +56,6 @@ import com.android.ide.eclipse.adt.internal.editors.uimodel.UiDocumentNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.editors.xml.Hyperlinks;
import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
@@ -69,6 +68,7 @@ import com.android.ide.eclipse.adt.internal.sdk.Sdk.ITargetChangeListener;
import com.android.ide.eclipse.adt.io.IFileWrapper;
import com.android.ide.eclipse.adt.io.IFolderWrapper;
import com.android.resources.Density;
+import com.android.resources.ResourceType;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.io.IAbstractFile;
@@ -230,8 +230,8 @@ public class GraphicalEditorPart extends EditorPart
*/
private Reference mIncludedWithin;
- private Map<String, Map<String, ResourceValue>> mConfiguredFrameworkRes;
- private Map<String, Map<String, ResourceValue>> mConfiguredProjectRes;
+ private Map<ResourceType, Map<String, ResourceValue>> mConfiguredFrameworkRes;
+ private Map<ResourceType, Map<String, ResourceValue>> mConfiguredProjectRes;
private ProjectCallback mProjectCallback;
private boolean mNeedsRecompute = false;
@@ -719,7 +719,7 @@ public class GraphicalEditorPart extends EditorPart
mPalette.reloadPalette(target);
}
- public Map<String, Map<String, ResourceValue>> getConfiguredFrameworkResources() {
+ public Map<ResourceType, Map<String, ResourceValue>> getConfiguredFrameworkResources() {
if (mConfiguredFrameworkRes == null && mConfigComposite != null) {
ProjectResources frameworkRes = getFrameworkResources();
@@ -735,7 +735,7 @@ public class GraphicalEditorPart extends EditorPart
return mConfiguredFrameworkRes;
}
- public Map<String, Map<String, ResourceValue>> getConfiguredProjectResources() {
+ public Map<ResourceType, Map<String, ResourceValue>> getConfiguredProjectResources() {
if (mConfiguredProjectRes == null && mConfigComposite != null) {
ProjectResources project = getProjectResources();
@@ -1567,11 +1567,11 @@ public class GraphicalEditorPart extends EditorPart
}
// Get the resources of the file's project.
- Map<String, Map<String, ResourceValue>> configuredProjectRes =
+ Map<ResourceType, Map<String, ResourceValue>> configuredProjectRes =
mConfigListener.getConfiguredProjectResources();
// Get the framework resources
- Map<String, Map<String, ResourceValue>> frameworkResources =
+ Map<ResourceType, Map<String, ResourceValue>> frameworkResources =
mConfigListener.getConfiguredFrameworkResources();
// Abort the rendering if the resources are not found.
@@ -1635,7 +1635,7 @@ public class GraphicalEditorPart extends EditorPart
// Find the layout file.
Map<String, ResourceValue> layouts = configuredProjectRes.get(
- ResourceType.LAYOUT.getName());
+ ResourceType.LAYOUT);
ResourceValue contextLayout = layouts.get(contextLayoutName);
if (contextLayout != null) {
File layoutFile = new File(contextLayout.getValue());
@@ -2024,14 +2024,14 @@ public class GraphicalEditorPart extends EditorPart
// There is code to handle this, but it's in layoutlib; we should
// expose that and use it here.
- Map<String, Map<String, ResourceValue>> map;
+ Map<ResourceType, Map<String, ResourceValue>> map;
map = isFrameworkResource ? mConfiguredFrameworkRes : mConfiguredProjectRes;
if (map == null) {
// Not yet configured
return null;
}
- Map<String, ResourceValue> layoutMap = map.get(type.getName());
+ Map<String, ResourceValue> layoutMap = map.get(type);
if (layoutMap != null) {
ResourceValue value = layoutMap.get(name);
if (value != null) {
@@ -2108,14 +2108,14 @@ public class GraphicalEditorPart extends EditorPart
}
private String findString(String name, boolean isFrameworkResource) {
- Map<String, Map<String, ResourceValue>> map;
+ Map<ResourceType, Map<String, ResourceValue>> map;
map = isFrameworkResource ? mConfiguredFrameworkRes : mConfiguredProjectRes;
if (map == null) {
// Not yet configured
return null;
}
- Map<String, ResourceValue> layoutMap = map.get(ResourceType.STRING.getName());
+ Map<String, ResourceValue> layoutMap = map.get(ResourceType.STRING);
if (layoutMap != null) {
ResourceValue value = layoutMap.get(name);
if (value != null) {
@@ -2399,9 +2399,9 @@ public class GraphicalEditorPart extends EditorPart
* @return a collection of resource names, never null but possibly empty
*/
public Collection<String> getResourceNames(boolean framework, ResourceType type) {
- Map<String, Map<String, ResourceValue>> map =
+ Map<ResourceType, Map<String, ResourceValue>> map =
framework ? mConfiguredFrameworkRes : mConfiguredProjectRes;
- Map<String, ResourceValue> animations = map.get(type.getName());
+ Map<String, ResourceValue> animations = map.get(type);
if (animations != null) {
return animations.keySet();
} else {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/IncludeFinder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/IncludeFinder.java
index e4778ec..e7a7fdf 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/IncludeFinder.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/IncludeFinder.java
@@ -28,7 +28,6 @@ import static org.eclipse.core.resources.IResourceDelta.REMOVED;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors;
import com.android.ide.eclipse.adt.internal.project.BaseProjectHelper;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResourceItem;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFile;
@@ -36,6 +35,7 @@ import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFolder;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager.IResourceListener;
import com.android.ide.eclipse.adt.io.IFileWrapper;
+import com.android.resources.ResourceType;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.annotations.VisibleForTesting;
import com.android.sdklib.io.IAbstractFile;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PlayAnimationMenu.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PlayAnimationMenu.java
index f0cb09b..79c68d9 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PlayAnimationMenu.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PlayAnimationMenu.java
@@ -25,8 +25,8 @@ import com.android.ide.common.rendering.api.RenderSession;
import com.android.ide.common.rendering.api.Result;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.wizards.newxmlfile.NewXmlFileWizard;
+import com.android.resources.ResourceType;
import com.android.sdklib.util.Pair;
import org.eclipse.core.resources.IProject;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/RulesEngine.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/RulesEngine.java
index afd7848..c5dbec5 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/RulesEngine.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/RulesEngine.java
@@ -36,13 +36,13 @@ import com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorP
import com.android.ide.eclipse.adt.internal.editors.layout.gle2.SimpleElement;
import com.android.ide.eclipse.adt.internal.editors.layout.uimodel.UiViewElementNode;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.adt.internal.sdk.ProjectState;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.ide.eclipse.adt.internal.ui.ReferenceChooserDialog;
import com.android.ide.eclipse.adt.internal.ui.ResourceChooser;
+import com.android.resources.ResourceType;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.internal.project.ProjectProperties;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/ThemeAttributeDescriptor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/ThemeAttributeDescriptor.java
index db48dae..c078562 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/ThemeAttributeDescriptor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/ThemeAttributeDescriptor.java
@@ -23,7 +23,7 @@ import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDes
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiResourceAttributeNode;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
/**
* Describes a Theme/Style XML attribute displayed by a {@link UiResourceAttributeNode}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/descriptors/ResourcesDescriptors.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/descriptors/ResourcesDescriptors.java
index 2bb7f0f..6e516e6 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/descriptors/ResourcesDescriptors.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/descriptors/ResourcesDescriptors.java
@@ -25,7 +25,7 @@ import com.android.ide.eclipse.adt.internal.editors.descriptors.IDescriptorProvi
import com.android.ide.eclipse.adt.internal.editors.descriptors.ListAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.TextValueDescriptor;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiResourceAttributeNode.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiResourceAttributeNode.java
index 87c55d0..32e6167 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiResourceAttributeNode.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiResourceAttributeNode.java
@@ -23,11 +23,11 @@ import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDes
import com.android.ide.eclipse.adt.internal.editors.ui.SectionHelper;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.adt.internal.ui.ReferenceChooserDialog;
import com.android.ide.eclipse.adt.internal.ui.ResourceChooser;
+import com.android.resources.ResourceType;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.window.Window;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/Hyperlinks.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/Hyperlinks.java
index 2fa42b1..5225911 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/Hyperlinks.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/Hyperlinks.java
@@ -38,7 +38,6 @@ import com.android.ide.eclipse.adt.AndroidConstants;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor;
import com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.manager.FolderTypeRelationship;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
@@ -49,6 +48,7 @@ import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.ide.eclipse.adt.io.IFileWrapper;
+import com.android.resources.ResourceType;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.annotations.VisibleForTesting;
@@ -511,7 +511,7 @@ public class Hyperlinks {
if (frameworkResources == null) {
return false;
}
- Map<String, Map<String, ResourceValue>> configuredResources =
+ Map<ResourceType, Map<String, ResourceValue>> configuredResources =
frameworkResources.getConfiguredResources(new FolderConfiguration());
Set<String> seen = new HashSet<String>();
@@ -522,7 +522,7 @@ public class Hyperlinks {
// @drawable/popup_full_dark, which when looked up will finally yield
// the XML path we are looking for
while (true) {
- Map<String, ResourceValue> typeMap = configuredResources.get(type.getName());
+ Map<String, ResourceValue> typeMap = configuredResources.get(type);
if (typeMap != null) {
ResourceValue value = typeMap.get(name);
if (value != null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java
index c3f319f..d51cd8f 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java
@@ -289,7 +289,6 @@ public class AndroidJUnitLaunchConfigurationTab extends AbstractLaunchConfigurat
loaderLabel.setLayoutData(gd);
mInstrumentationCombo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY);
- gd = new GridData(GridData.FILL_HORIZONTAL);
mInstrumentationCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
mInstrumentationCombo.clearSelection();
mInstrumentationCombo.addSelectionListener(new SelectionAdapter() {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java
index ddb4321..3b0622a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java
@@ -98,7 +98,7 @@ public final class ExportHelper {
// debuggable in the manifest will override this and generate a debug build
IResource manifestResource = project.findMember(SdkConstants.FN_ANDROID_MANIFEST_XML);
if (manifestResource.getType() != IResource.FILE) {
- new CoreException(new Status(IStatus.ERROR, AdtPlugin.PLUGIN_ID,
+ throw new CoreException(new Status(IStatus.ERROR, AdtPlugin.PLUGIN_ID,
String.format("%1$s missing.", SdkConstants.FN_ANDROID_MANIFEST_XML)));
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringRefactoring.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringRefactoring.java
index f1d6aa0..1a41caf 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringRefactoring.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringRefactoring.java
@@ -26,8 +26,8 @@ import com.android.ide.eclipse.adt.internal.editors.resources.descriptors.Resour
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFolderType;
+import com.android.resources.ResourceType;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.xml.ManifestData;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IIdResourceItem.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IIdResourceItem.java
index 7ed6836..acc4cf2 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IIdResourceItem.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IIdResourceItem.java
@@ -16,6 +16,8 @@
package com.android.ide.eclipse.adt.internal.resources;
+import com.android.resources.ResourceType;
+
/**
* Classes which implements this interface provides a method indicating the state of a resource of
* type {@link ResourceType#ID}.
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IResourceRepository.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IResourceRepository.java
index d125dc0..1abd9eb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IResourceRepository.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/IResourceRepository.java
@@ -16,6 +16,8 @@
package com.android.ide.eclipse.adt.internal.resources;
+import com.android.resources.ResourceType;
+
/**
* A repository of resources. This allows access to the resource by {@link ResourceType}.
*/
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceHelper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceHelper.java
new file mode 100644
index 0000000..327bd89
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceHelper.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.eclipse.adt.internal.resources;
+
+import com.android.resources.ResourceType;
+
+
+public class ResourceHelper {
+
+ /**
+ * Returns a formatted string usable in an XML to use the specified {@link ResourceItem}.
+ * @param resourceItem The resource item.
+ * @param system Whether this is a system resource or a project resource.
+ * @return a string in the format @[type]/[name]
+ */
+ public static String getXmlString(ResourceType type, ResourceItem resourceItem,
+ boolean system) {
+ if (type == ResourceType.ID && resourceItem instanceof IIdResourceItem) {
+ IIdResourceItem idResource = (IIdResourceItem)resourceItem;
+ if (idResource.isDeclaredInline()) {
+ return (system?"@android:":"@+") + type.getName() + "/" + resourceItem.getName(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ }
+
+ return (system?"@android:":"@") + type.getName() + "/" + resourceItem.getName(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
index 5d31195..2233cab 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
@@ -20,9 +20,9 @@ import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
import com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper;
import com.android.ide.eclipse.adt.internal.project.ProjectHelper;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonitor.IFileListener;
import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonitor.IProjectListener;
+import com.android.resources.ResourceType;
import com.android.sdklib.xml.ManifestData;
import org.eclipse.core.resources.IFile;
@@ -36,6 +36,7 @@ import org.eclipse.core.runtime.IStatus;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
+import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
@@ -147,8 +148,8 @@ public final class CompiledResourcesMonitor implements IFileListener, IProjectLi
if (clazz != null) {
// create the maps to store the result of the parsing
- Map<String, Map<String, Integer>> resourceValueMap =
- new HashMap<String, Map<String, Integer>>();
+ Map<ResourceType, Map<String, Integer>> resourceValueMap =
+ new EnumMap<ResourceType, Map<String, Integer>>(ResourceType.class);
Map<Integer, String[]> genericValueToNameMap =
new HashMap<Integer, String[]>();
Map<IntArrayWrapper, String> styleableValueToNameMap =
@@ -181,30 +182,35 @@ public final class CompiledResourcesMonitor implements IFileListener, IProjectLi
* @return True if we managed to parse the R class.
*/
private boolean parseClass(Class<?> rClass, Map<Integer, String[]> genericValueToNameMap,
- Map<IntArrayWrapper, String> styleableValueToNameMap, Map<String,
+ Map<IntArrayWrapper, String> styleableValueToNameMap, Map<ResourceType,
Map<String, Integer>> resourceValueMap) {
try {
for (Class<?> inner : rClass.getDeclaredClasses()) {
- String resType = inner.getSimpleName();
-
- Map<String, Integer> fullMap = new HashMap<String, Integer>();
- resourceValueMap.put(resType, fullMap);
-
- for (Field f : inner.getDeclaredFields()) {
- // only process static final fields.
- int modifiers = f.getModifiers();
- if (Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers)) {
- Class<?> type = f.getType();
- if (type.isArray() && type.getComponentType() == int.class) {
- // if the object is an int[] we put it in the styleable map
- styleableValueToNameMap.put(new IntArrayWrapper((int[]) f.get(null)),
- f.getName());
- } else if (type == int.class) {
- Integer value = (Integer) f.get(null);
- genericValueToNameMap.put(value, new String[] { f.getName(), resType });
- fullMap.put(f.getName(), value);
- } else {
- assert false;
+ String resTypeName = inner.getSimpleName();
+ ResourceType resType = ResourceType.getEnum(resTypeName);
+
+ if (resType != null) {
+ Map<String, Integer> fullMap = new HashMap<String, Integer>();
+ resourceValueMap.put(resType, fullMap);
+
+ for (Field f : inner.getDeclaredFields()) {
+ // only process static final fields.
+ int modifiers = f.getModifiers();
+ if (Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers)) {
+ Class<?> type = f.getType();
+ if (type.isArray() && type.getComponentType() == int.class) {
+ // if the object is an int[] we put it in the styleable map
+ styleableValueToNameMap.put(
+ new IntArrayWrapper((int[]) f.get(null)),
+ f.getName());
+ } else if (type == int.class) {
+ Integer value = (Integer) f.get(null);
+ genericValueToNameMap.put(value,
+ new String[] { f.getName(), resType.getName() });
+ fullMap.put(f.getName(), value);
+ } else {
+ assert false;
+ }
}
}
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationship.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationship.java
index 3a9c7a1..77a8649 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationship.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationship.java
@@ -16,7 +16,7 @@
package com.android.ide.eclipse.adt.internal.resources.manager;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IdResourceItem.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IdResourceItem.java
index a3e42c6..8b142fb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IdResourceItem.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IdResourceItem.java
@@ -17,7 +17,7 @@
package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.eclipse.adt.internal.resources.IIdResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
/**
* Represents a resource item of type {@link ResourceType#ID}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IntArrayWrapper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IntArrayWrapper.java
index f21b15e..3e614ed 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IntArrayWrapper.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/IntArrayWrapper.java
@@ -23,24 +23,27 @@ import java.util.Arrays;
* Wrapper around a int[] to provide hashCode/equals support.
*/
public final class IntArrayWrapper {
-
+
private int[] mData;
-
+
public IntArrayWrapper(int[] data) {
mData = data;
}
-
+
public void set(int[] data) {
mData = data;
}
-
+
@Override
public int hashCode() {
return Arrays.hashCode(mData);
}
-
+
@Override
public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
if (getClass().equals(obj.getClass())) {
return Arrays.equals(mData, ((IntArrayWrapper)obj).mData);
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/MultiResourceFile.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/MultiResourceFile.java
index fc5ec4f..a3223c0 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/MultiResourceFile.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/MultiResourceFile.java
@@ -19,7 +19,7 @@ package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.resources.ValueResourceParser;
import com.android.ide.common.resources.ValueResourceParser.IValueResourceRepository;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import com.android.sdklib.io.IAbstractFile;
import com.android.sdklib.io.StreamException;
@@ -28,7 +28,9 @@ import org.xml.sax.SAXException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.EnumMap;
import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
@@ -45,8 +47,8 @@ public final class MultiResourceFile extends ResourceFile implements IValueResou
private final static SAXParserFactory sParserFactory = SAXParserFactory.newInstance();
- private final HashMap<ResourceType, HashMap<String, ResourceValue>> mResourceItems =
- new HashMap<ResourceType, HashMap<String, ResourceValue>>();
+ private final Map<ResourceType, HashMap<String, ResourceValue>> mResourceItems =
+ new EnumMap<ResourceType, HashMap<String, ResourceValue>>(ResourceType.class);
public MultiResourceFile(IAbstractFile file, ResourceFolder folder) {
super(file, folder);
@@ -133,29 +135,25 @@ public final class MultiResourceFile extends ResourceFile implements IValueResou
* @param resType The type of the resource
* @param value The value of the resource.
*/
- public void addResourceValue(String resType, ResourceValue value) {
- ResourceType type = ResourceType.getEnum(resType);
- assert type != null;
- if (type != null) {
- HashMap<String, ResourceValue> list = mResourceItems.get(type);
-
- // if the list does not exist, create it.
- if (list == null) {
- list = new HashMap<String, ResourceValue>();
- mResourceItems.put(type, list);
- } else {
- // look for a possible value already existing.
- ResourceValue oldValue = list.get(value.getName());
-
- if (oldValue != null) {
- oldValue.replaceWith(value);
- return;
- }
+ public void addResourceValue(ResourceType resType, ResourceValue value) {
+ HashMap<String, ResourceValue> list = mResourceItems.get(resType);
+
+ // if the list does not exist, create it.
+ if (list == null) {
+ list = new HashMap<String, ResourceValue>();
+ mResourceItems.put(resType, list);
+ } else {
+ // look for a possible value already existing.
+ ResourceValue oldValue = list.get(value.getName());
+
+ if (oldValue != null) {
+ oldValue.replaceWith(value);
+ return;
}
-
- // empty list or no match found? add the given resource
- list.put(value.getName(), value);
}
+
+ // empty list or no match found? add the given resource
+ list.put(value.getName(), value);
}
@Override
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResourceItem.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResourceItem.java
index 7c382d5..845a974 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResourceItem.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResourceItem.java
@@ -1,8 +1,8 @@
package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
+import com.android.resources.ResourceType;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResources.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResources.java
index 1580906..f0939da 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResources.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResources.java
@@ -19,7 +19,6 @@ package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.LanguageQualifier;
import com.android.ide.eclipse.adt.internal.resources.configurations.RegionQualifier;
@@ -27,6 +26,7 @@ import com.android.ide.eclipse.adt.internal.resources.configurations.ResourceQua
import com.android.ide.eclipse.adt.internal.sdk.ProjectState;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.ide.eclipse.adt.io.IFolderWrapper;
+import com.android.resources.ResourceType;
import com.android.sdklib.io.IAbstractFolder;
import org.eclipse.core.resources.IFolder;
@@ -35,6 +35,7 @@ import org.eclipse.core.resources.IProject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.EnumMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -52,14 +53,14 @@ public class ProjectResources implements IResourceRepository {
// project IDs that start at a much higher
// value
- private final HashMap<ResourceFolderType, List<ResourceFolder>> mFolderMap =
- new HashMap<ResourceFolderType, List<ResourceFolder>>();
+ private final Map<ResourceFolderType, List<ResourceFolder>> mFolderMap =
+ new EnumMap<ResourceFolderType, List<ResourceFolder>>(ResourceFolderType.class);
- private final HashMap<ResourceType, List<ProjectResourceItem>> mResourceMap =
- new HashMap<ResourceType, List<ProjectResourceItem>>();
+ private final Map<ResourceType, List<ProjectResourceItem>> mResourceMap =
+ new EnumMap<ResourceType, List<ProjectResourceItem>>(ResourceType.class);
/** Map of (name, id) for resources of type {@link ResourceType#ID} coming from R.java */
- private Map<String, Map<String, Integer>> mResourceValueMap;
+ private Map<ResourceType, Map<String, Integer>> mResourceValueMap;
/** Map of (id, [name, resType]) for all resources coming from R.java */
private Map<Integer, String[]> mResIdValueToNameMap;
/** Map of (int[], name) for styleable resources coming from R.java */
@@ -71,7 +72,7 @@ public class ProjectResources implements IResourceRepository {
/** Cached list of {@link IdResourceItem}. This is mix of IdResourceItem created by
* {@link MultiResourceFile} for ids coming from XML files under res/values and
* {@link IdResourceItem} created manually, from the list coming from R.java */
- private final ArrayList<IdResourceItem> mIdResourceList = new ArrayList<IdResourceItem>();
+ private final List<IdResourceItem> mIdResourceList = new ArrayList<IdResourceItem>();
private final boolean mIsFrameworkRepository;
private final IProject mProject;
@@ -266,7 +267,7 @@ public class ProjectResources implements IResourceRepository {
// in case ResourceType.ID haven't been added yet because there's no id defined
// in XML, we check on the list of compiled id resources.
if (list.indexOf(ResourceType.ID) == -1 && mResourceValueMap != null) {
- Map<String, Integer> map = mResourceValueMap.get(ResourceType.ID.getName());
+ Map<String, Integer> map = mResourceValueMap.get(ResourceType.ID);
if (map != null && map.size() > 0) {
list.add(ResourceType.ID);
}
@@ -407,11 +408,11 @@ public class ProjectResources implements IResourceRepository {
* Returns the resources values matching a given {@link FolderConfiguration}.
* @param referenceConfig the configuration that each value must match.
*/
- public Map<String, Map<String, ResourceValue>> getConfiguredResources(
+ public Map<ResourceType, Map<String, ResourceValue>> getConfiguredResources(
FolderConfiguration referenceConfig) {
- Map<String, Map<String, ResourceValue>> map =
- new HashMap<String, Map<String, ResourceValue>>();
+ Map<ResourceType, Map<String, ResourceValue>> map =
+ new EnumMap<ResourceType, Map<String, ResourceValue>>(ResourceType.class);
// if the project contains libraries, we need to add the libraries resources here
// so that they are accessible to the layout rendering.
@@ -436,10 +437,10 @@ public class ProjectResources implements IResourceRepository {
// we don't want to simply replace the whole map, but instead merge the
// content of any sub-map
- Map<String, Map<String, ResourceValue>> libMap =
+ Map<ResourceType, Map<String, ResourceValue>> libMap =
libRes.getConfiguredResources(referenceConfig);
- for (Entry<String, Map<String, ResourceValue>> entry : libMap.entrySet()) {
+ for (Entry<ResourceType, Map<String, ResourceValue>> entry : libMap.entrySet()) {
// get the map currently in the result map for this resource type
Map<String, ResourceValue> tempMap = map.get(entry.getKey());
if (tempMap == null) {
@@ -464,16 +465,15 @@ public class ProjectResources implements IResourceRepository {
// special case for Id since there's a mix of compiled id (declared inline) and id declared
// in the XML files.
if (mIdResourceList.size() > 0) {
- String idType = ResourceType.ID.getName();
- Map<String, ResourceValue> idMap = map.get(idType);
+ Map<String, ResourceValue> idMap = map.get(ResourceType.ID);
if (idMap == null) {
idMap = new HashMap<String, ResourceValue>();
- map.put(idType, idMap);
+ map.put(ResourceType.ID, idMap);
}
for (IdResourceItem id : mIdResourceList) {
// FIXME: cache the ResourceValue!
- idMap.put(id.getName(), new ResourceValue(idType, id.getName(),
+ idMap.put(id.getName(), new ResourceValue(ResourceType.ID, id.getName(),
mIsFrameworkRepository));
}
@@ -488,11 +488,10 @@ public class ProjectResources implements IResourceRepository {
referenceConfig);
// check if a map for this type already exists
- String resName = key.getName();
- Map<String, ResourceValue> resMap = map.get(resName);
+ Map<String, ResourceValue> resMap = map.get(key);
if (resMap == null) {
// just use the local results.
- map.put(resName, localResMap);
+ map.put(key, localResMap);
} else {
// add to the library results.
resMap.putAll(localResMap);
@@ -549,19 +548,19 @@ public class ProjectResources implements IResourceRepository {
* internal map, then new id values are dynamically generated (and stored so that queries
* with the same names will return the same value).
*/
- public Integer getResourceValue(String type, String name) {
+ public Integer getResourceValue(ResourceType type, String name) {
if (mResourceValueMap != null) {
Map<String, Integer> map = mResourceValueMap.get(type);
if (map != null) {
Integer value = map.get(name);
// if no value
- if (value == null && ResourceType.ID.getName().equals(type)) {
+ if (value == null && ResourceType.ID == type) {
return getDynamicId(name);
}
return value;
- } else if (ResourceType.ID.getName().equals(type)) {
+ } else if (ResourceType.ID == type) {
return getDynamicId(name);
}
}
@@ -925,7 +924,7 @@ public class ProjectResources implements IResourceRepository {
*/
void setCompiledResources(Map<Integer, String[]> resIdValueToNameMap,
Map<IntArrayWrapper, String> styleableValueMap,
- Map<String, Map<String, Integer>> resourceValueMap) {
+ Map<ResourceType, Map<String, Integer>> resourceValueMap) {
mResourceValueMap = resourceValueMap;
mResIdValueToNameMap = resIdValueToNameMap;
mStyleableValueToNameMap = styleableValueMap;
@@ -953,7 +952,7 @@ public class ProjectResources implements IResourceRepository {
// get the list of compile id resources.
Map<String, Integer> idMap = null;
if (mResourceValueMap != null) {
- idMap = mResourceValueMap.get(ResourceType.ID.getName());
+ idMap = mResourceValueMap.get(ResourceType.ID);
}
if (idMap == null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFile.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFile.java
index b5538ac..b754201 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFile.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFile.java
@@ -17,8 +17,8 @@
package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.common.rendering.api.ResourceValue;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
+import com.android.resources.ResourceType;
import com.android.sdklib.io.IAbstractFile;
import java.util.Collection;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFolder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFolder.java
index f9cc256..b75f226 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFolder.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFolder.java
@@ -17,9 +17,9 @@
package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.io.IFileWrapper;
+import com.android.resources.ResourceType;
import com.android.sdklib.io.IAbstractFile;
import com.android.sdklib.io.IAbstractFolder;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java
index d2e988b..684620b 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java
@@ -18,7 +18,6 @@ package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.ResourceQualifier;
import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonitor.IFileListener;
@@ -26,6 +25,7 @@ import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonit
import com.android.ide.eclipse.adt.internal.resources.manager.GlobalProjectMonitor.IProjectListener;
import com.android.ide.eclipse.adt.io.IFileWrapper;
import com.android.ide.eclipse.adt.io.IFolderWrapper;
+import com.android.resources.ResourceType;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.io.FolderWrapper;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/SingleResourceFile.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/SingleResourceFile.java
index 403b266..953e57a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/SingleResourceFile.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/SingleResourceFile.java
@@ -18,8 +18,8 @@ package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.common.rendering.api.DensityBasedResourceValue;
import com.android.ide.common.rendering.api.ResourceValue;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier;
+import com.android.resources.ResourceType;
import com.android.sdklib.io.IAbstractFile;
import java.util.ArrayList;
@@ -71,11 +71,11 @@ public class SingleResourceFile extends ResourceFile {
PixelDensityQualifier qualifier = folder.getConfiguration().getPixelDensityQualifier();
if (qualifier == null) {
- mValue = new ResourceValue(mType.getName(), getResourceName(mType),
+ mValue = new ResourceValue(mType, getResourceName(mType),
file.getOsLocation(), isFramework());
} else {
mValue = new DensityBasedResourceValue(
- mType.getName(),
+ mType,
getResourceName(mType),
file.getOsLocation(),
qualifier.getValue(),
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetParser.java
index f1f1aa7..6426fdb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetParser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetParser.java
@@ -27,9 +27,9 @@ import com.android.ide.eclipse.adt.internal.editors.menu.descriptors.MenuDescrip
import com.android.ide.eclipse.adt.internal.editors.xml.descriptors.XmlDescriptors;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
+import com.android.resources.ResourceType;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/FrameworkResourceRepository.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/FrameworkResourceRepository.java
index 91b0082..247a888 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/FrameworkResourceRepository.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/FrameworkResourceRepository.java
@@ -18,7 +18,7 @@ package com.android.ide.eclipse.adt.internal.sdk;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import java.util.List;
import java.util.Map;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ReferenceChooserDialog.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ReferenceChooserDialog.java
index ba4be6a..2a170a4 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ReferenceChooserDialog.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ReferenceChooserDialog.java
@@ -20,8 +20,9 @@ import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringRefactoring;
import com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringWizard;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
+import com.android.ide.eclipse.adt.internal.resources.ResourceHelper;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IStatus;
@@ -64,7 +65,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
private static Pattern sInlineIdResourcePattern = Pattern.compile("@\\+id/(.+)"); //$NON-NLS-1$
private static IDialogSettings sDialogSettings = new DialogSettings("");
-
+
private IResourceRepository mResources;
private String mCurrentResource;
private FilteredTree mFilteredTree;
@@ -73,7 +74,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
private TreeViewer mTreeViewer;
/**
- * @param project
+ * @param project
* @param parent
*/
public ReferenceChooserDialog(IProject project, IResourceRepository resources, Shell parent) {
@@ -86,14 +87,14 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
setTitle("Reference Chooser");
setMessage(String.format("Choose a resource"));
-
+
setDialogBoundsSettings(sDialogSettings, getDialogBoundsStrategy());
}
public void setCurrentResource(String resource) {
mCurrentResource = resource;
}
-
+
public String getCurrentResource() {
return mCurrentResource;
}
@@ -111,12 +112,13 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
// get the resource type and the resource item
ResourceType resourceType = (ResourceType)treeSelection.getFirstSegment();
ResourceItem resourceItem = (ResourceItem)treeSelection.getLastSegment();
-
- mCurrentResource = resourceType.getXmlString(resourceItem, false /* system */);
+
+ mCurrentResource = ResourceHelper.getXmlString(resourceType,
+ resourceItem, false /* system */);
}
}
}
-
+
@Override
protected Control createDialogArea(Composite parent) {
Composite top = (Composite)super.createDialogArea(parent);
@@ -129,10 +131,10 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
// setup the initial selection
setupInitialSelection();
-
+
// create the "New Resource" button
createNewResButtons(top);
-
+
return top;
}
@@ -149,7 +151,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
private void createFilteredTree(Composite parent) {
mFilteredTree = new FilteredTree(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION,
new PatternFilter());
-
+
GridData data = new GridData();
data.widthHint = convertWidthInCharsToPixels(60);
data.heightHint = convertHeightInCharsToPixels(18);
@@ -159,10 +161,10 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
data.verticalAlignment = GridData.FILL;
mFilteredTree.setLayoutData(data);
mFilteredTree.setFont(parent.getFont());
-
+
mTreeViewer = mFilteredTree.getViewer();
Tree tree = mTreeViewer.getTree();
-
+
tree.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
handleDoubleClick();
@@ -172,7 +174,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
handleSelection();
}
});
-
+
mTreeViewer.setLabelProvider(new ResourceLabelProvider());
mTreeViewer.setContentProvider(new ResourceContentProvider(false /* fullLevels */));
mTreeViewer.setInput(mResources);
@@ -188,7 +190,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
buttonPressed(IDialogConstants.OK_ID);
}
}
-
+
/**
* Returns the selected item in the tree as a {@link TreePath} object.
* @return the <code>TreePath</code> object or <code>null</code> if there was no selection.
@@ -198,19 +200,19 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
if (selection instanceof TreeSelection) {
TreeSelection treeSelection = (TreeSelection)selection;
TreePath[] treePaths = treeSelection.getPaths();
-
+
// the selection mode is SWT.SINGLE, so we just get the first one.
if (treePaths.length > 0) {
return treePaths[0];
}
}
-
+
return null;
}
-
+
private boolean validateCurrentSelection() {
TreePath treeSelection = getSelection();
-
+
IStatus status;
if (treeSelection != null) {
if (treeSelection.getSegmentCount() == 2) {
@@ -227,7 +229,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
IStatus.ERROR, "", //$NON-NLS-1$
null);
}
-
+
updateStatus(status);
return status.isOK();
@@ -239,10 +241,10 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
*/
private void updateNewResButton() {
ResourceType type = getSelectedResourceType();
-
+
// We only support adding new strings right now
mNewResButton.setEnabled(type == ResourceType.STRING);
-
+
String title = String.format("New %1$s...",
type == null ? "Resource" : type.getDisplayName());
mNewResButton.setText(title);
@@ -256,7 +258,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
-
+
ResourceType type = getSelectedResourceType();
// We currently only support strings
@@ -271,7 +273,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
if (op.run(w.getDisplay().getActiveShell(), wizard.getDefaultPageTitle()) ==
IDialogConstants.OK_ID) {
mTreeViewer.refresh();
-
+
// select it if possible
setupInitialSelection(type, ref.getXmlStringId());
}
@@ -279,7 +281,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
// Interrupted. Pass.
}
}
- }
+ }
}
/**
@@ -298,7 +300,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
}
return type;
}
-
+
/**
* Sets up the initial selection.
* <p/>
@@ -322,14 +324,14 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
if (resourceType != null) {
// get the matching name
String resourceName = m.group(2);
-
+
// setup initial selection
setupInitialSelection(resourceType, resourceName);
}
}
}
}
-
+
/**
* Sets up the initial selection based on a {@link ResourceType} and a resource name.
* @param resourceType the resource type.
@@ -338,7 +340,7 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
private void setupInitialSelection(ResourceType resourceType, String resourceName) {
// get all the resources of this type
ResourceItem[] resourceItems = mResources.getResources(resourceType);
-
+
for (ResourceItem resourceItem : resourceItems) {
if (resourceName.equals(resourceItem.getName())) {
// name of the resource match, we select it,
@@ -346,12 +348,12 @@ public class ReferenceChooserDialog extends SelectionStatusDialog {
mFilteredTree.getViewer().setSelection(
new TreeSelection(treePath),
true /*reveal*/);
-
+
// and we're done.
return;
}
}
-
+
// if we get here, the resource type is valid, but the resource is missing.
// we select and expand the resource type element.
TreePath treePath = new TreePath(new Object[] { resourceType });
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java
index e2b910c..92647c8 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java
@@ -19,8 +19,9 @@ package com.android.ide.eclipse.adt.internal.ui;
import com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringRefactoring;
import com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringWizard;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
+import com.android.ide.eclipse.adt.internal.resources.ResourceHelper;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.dialogs.IDialogConstants;
@@ -41,7 +42,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * A dialog to let the user select a resource based on a resource type.
+ * A dialog to let the user select a resource based on a resource type.
*/
public class ResourceChooser extends AbstractElementListSelectionDialog {
@@ -51,16 +52,16 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
private IResourceRepository mProjectResources;
- private final static boolean SHOW_SYSTEM_RESOURCE = false; // TODO re-enable at some point
+ private final static boolean SHOW_SYSTEM_RESOURCE = false; // TODO re-enable at some point
private Pattern mSystemResourcePattern;
private IResourceRepository mSystemResources;
private Button mProjectButton;
private Button mSystemButton;
-
+
private String mCurrentResource;
private final IProject mProject;
-
+
/**
* Creates a Resource Chooser dialog.
* @param project Project being worked on
@@ -78,7 +79,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
mResourceType = type;
mProjectResources = projectResources;
-
+
mProjectResourcePattern = Pattern.compile(
"@" + mResourceType.getName() + "/(.+)"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -92,11 +93,11 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
setMessage(String.format("Choose a %1$s resource",
mResourceType.getDisplayName().toLowerCase()));
}
-
+
public void setCurrentResource(String resource) {
mCurrentResource = resource;
}
-
+
public String getCurrentResource() {
return mCurrentResource;
}
@@ -106,9 +107,9 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
Object[] elements = getSelectedElements();
if (elements.length == 1 && elements[0] instanceof ResourceItem) {
ResourceItem item = (ResourceItem)elements[0];
-
- mCurrentResource = mResourceType.getXmlString(item,
- SHOW_SYSTEM_RESOURCE && mSystemButton.getSelection());
+
+ mCurrentResource = ResourceHelper.getXmlString(mResourceType, item,
+ SHOW_SYSTEM_RESOURCE && mSystemButton.getSelection());
}
}
@@ -121,13 +122,13 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
createButtons(top);
createFilterText(top);
createFilteredList(top);
-
+
// create the "New Resource" button
createNewResButtons(top);
setupResourceList();
selectResourceString(mCurrentResource);
-
+
return top;
}
@@ -168,7 +169,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
* @param top the parent composite
*/
private void createNewResButtons(Composite top) {
-
+
Button newResButton = new Button(top, SWT.NONE);
String title = String.format("New %1$s...", mResourceType.getDisplayName());
@@ -181,14 +182,14 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
-
+
if (mResourceType == ResourceType.STRING) {
createNewString();
}
}
});
}
-
+
private void createNewString() {
ExtractStringRefactoring ref = new ExtractStringRefactoring(
mProject, true /*enforceNew*/);
@@ -201,7 +202,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
// Recompute the "current resource" to select the new id
setupResourceList();
-
+
// select it if possible
selectItemName(ref.getXmlStringId());
}
@@ -215,7 +216,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
*/
private IResourceRepository getCurrentRepository() {
IResourceRepository repo = mProjectResources;
-
+
if (SHOW_SYSTEM_RESOURCE && mSystemButton.getSelection()) {
repo = mSystemResources;
}
@@ -229,7 +230,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
IResourceRepository repo = getCurrentRepository();
setListElements(repo.getResources(mResourceType));
}
-
+
/**
* Select an item by its name, if possible.
*/
@@ -240,8 +241,8 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
IResourceRepository repo = getCurrentRepository();
- ResourceItem[] items = repo.getResources(mResourceType);
-
+ ResourceItem[] items = repo.getResources(mResourceType);
+
for (ResourceItem item : items) {
if (itemName.equals(item.getName())) {
setSelection(new Object[] { item });
@@ -257,7 +258,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
private void selectResourceString(String resourceString) {
boolean isSystem = false;
String itemName = null;
-
+
// Is this a system resource?
// If not a system resource or if they are not available, this will be a project res.
if (SHOW_SYSTEM_RESOURCE) {
@@ -275,7 +276,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
itemName = m.group(1);
}
}
-
+
// Update the repository selection
if (SHOW_SYSTEM_RESOURCE) {
mProjectButton.setSelection(!isSystem);
@@ -284,7 +285,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog {
// Update the list
setupResourceList();
-
+
// If we have a selection name, select it
if (itemName != null) {
selectItemName(itemName);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceContentProvider.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceContentProvider.java
index 4442b71..f57b74e 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceContentProvider.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceContentProvider.java
@@ -18,9 +18,9 @@ package com.android.ide.eclipse.adt.internal.ui;
import com.android.ide.eclipse.adt.internal.resources.IResourceRepository;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ConfigurableResourceItem;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFile;
+import com.android.resources.ResourceType;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceLabelProvider.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceLabelProvider.java
index a67fda4..50e1d07 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceLabelProvider.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceLabelProvider.java
@@ -18,10 +18,10 @@ package com.android.ide.eclipse.adt.internal.ui;
import com.android.ide.eclipse.adt.internal.resources.IIdResourceItem;
import com.android.ide.eclipse.adt.internal.resources.ResourceItem;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ConfigurableResourceItem;
import com.android.ide.eclipse.adt.internal.resources.manager.IdResourceItem;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFile;
+import com.android.resources.ResourceType;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/NewXmlFileCreationPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/NewXmlFileCreationPage.java
index b8162b6..b20da44 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/NewXmlFileCreationPage.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/NewXmlFileCreationPage.java
@@ -1120,7 +1120,7 @@ class NewXmlFileCreationPage extends WizardPage {
// The configuration is invalid. We still update the path but this time
// do it manually on the string.
if (wsFolderPath.startsWith(RES_FOLDER_ABS)) {
- wsFolderPath.replaceFirst(
+ wsFolderPath = wsFolderPath.replaceFirst(
"^(" + RES_FOLDER_ABS +")[^-]*(.*)", //$NON-NLS-1$ //$NON-NLS-2$
"\\1" + type.getResFolderName() + "\\2"); //$NON-NLS-1$ //$NON-NLS-2$
} else {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidator.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidator.java
index 013e5e2..cc1aa25 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidator.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidator.java
@@ -20,10 +20,10 @@ import static com.android.ide.eclipse.adt.AndroidConstants.DOT_XML;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResourceItem;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
+import com.android.resources.ResourceType;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IStatus;
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java
index c11c189..3e66649 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java
@@ -40,6 +40,7 @@ import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.tests.SdkTestCase;
import com.android.layoutlib.api.IXmlPullParser;
+import com.android.resources.ResourceType;
import com.android.resources.Density;
import com.android.resources.Keyboard;
import com.android.resources.KeyboardState;
@@ -108,6 +109,12 @@ public class ApiDemosRenderingTest extends SdkTestCase {
return result;
}
+ public Integer getResourceValue(ResourceType type, String name) {
+ Integer result = ++mIdCounter;
+ mResourceMap.put(result, new String[] { name, type.getName() });
+ return result;
+ }
+
@SuppressWarnings("unchecked")
public Object loadView(String name, Class[] constructorSignature, Object[] constructorArgs)
throws ClassNotFoundException, Exception {
@@ -182,9 +189,9 @@ public class ApiDemosRenderingTest extends SdkTestCase {
FolderConfiguration config = getConfiguration();
// get the configured resources
- Map<String, Map<String, ResourceValue>> configuredFramework =
+ Map<ResourceType, Map<String, ResourceValue>> configuredFramework =
framework.getConfiguredResources(config);
- Map<String, Map<String, ResourceValue>> configuredProject =
+ Map<ResourceType, Map<String, ResourceValue>> configuredProject =
project.getConfiguredResources(config);
boolean saveFiles = System.getenv("save_file") != null;
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java
index a865ded..f1ce9d9 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java
@@ -16,7 +16,7 @@
package com.android.ide.eclipse.adt.internal.resources.manager;
-import com.android.ide.eclipse.adt.internal.resources.ResourceType;
+import com.android.resources.ResourceType;
import junit.framework.TestCase;
diff --git a/ide_common/.classpath b/ide_common/.classpath
index 8760b35..9d91c20 100644
--- a/ide_common/.classpath
+++ b/ide_common/.classpath
@@ -4,5 +4,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/layoutlib_api"/>
<classpathentry kind="var" path="ANDROID_SRC/prebuilt/common/kxml2/kxml2-2.3.0.jar" sourcepath="/ANDROID_SRC/dalvik/libcore/xml/src/main/java"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/resources"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/ide_common/Android.mk b/ide_common/Android.mk
index d3b388c..2cb3f84 100644
--- a/ide_common/Android.mk
+++ b/ide_common/Android.mk
@@ -20,6 +20,7 @@ LOCAL_SRC_FILES := $(call all-java-files-under,src)
LOCAL_JAVA_LIBRARIES := \
layoutlib_api \
+ resources \
kxml2-2.3.0
LOCAL_MODULE := ide_common
diff --git a/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java b/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java
index bd72632..6fe7f10 100644
--- a/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java
+++ b/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java
@@ -23,6 +23,7 @@ import com.android.ide.common.rendering.api.ILayoutPullParser;
import com.android.ide.common.rendering.api.LayoutLog;
import com.android.ide.common.rendering.api.Params;
import com.android.ide.common.rendering.api.RenderSession;
+import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.rendering.api.Result;
import com.android.ide.common.rendering.api.ViewInfo;
import com.android.ide.common.rendering.api.Params.RenderingMode;
@@ -38,6 +39,7 @@ import com.android.layoutlib.api.IProjectCallback;
import com.android.layoutlib.api.IResourceValue;
import com.android.layoutlib.api.IXmlPullParser;
import com.android.layoutlib.api.ILayoutResult.ILayoutViewInfo;
+import com.android.resources.ResourceType;
import java.io.File;
import java.lang.reflect.Constructor;
@@ -46,7 +48,9 @@ import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Map;
+import java.util.Map.Entry;
/**
* Class to use the Layout library.
@@ -371,12 +375,11 @@ public class LayoutLibrary {
// convert the map of ResourceValue into IResourceValue. Super ugly but works.
- @SuppressWarnings("unchecked")
- Map<String, Map<String, IResourceValue>> projectMap =
- (Map<String, Map<String, IResourceValue>>)(Map) resources.getProjectResources();
- @SuppressWarnings("unchecked")
- Map<String, Map<String, IResourceValue>> frameworkMap =
- (Map<String, Map<String, IResourceValue>>)(Map) resources.getFrameworkResources();
+
+ Map<String, Map<String, IResourceValue>> projectMap = convertMap(
+ resources.getProjectResources());
+ Map<String, Map<String, IResourceValue>> frameworkMap = convertMap(
+ resources.getFrameworkResources());
ILayoutResult result = null;
@@ -434,6 +437,21 @@ public class LayoutLibrary {
return convertToScene(result);
}
+ @SuppressWarnings("unchecked")
+ private Map<String, Map<String, IResourceValue>> convertMap(
+ Map<ResourceType, Map<String, ResourceValue>> map) {
+ Map<String, Map<String, IResourceValue>> result =
+ new HashMap<String, Map<String, IResourceValue>>();
+
+ for (Entry<ResourceType, Map<String, ResourceValue>> entry : map.entrySet()) {
+ // ugly case but works.
+ result.put(entry.getKey().getName(),
+ (Map<String, IResourceValue>)(Map) entry.getValue());
+ }
+
+ return result;
+ }
+
/**
* Converts a {@link ILayoutResult} to a {@link RenderSession}.
*/
diff --git a/ide_common/src/com/android/ide/common/resources/ResourceResolver.java b/ide_common/src/com/android/ide/common/resources/ResourceResolver.java
index ddfe2bc..3948ac5 100644
--- a/ide_common/src/com/android/ide/common/resources/ResourceResolver.java
+++ b/ide_common/src/com/android/ide/common/resources/ResourceResolver.java
@@ -20,6 +20,7 @@ import com.android.ide.common.rendering.api.LayoutLog;
import com.android.ide.common.rendering.api.RenderResources;
import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.rendering.api.StyleResourceValue;
+import com.android.resources.ResourceType;
import java.util.Collection;
import java.util.HashMap;
@@ -27,7 +28,7 @@ import java.util.Map;
public class ResourceResolver extends RenderResources {
- private final static String REFERENCE_STYLE = RES_STYLE + "/";
+ private final static String REFERENCE_STYLE = ResourceType.STYLE.getName() + "/";
private final static String PREFIX_ANDROID_RESOURCE_REF = "@android:";
private final static String PREFIX_RESOURCE_REF = "@";
private final static String PREFIX_ANDROID_THEME_REF = "?android:";
@@ -35,8 +36,8 @@ public class ResourceResolver extends RenderResources {
private final static String PREFIX_ANDROID = "android:";
- private final Map<String, Map<String, ResourceValue>> mProjectResources;
- private final Map<String, Map<String, ResourceValue>> mFrameworkResources;
+ private final Map<ResourceType, Map<String, ResourceValue>> mProjectResources;
+ private final Map<ResourceType, Map<String, ResourceValue>> mFrameworkResources;
private final Map<StyleResourceValue, StyleResourceValue> mStyleInheritanceMap =
new HashMap<StyleResourceValue, StyleResourceValue>();
@@ -49,8 +50,8 @@ public class ResourceResolver extends RenderResources {
private boolean mIsProjectTheme;
private ResourceResolver(
- Map<String, Map<String, ResourceValue>> projectResources,
- Map<String, Map<String, ResourceValue>> frameworkResources) {
+ Map<ResourceType, Map<String, ResourceValue>> projectResources,
+ Map<ResourceType, Map<String, ResourceValue>> frameworkResources) {
mProjectResources = projectResources;
mFrameworkResources = frameworkResources;
}
@@ -66,8 +67,8 @@ public class ResourceResolver extends RenderResources {
* @return
*/
public static ResourceResolver create(
- Map<String, Map<String, ResourceValue>> projectResources,
- Map<String, Map<String, ResourceValue>> frameworkResources,
+ Map<ResourceType, Map<String, ResourceValue>> projectResources,
+ Map<ResourceType, Map<String, ResourceValue>> frameworkResources,
String themeName, boolean isProjectTheme) {
ResourceResolver resolver = new ResourceResolver(
@@ -88,11 +89,11 @@ public class ResourceResolver extends RenderResources {
return mIsProjectTheme;
}
- public Map<String, Map<String, ResourceValue>> getProjectResources() {
+ public Map<ResourceType, Map<String, ResourceValue>> getProjectResources() {
return mProjectResources;
}
- public Map<String, Map<String, ResourceValue>> getFrameworkResources() {
+ public Map<ResourceType, Map<String, ResourceValue>> getFrameworkResources() {
return mFrameworkResources;
}
@@ -118,12 +119,13 @@ public class ResourceResolver extends RenderResources {
ResourceValue theme = null;
if (frameworkTheme) {
- Map<String, ResourceValue> frameworkStyleMap = mFrameworkResources.get(RES_STYLE);
+ Map<String, ResourceValue> frameworkStyleMap = mFrameworkResources.get(
+ ResourceType.STYLE);
if (frameworkStyleMap != null) {
theme = frameworkStyleMap.get(name);
}
} else {
- Map<String, ResourceValue> projectStyleMap = mProjectResources.get(RES_STYLE);
+ Map<String, ResourceValue> projectStyleMap = mProjectResources.get(ResourceType.STYLE);
if (projectStyleMap != null) {
theme = projectStyleMap.get(name);
}
@@ -149,12 +151,12 @@ public class ResourceResolver extends RenderResources {
}
@Override
- public ResourceValue getFrameworkResource(String resourceType, String resourceName) {
+ public ResourceValue getFrameworkResource(ResourceType resourceType, String resourceName) {
return getResource(resourceType, resourceName, mFrameworkResources);
}
@Override
- public ResourceValue getProjectResource(String resourceType, String resourceName) {
+ public ResourceValue getProjectResource(ResourceType resourceType, String resourceName) {
return getResource(resourceType, resourceName, mProjectResources);
}
@@ -204,7 +206,7 @@ public class ResourceResolver extends RenderResources {
if (segments.length == 2) {
// there was a resType in the reference. If it's attr, we ignore it
// else, we assert for now.
- if (RES_ATTR.equals(segments[0])) {
+ if (ResourceType.ATTR.getName().equals(segments[0])) {
referenceName = segments[1];
} else {
// At this time, no support for ?type/name where type is not "attr"
@@ -256,7 +258,14 @@ public class ResourceResolver extends RenderResources {
segments[1] = segments[1].substring(PREFIX_ANDROID.length());
}
- return findResValue(segments[0], segments[1],
+ ResourceType type = ResourceType.getEnum(segments[0]);
+
+ // unknown type?
+ if (type == null) {
+ return null;
+ }
+
+ return findResValue(type, segments[1],
forceFrameworkOnly ? true :frameworkOnly);
}
@@ -265,7 +274,7 @@ public class ResourceResolver extends RenderResources {
}
@Override
- public ResourceValue resolveValue(String type, String name, String value,
+ public ResourceValue resolveValue(ResourceType type, String name, String value,
boolean isFrameworkValue) {
if (value == null) {
return null;
@@ -317,7 +326,8 @@ public class ResourceResolver extends RenderResources {
* @param frameworkOnly if <code>true</code>, the method does not search in the
* project resources
*/
- private ResourceValue findResValue(String resType, String resName, boolean frameworkOnly) {
+ private ResourceValue findResValue(ResourceType resType, String resName,
+ boolean frameworkOnly) {
// map of ResouceValue for the given type
Map<String, ResourceValue> typeMap;
@@ -343,7 +353,7 @@ public class ResourceResolver extends RenderResources {
// if it was not found and the type is an id, it is possible that the ID was
// generated dynamically when compiling the framework resources.
// Look for it in the R map.
- if (mFrameworkProvider != null && RES_ID.equals(resType)) {
+ if (mFrameworkProvider != null && resType == ResourceType.ID) {
if (mFrameworkProvider.getId(resType, resName) != null) {
return new ResourceValue(resType, resName, true);
}
@@ -351,11 +361,7 @@ public class ResourceResolver extends RenderResources {
}
// didn't find the resource anywhere.
- // This is normal if the resource is an ID that is generated automatically.
- // For other resources, we output a warning
- if (mLogger != null &&
- "+id".equals(resType) == false && //$NON-NLS-1$
- "+android:id".equals(resType) == false) { //$NON-NLS-1$
+ if (mLogger != null) {
mLogger.warning(LayoutLog.TAG_RESOURCES_RESOLVE,
"Couldn't resolve resource @" +
(frameworkOnly ? "android:" : "") + resType + "/" + resName,
@@ -364,8 +370,8 @@ public class ResourceResolver extends RenderResources {
return null;
}
- private ResourceValue getResource(String resourceType, String resourceName,
- Map<String, Map<String, ResourceValue>> resourceRepository) {
+ private ResourceValue getResource(ResourceType resourceType, String resourceName,
+ Map<ResourceType, Map<String, ResourceValue>> resourceRepository) {
Map<String, ResourceValue> typeMap = resourceRepository.get(resourceType);
if (typeMap != null) {
ResourceValue item = typeMap.get(resourceName);
@@ -388,8 +394,8 @@ public class ResourceResolver extends RenderResources {
private void computeStyleMaps(String themeName, boolean isProjectTheme) {
mThemeName = themeName;
mIsProjectTheme = isProjectTheme;
- Map<String, ResourceValue> projectStyleMap = mProjectResources.get(RES_STYLE);
- Map<String, ResourceValue> frameworkStyleMap = mFrameworkResources.get(RES_STYLE);
+ Map<String, ResourceValue> projectStyleMap = mProjectResources.get(ResourceType.STYLE);
+ Map<String, ResourceValue> frameworkStyleMap = mFrameworkResources.get(ResourceType.STYLE);
if (projectStyleMap != null && frameworkStyleMap != null) {
// first, get the theme
diff --git a/ide_common/src/com/android/ide/common/resources/ValueResourceParser.java b/ide_common/src/com/android/ide/common/resources/ValueResourceParser.java
index 2e4cf8e..cda6587 100644
--- a/ide_common/src/com/android/ide/common/resources/ValueResourceParser.java
+++ b/ide_common/src/com/android/ide/common/resources/ValueResourceParser.java
@@ -18,6 +18,7 @@ package com.android.ide.common.resources;
import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.rendering.api.StyleResourceValue;
+import com.android.resources.ResourceType;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -35,15 +36,11 @@ public final class ValueResourceParser extends DefaultHandler {
private final static String ATTR_TYPE = "type";
private final static String ATTR_PARENT = "parent";
- // Resource type definition
- private final static String RES_STYLE = "style";
- private final static String RES_ATTR = "attr";
-
private final static String DEFAULT_NS_PREFIX = "android:";
private final static int DEFAULT_NS_PREFIX_LEN = DEFAULT_NS_PREFIX.length();
public interface IValueResourceRepository {
- void addResourceValue(String resType, ResourceValue value);
+ void addResourceValue(ResourceType type, ResourceValue value);
}
private boolean inResources = false;
@@ -87,24 +84,27 @@ public final class ValueResourceParser extends DefaultHandler {
inResources = true;
}
} else if (mDepth == 2 && inResources == true) {
- String type;
+ String typeValue;
// if the node is <item>, we get the type from the attribute "type"
if (NODE_ITEM.equals(qName)) {
- type = attributes.getValue(ATTR_TYPE);
+ typeValue = attributes.getValue(ATTR_TYPE);
} else {
// the type is the name of the node.
- type = qName;
+ typeValue = qName;
}
+ ResourceType type = ResourceType.getEnum(typeValue);
+
if (type != null) {
- if (RES_ATTR.equals(type) == false) {
+ if (type != ResourceType.ATTR) {
// get the resource name
String name = attributes.getValue(ATTR_NAME);
if (name != null) {
- if (RES_STYLE.equals(type)) {
+ if (type == ResourceType.STYLE) {
String parent = attributes.getValue(ATTR_PARENT);
- mCurrentStyle = new StyleResourceValue(type, name, parent, mIsFramework);
+ mCurrentStyle = new StyleResourceValue(type, name, parent,
+ mIsFramework);
mRepository.addResourceValue(type, mCurrentStyle);
} else {
mCurrentValue = new ResourceValue(type, name, mIsFramework);
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/DensityBasedResourceValue.java b/layoutlib_api/src/com/android/ide/common/rendering/api/DensityBasedResourceValue.java
index 4d0d51f..12bd57c 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/DensityBasedResourceValue.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/DensityBasedResourceValue.java
@@ -17,13 +17,14 @@
package com.android.ide.common.rendering.api;
import com.android.layoutlib.api.IDensityBasedResourceValue;
+import com.android.resources.ResourceType;
@SuppressWarnings("deprecation")
public class DensityBasedResourceValue extends ResourceValue implements IDensityBasedResourceValue {
private com.android.resources.Density mDensity;
- public DensityBasedResourceValue(String type, String name, String value,
+ public DensityBasedResourceValue(ResourceType type, String name, String value,
com.android.resources.Density density, boolean isFramework) {
super(type, name, value, isFramework);
mDensity = density;
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java b/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java
index 67e082e..aebc5a5 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java
@@ -16,6 +16,8 @@
package com.android.ide.common.rendering.api;
+import com.android.resources.ResourceType;
+
/**
* Callback for project information needed by the Layout Library.
* Classes implementing this interface provide methods giving access to some project data, like
@@ -69,6 +71,6 @@ public interface IProjectCallback {
* @param name the name of the resource
* @return an Integer containing the resource Id, or <code>null</code> if not found.
*/
- Integer getResourceValue(String type, String name);
+ Integer getResourceValue(ResourceType type, String name);
}
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/RenderResources.java b/layoutlib_api/src/com/android/ide/common/rendering/api/RenderResources.java
index ce86c9a..ea572bc 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/RenderResources.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/RenderResources.java
@@ -16,6 +16,8 @@
package com.android.ide.common.rendering.api;
+import com.android.resources.ResourceType;
+
/**
* A class containing all the resources needed to do a rendering.
* <p/>
@@ -24,21 +26,10 @@ package com.android.ide.common.rendering.api;
*/
public class RenderResources {
- public final static String RES_ANIMATOR = "animator";
- public final static String RES_STYLE = "style";
- public final static String RES_ATTR = "attr";
- public final static String RES_DIMEN = "dimen";
- public final static String RES_DRAWABLE = "drawable";
- public final static String RES_COLOR = "color";
- public final static String RES_LAYOUT = "layout";
- public final static String RES_STRING = "string";
- public final static String RES_ID = "id";
-
public final static String REFERENCE_NULL = "@null";
-
public static class FrameworkResourceIdProvider {
- public Integer getId(String resType, String resName) {
+ public Integer getId(ResourceType resType, String resName) {
return null;
}
}
@@ -83,7 +74,7 @@ public class RenderResources {
* @param resourceType the type of the resource
* @param resourceName the name of the resource
*/
- public ResourceValue getFrameworkResource(String resourceType, String resourceName) {
+ public ResourceValue getFrameworkResource(ResourceType resourceType, String resourceName) {
return null;
}
@@ -92,7 +83,7 @@ public class RenderResources {
* @param resourceType the type of the resource
* @param resourceName the name of the resource
*/
- public ResourceValue getProjectResource(String resourceType, String resourceName) {
+ public ResourceValue getProjectResource(ResourceType resourceType, String resourceName) {
return null;
}
@@ -165,7 +156,7 @@ public class RenderResources {
*
* @return the resolved resource value or <code>null</code> if it failed to resolve it.
*/
- public ResourceValue resolveValue(String type, String name, String value,
+ public ResourceValue resolveValue(ResourceType type, String name, String value,
boolean isFrameworkValue) {
return null;
}
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/ResourceValue.java b/layoutlib_api/src/com/android/ide/common/rendering/api/ResourceValue.java
index f59f3c3..76561c8 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/ResourceValue.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/ResourceValue.java
@@ -17,35 +17,41 @@
package com.android.ide.common.rendering.api;
import com.android.layoutlib.api.IResourceValue;
+import com.android.resources.ResourceType;
/**
* Represents an android resource with a name and a string value.
*/
@SuppressWarnings("deprecation")
public class ResourceValue implements IResourceValue {
- private final String mType;
+ private final ResourceType mType;
private final String mName;
private String mValue = null;
private final boolean mIsFramwork;
- public ResourceValue(String type, String name, boolean isFramwork) {
+ public ResourceValue(ResourceType type, String name, boolean isFramwork) {
mType = type;
mName = name;
mIsFramwork = isFramwork;
}
- public ResourceValue(String type, String name, String value, boolean isFramework) {
+ public ResourceValue(ResourceType type, String name, String value, boolean isFramework) {
mType = type;
mName = name;
mValue = value;
mIsFramwork = isFramework;
}
+ public ResourceType getResourceType() {
+ return mType;
+ }
+
/**
* Returns the type of the resource. For instance "drawable", "color", etc...
+ * @deprecated use {@link #getResourceType()} instead.
*/
public String getType() {
- return mType;
+ return mType.getName();
}
/**
@@ -70,7 +76,6 @@ public class ResourceValue implements IResourceValue {
return mIsFramwork;
}
-
/**
* Sets the value of the resource.
* @param value the new value
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java b/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java
index a9f499f..429bd26 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java
@@ -18,6 +18,7 @@ package com.android.ide.common.rendering.api;
import com.android.layoutlib.api.IResourceValue;
import com.android.layoutlib.api.IStyleResourceValue;
+import com.android.resources.ResourceType;
import java.util.HashMap;
@@ -30,11 +31,12 @@ public final class StyleResourceValue extends ResourceValue implements IStyleRes
private String mParentStyle = null;
private HashMap<String, ResourceValue> mItems = new HashMap<String, ResourceValue>();
- public StyleResourceValue(String type, String name, boolean isFramework) {
+ public StyleResourceValue(ResourceType type, String name, boolean isFramework) {
super(type, name, isFramework);
}
- public StyleResourceValue(String type, String name, String parentStyle, boolean isFramework) {
+ public StyleResourceValue(ResourceType type, String name, String parentStyle,
+ boolean isFramework) {
super(type, name, isFramework);
mParentStyle = parentStyle;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceType.java b/resources/src/com/android/resources/ResourceType.java
index 0312f44..f5f7063 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/ResourceType.java
+++ b/resources/src/com/android/resources/ResourceType.java
@@ -14,7 +14,8 @@
* limitations under the License.
*/
-package com.android.ide.eclipse.adt.internal.resources;
+package com.android.resources;
+
/**
* Enum representing a type of compiled resource.
@@ -91,23 +92,6 @@ public enum ResourceType {
}
/**
- * Returns a formatted string usable in an XML to use the specified {@link ResourceItem}.
- * @param resourceItem The resource item.
- * @param system Whether this is a system resource or a project resource.
- * @return a string in the format @[type]/[name]
- */
- public String getXmlString(ResourceItem resourceItem, boolean system) {
- if (this == ID && resourceItem instanceof IIdResourceItem) {
- IIdResourceItem idResource = (IIdResourceItem)resourceItem;
- if (idResource.isDeclaredInline()) {
- return (system?"@android:":"@+") + mName + "/" + resourceItem.getName(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- return (system?"@android:":"@") + mName + "/" + resourceItem.getName(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /**
* Returns an array with all the names defined by this enum.
*/
public static String[] getNames() {