aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2011-01-27 18:05:56 -0800
committerXavier Ducrohet <xav@android.com>2011-01-28 12:42:05 -0800
commit3bd45f0b16f5ebfafd8080a0f17f71d85c9840ed (patch)
tree72a0de0eda8b085d7038a3987ef23d1a05000654
parent40826f2c5a850a1c0b74ec6193181383175f20cf (diff)
downloadsdk-3bd45f0b16f5ebfafd8080a0f17f71d85c9840ed.zip
sdk-3bd45f0b16f5ebfafd8080a0f17f71d85c9840ed.tar.gz
sdk-3bd45f0b16f5ebfafd8080a0f17f71d85c9840ed.tar.bz2
Change APIs using String instead of ResourceType.
Move ResourceType into resources.jar so that it's accessible to layoutlib.jar This is cleaner and allows us to us more efficient EnumMap objects. Change-Id: If11cbc69ae3ca8bd6c96e6d0ef402570a07af16f
-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() {