diff options
author | Siva Velusamy <vsiva@google.com> | 2012-11-06 16:36:53 -0800 |
---|---|---|
committer | Siva Velusamy <vsiva@google.com> | 2012-11-06 16:37:56 -0800 |
commit | 5065448f1d979c5c0159c4ca3967d24bfedc2c98 (patch) | |
tree | 5410d89ae0c72b9f12f8b00231bfb645fb69225d | |
parent | c31088897719dd995036616ff6d6785812c4a899 (diff) | |
download | sdk-5065448f1d979c5c0159c4ca3967d24bfedc2c98.zip sdk-5065448f1d979c5c0159c4ca3967d24bfedc2c98.tar.gz sdk-5065448f1d979c5c0159c4ca3967d24bfedc2c98.tar.bz2 |
Assume Activity Aliases are just like activities.
Change-Id: Ide586077b63accc17cc3c4c68e0b62f06fe83b66
3 files changed, 39 insertions, 3 deletions
diff --git a/sdk_common/src/com/android/ide/common/xml/AndroidManifestParser.java b/sdk_common/src/com/android/ide/common/xml/AndroidManifestParser.java index 38dc1c4..7fde6ce 100644 --- a/sdk_common/src/com/android/ide/common/xml/AndroidManifestParser.java +++ b/sdk_common/src/com/android/ide/common/xml/AndroidManifestParser.java @@ -228,7 +228,8 @@ public class AndroidManifestParser { } break; case LEVEL_INSIDE_APPLICATION: - if (AndroidManifest.NODE_ACTIVITY.equals(localName)) { + if (AndroidManifest.NODE_ACTIVITY.equals(localName) + || AndroidManifest.NODE_ACTIVITY_ALIAS.equals(localName)) { processActivityNode(attributes); mValidLevel++; } else if (AndroidManifest.NODE_SERVICE.equals(localName)) { diff --git a/sdk_common/tests/src/com/android/ide/common/xml/AndroidManifestParserTest.java b/sdk_common/tests/src/com/android/ide/common/xml/AndroidManifestParserTest.java index 1bd6402..fee6014 100644 --- a/sdk_common/tests/src/com/android/ide/common/xml/AndroidManifestParserTest.java +++ b/sdk_common/tests/src/com/android/ide/common/xml/AndroidManifestParserTest.java @@ -22,10 +22,10 @@ import com.android.resources.Keyboard; import com.android.resources.Navigation; import com.android.resources.TouchScreen; -import java.io.InputStream; - import junit.framework.TestCase; +import java.io.InputStream; + /** * Tests for {@link AndroidManifestParser} */ @@ -39,6 +39,8 @@ public class AndroidManifestParserTest extends TestCase { "AndroidManifest-instrumentation.xml"; //$NON-NLS-1$ private static final String TESTAPP_XML = TESTDATA_PATH + "AndroidManifest-testapp.xml"; //$NON-NLS-1$ + private static final String ACTIVITY_ALIAS_XML = TESTDATA_PATH + + "AndroidManifest-activityalias.xml"; //$NON-NLS-1$ private static final String PACKAGE_NAME = "com.android.testapp"; //$NON-NLS-1$ private static final Integer VERSION_CODE = 42; private static final String ACTIVITY_NAME = "com.android.testapp.MainActivity"; //$NON-NLS-1$ @@ -160,4 +162,14 @@ public class AndroidManifestParserTest extends TestCase { public void testGetPackageName() { assertEquals(PACKAGE_NAME, mManifestTestApp.getPackage()); } + + public void testActivityAlias() throws Exception { + InputStream manifestStream = this.getClass().getResourceAsStream(ACTIVITY_ALIAS_XML); + + ManifestData manifest = AndroidManifestParser.parse(manifestStream); + assertNotNull(manifest); + + assertEquals(manifest.getLauncherActivity().getName(), + "com.android.testapp.AliasActivity"); //$NON-NLS-1$ + } } diff --git a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/testdata/AndroidManifest-activityalias.xml b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/testdata/AndroidManifest-activityalias.xml new file mode 100644 index 0000000..6f63897 --- /dev/null +++ b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/testdata/AndroidManifest-activityalias.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.testapp" android:versionCode="42" + android:versionName="1.42"> + + <application android:icon="@drawable/icon"> + <activity android:name="com.android.testapp.MainActivity" + android:label="@string/app_name"> + </activity> + + <activity-alias android:name="com.android.testapp.AliasActivity" + android:label="@string/app_name" + android:targetActivity="com.android.testapp.MainActivity"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity-alias> + </application> + + <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="8" /> + +</manifest> |