aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2009-07-22 17:39:44 -0700
committerXavier Ducrohet <xav@android.com>2009-07-22 18:12:30 -0700
commitba7dd920a1d2970b1bbf2e831d6e2c8871ee6080 (patch)
treeec6fa4d6d7f46dff7086344fd0355c4a649a5cbe /eclipse
parent2fe90fa6ca0bdeed235511fb75e6fd8690bf1083 (diff)
downloadsdk-ba7dd920a1d2970b1bbf2e831d6e2c8871ee6080.zip
sdk-ba7dd920a1d2970b1bbf2e831d6e2c8871ee6080.tar.gz
sdk-ba7dd920a1d2970b1bbf2e831d6e2c8871ee6080.tar.bz2
Add support for add-on based on preview of platforms.
Diffstat (limited to 'eclipse')
-rw-r--r--eclipse/changes.txt3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/PreCompilerBuilder.java7
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidManifestParser.java84
4 files changed, 47 insertions, 50 deletions
diff --git a/eclipse/changes.txt b/eclipse/changes.txt
index ecb1f15..cd2736a 100644
--- a/eclipse/changes.txt
+++ b/eclipse/changes.txt
@@ -1,6 +1,7 @@
0.9.2:
- New wizard to create Android JUnit Test Projects.
-
+- New AVD wizard.
+- SDK Updater
0.9.1:
- Added an AVD creation wizard to ADT. It is automatically displayed during a launch if no compatible AVDs are found.
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF
index 406285a..b3635fc 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF
@@ -97,8 +97,11 @@ Export-Package: com.android.ide.eclipse.adt;x-friends:="com.android.ide.eclipse.
com.android.sdklib.internal.project;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.internal.repository;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.repository;x-friends:="com.android.ide.eclipse.tests",
+ com.android.sdklib.xml;x-friends:="com.android.ide.eclipse.tests",
com.android.sdkstats;x-friends:="com.android.ide.eclipse.tests",
com.android.sdkuilib.internal.repository;x-friends:="com.android.ide.eclipse.tests",
+ com.android.sdkuilib.internal.repository.icons;x-friends:="com.android.ide.eclipse.tests",
+ com.android.sdkuilib.internal.tasks;x-friends:="com.android.ide.eclipse.tests",
com.android.sdkuilib.internal.widgets;x-friends:="com.android.ide.eclipse.tests",
com.android.sdkuilib.repository;x-friends:="com.android.ide.eclipse.tests"
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/PreCompilerBuilder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/PreCompilerBuilder.java
index c7fd289..2ba0b03 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/PreCompilerBuilder.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/PreCompilerBuilder.java
@@ -27,6 +27,7 @@ import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.sdklib.AndroidVersion;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
+import com.android.sdklib.xml.ManifestConstants;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
@@ -332,7 +333,7 @@ public class PreCompilerBuilder extends BaseBuilder {
// integer minSdk when the target is a preview => fatal error
String msg = String.format(
"Platform %1$s is a preview and requires appication manifests to set %2$s to '%3$s'",
- codename, AndroidManifestParser.ATTRIBUTE_MIN_SDK_VERSION,
+ codename, ManifestConstants.ATTRIBUTE_MIN_SDK_VERSION,
codename);
AdtPlugin.printErrorToConsole(project, msg);
BaseProjectHelper.addMarker(manifest, AdtConstants.MARKER_ADT, msg,
@@ -355,7 +356,7 @@ public class PreCompilerBuilder extends BaseBuilder {
// platform is not a preview => fatal error
String msg = String.format(
"Manifest attribute '%1$s' is set to '%2$s'. Integer is expected.",
- AndroidManifestParser.ATTRIBUTE_MIN_SDK_VERSION, codename);
+ ManifestConstants.ATTRIBUTE_MIN_SDK_VERSION, codename);
AdtPlugin.printErrorToConsole(project, msg);
BaseProjectHelper.addMarker(manifest, AdtConstants.MARKER_ADT, msg,
IMarker.SEVERITY_ERROR);
@@ -364,7 +365,7 @@ public class PreCompilerBuilder extends BaseBuilder {
// platform and manifest codenames don't match => fatal error.
String msg = String.format(
"Value of manifest attribute '%1$s' does not match platform codename '%2$s'",
- AndroidManifestParser.ATTRIBUTE_MIN_SDK_VERSION, codename);
+ ManifestConstants.ATTRIBUTE_MIN_SDK_VERSION, codename);
AdtPlugin.printErrorToConsole(project, msg);
BaseProjectHelper.addMarker(manifest, AdtConstants.MARKER_ADT, msg,
IMarker.SEVERITY_ERROR);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidManifestParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidManifestParser.java
index d5fd4e7..10e727c 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidManifestParser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidManifestParser.java
@@ -20,6 +20,7 @@ import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
import com.android.ide.eclipse.adt.internal.project.XmlErrorHandler.XmlErrorListener;
import com.android.sdklib.SdkConstants;
+import com.android.sdklib.xml.ManifestConstants;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
@@ -47,26 +48,6 @@ import javax.xml.parsers.SAXParserFactory;
public class AndroidManifestParser {
- private final static String ATTRIBUTE_PACKAGE = "package"; //$NON-NLS-1$
- private final static String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
- private final static String ATTRIBUTE_PROCESS = "process"; //$NON-NLS-$
- private final static String ATTRIBUTE_DEBUGGABLE = "debuggable"; //$NON-NLS-$
- public final static String ATTRIBUTE_MIN_SDK_VERSION = "minSdkVersion"; //$NON-NLS-$
- private final static String ATTRIBUTE_TARGET_PACKAGE = "targetPackage"; //$NON-NLS-1$
- private final static String ATTRIBUTE_EXPORTED = "exported"; //$NON-NLS-1$
- private final static String NODE_MANIFEST = "manifest"; //$NON-NLS-1$
- private final static String NODE_APPLICATION = "application"; //$NON-NLS-1$
- private final static String NODE_ACTIVITY = "activity"; //$NON-NLS-1$
- private final static String NODE_SERVICE = "service"; //$NON-NLS-1$
- private final static String NODE_RECEIVER = "receiver"; //$NON-NLS-1$
- private final static String NODE_PROVIDER = "provider"; //$NON-NLS-1$
- private final static String NODE_INTENT = "intent-filter"; //$NON-NLS-1$
- private final static String NODE_ACTION = "action"; //$NON-NLS-1$
- private final static String NODE_CATEGORY = "category"; //$NON-NLS-1$
- private final static String NODE_USES_SDK = "uses-sdk"; //$NON-NLS-1$
- private final static String NODE_INSTRUMENTATION = "instrumentation"; //$NON-NLS-1$
- private final static String NODE_USES_LIBRARY = "uses-library"; //$NON-NLS-1$
-
private final static int LEVEL_MANIFEST = 0;
private final static int LEVEL_APPLICATION = 1;
private final static int LEVEL_ACTIVITY = 2;
@@ -304,50 +285,55 @@ public class AndroidManifestParser {
String value;
switch (mValidLevel) {
case LEVEL_MANIFEST:
- if (NODE_MANIFEST.equals(localName)) {
+ if (ManifestConstants.NODE_MANIFEST.equals(localName)) {
// lets get the package name.
- mPackage = getAttributeValue(attributes, ATTRIBUTE_PACKAGE,
+ mPackage = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_PACKAGE,
false /* hasNamespace */);
mValidLevel++;
}
break;
case LEVEL_APPLICATION:
- if (NODE_APPLICATION.equals(localName)) {
- value = getAttributeValue(attributes, ATTRIBUTE_PROCESS,
+ if (ManifestConstants.NODE_APPLICATION.equals(localName)) {
+ value = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_PROCESS,
true /* hasNamespace */);
if (value != null) {
addProcessName(value);
}
- value = getAttributeValue(attributes, ATTRIBUTE_DEBUGGABLE,
+ value = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_DEBUGGABLE,
true /* hasNamespace*/);
if (value != null) {
mDebuggable = Boolean.parseBoolean(value);
}
mValidLevel++;
- } else if (NODE_USES_SDK.equals(localName)) {
+ } else if (ManifestConstants.NODE_USES_SDK.equals(localName)) {
mApiLevelRequirement = getAttributeValue(attributes,
- ATTRIBUTE_MIN_SDK_VERSION, true /* hasNamespace */);
- } else if (NODE_INSTRUMENTATION.equals(localName)) {
+ ManifestConstants.ATTRIBUTE_MIN_SDK_VERSION,
+ true /* hasNamespace */);
+ } else if (ManifestConstants.NODE_INSTRUMENTATION.equals(localName)) {
processInstrumentationNode(attributes);
}
break;
case LEVEL_ACTIVITY:
- if (NODE_ACTIVITY.equals(localName)) {
+ if (ManifestConstants.NODE_ACTIVITY.equals(localName)) {
processActivityNode(attributes);
mValidLevel++;
- } else if (NODE_SERVICE.equals(localName)) {
+ } else if (ManifestConstants.NODE_SERVICE.equals(localName)) {
processNode(attributes, AndroidConstants.CLASS_SERVICE);
mValidLevel++;
- } else if (NODE_RECEIVER.equals(localName)) {
+ } else if (ManifestConstants.NODE_RECEIVER.equals(localName)) {
processNode(attributes, AndroidConstants.CLASS_BROADCASTRECEIVER);
mValidLevel++;
- } else if (NODE_PROVIDER.equals(localName)) {
+ } else if (ManifestConstants.NODE_PROVIDER.equals(localName)) {
processNode(attributes, AndroidConstants.CLASS_CONTENTPROVIDER);
mValidLevel++;
- } else if (NODE_USES_LIBRARY.equals(localName)) {
- value = getAttributeValue(attributes, ATTRIBUTE_NAME,
+ } else if (ManifestConstants.NODE_USES_LIBRARY.equals(localName)) {
+ value = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_NAME,
true /* hasNamespace */);
if (value != null) {
mLibraries.add(value);
@@ -356,24 +342,27 @@ public class AndroidManifestParser {
break;
case LEVEL_INTENT_FILTER:
// only process this level if we are in an activity
- if (mCurrentActivity != null && NODE_INTENT.equals(localName)) {
+ if (mCurrentActivity != null &&
+ ManifestConstants.NODE_INTENT.equals(localName)) {
mCurrentActivity.resetIntentFilter();
mValidLevel++;
}
break;
case LEVEL_CATEGORY:
if (mCurrentActivity != null) {
- if (NODE_ACTION.equals(localName)) {
+ if (ManifestConstants.NODE_ACTION.equals(localName)) {
// get the name attribute
- String action = getAttributeValue(attributes, ATTRIBUTE_NAME,
+ String action = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_NAME,
true /* hasNamespace */);
if (action != null) {
mCurrentActivity.setHasAction(true);
mCurrentActivity.setHasMainAction(
ACTION_MAIN.equals(action));
}
- } else if (NODE_CATEGORY.equals(localName)) {
- String category = getAttributeValue(attributes, ATTRIBUTE_NAME,
+ } else if (ManifestConstants.NODE_CATEGORY.equals(localName)) {
+ String category = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_NAME,
true /* hasNamespace */);
if (CATEGORY_LAUNCHER.equals(category)) {
mCurrentActivity.setHasLauncherCategory(true);
@@ -473,13 +462,14 @@ public class AndroidManifestParser {
*/
private void processActivityNode(Attributes attributes) {
// lets get the activity name, and add it to the list
- String activityName = getAttributeValue(attributes, ATTRIBUTE_NAME,
+ String activityName = getAttributeValue(attributes, ManifestConstants.ATTRIBUTE_NAME,
true /* hasNamespace */);
if (activityName != null) {
activityName = combinePackageAndClassName(mPackage, activityName);
// get the exported flag.
- String exportedStr = getAttributeValue(attributes, ATTRIBUTE_EXPORTED, true);
+ String exportedStr = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_EXPORTED, true);
boolean exported = exportedStr == null ||
exportedStr.toLowerCase().equals("true"); // $NON-NLS-1$
mCurrentActivity = new Activity(activityName, exported);
@@ -495,7 +485,7 @@ public class AndroidManifestParser {
mCurrentActivity = null;
}
- String processName = getAttributeValue(attributes, ATTRIBUTE_PROCESS,
+ String processName = getAttributeValue(attributes, ManifestConstants.ATTRIBUTE_PROCESS,
true /* hasNamespace */);
if (processName != null) {
addProcessName(processName);
@@ -510,7 +500,7 @@ public class AndroidManifestParser {
*/
private void processNode(Attributes attributes, String superClassName) {
// lets get the class name, and check it if required.
- String serviceName = getAttributeValue(attributes, ATTRIBUTE_NAME,
+ String serviceName = getAttributeValue(attributes, ManifestConstants.ATTRIBUTE_NAME,
true /* hasNamespace */);
if (serviceName != null) {
serviceName = combinePackageAndClassName(mPackage, serviceName);
@@ -520,7 +510,7 @@ public class AndroidManifestParser {
}
}
- String processName = getAttributeValue(attributes, ATTRIBUTE_PROCESS,
+ String processName = getAttributeValue(attributes, ManifestConstants.ATTRIBUTE_PROCESS,
true /* hasNamespace */);
if (processName != null) {
addProcessName(processName);
@@ -534,11 +524,13 @@ public class AndroidManifestParser {
*/
private void processInstrumentationNode(Attributes attributes) {
// lets get the class name, and check it if required.
- String instrumentationName = getAttributeValue(attributes, ATTRIBUTE_NAME,
+ String instrumentationName = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_NAME,
true /* hasNamespace */);
if (instrumentationName != null) {
String instrClassName = combinePackageAndClassName(mPackage, instrumentationName);
- String targetPackage = getAttributeValue(attributes, ATTRIBUTE_TARGET_PACKAGE,
+ String targetPackage = getAttributeValue(attributes,
+ ManifestConstants.ATTRIBUTE_TARGET_PACKAGE,
true /* hasNamespace */);
mInstrumentations.add(new Instrumentation(instrClassName, targetPackage));
if (mMarkErrors) {