#
# Test:
# - Activities from libraries are merged in the main manifest.
# - Acts on activity / activity-alias / service / receiver / provider.
# - Elements are merged as-is with the first comment element preceding them.
# - Whitespace preceding the merged elements is transfered over too.
#
# Note:
# - New elements are always merged at the end of the application element.
# - It's an error if an element with the same @name attribute is defined
#   or merged more than once unless the definition is *exactly* the same,
#   the "same" being defined by the exact XML elements, whitespace excluded.
#
# This tests that a normal merge is done as expected.
# There's a warning because one of the activities from lib2 is already defined
# in the main but it's purely identical so it's not an error.
#

@main

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app1"
    android:versionCode="100"
    android:versionName="1.0.0">

    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="11"/>

    <supports-screens
        android:largeScreens="true"
        android:smallScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:xlargeScreens="true"
        />

    <!-- Typical analytics permissions. -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <!-- Touchscreen feature, optional to make sure we can run on devices with no touch screen. -->
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />

    <application
        android:label="@string/app_name"
        android:icon="@drawable/app_icon"
        android:backupAgent="com.example.app.BackupAgentClass"
        android:restoreAnyVersion="true"
        android:allowBackup="true"
        android:killAfterRestore="true"
        android:name="com.example.TheApp" >

        <activity
            android:name="com.example.MainActivity"
            android:label="@string/activity_name"
            android:icon="@drawable/activity_icon"
            android:theme="@style/Some.Theme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Receiver -->
        <receiver
            android:name="com.example.AppReceiver"
            android:icon="@drawable/app_icon">
            <intent-filter>
                <action android:name="com.example.action.ACTION_CUSTOM" />
            </intent-filter>
        </receiver>

        <!-- This is exactly the same as in lib2_activity -->
        <activity
            android:name="com.example.LibActivity"
            android:label="@string/lib_activity_name"
            android:icon="@drawable/lib_activity_icon"
            android:theme="@style/Lib.Theme">

            <!-- When comparing duplicate elements, whitespace and comments are ignored. -->

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

        <!-- end of the main manifest's application element. Note that the
             merger will insert at the end of this comment, in the specific
             order activity, activity-alias, service, receiver and provider. -->

    </application>

</manifest>


@lib1_widget

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lib1">

    <application android:label="@string/lib_name" >

        <!-- Broadcast Receiver for a widget. -->
        <receiver
            android:label="@string/widget_name"
            android:icon="@drawable/widget_icon"
            android:name="com.example.WidgetReceiver" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_provider"
                />
        </receiver>

        <service
            android:icon="@drawable/app_icon"
            android:name="com.example.AppService" />

        <!-- Activity to configure widget -->
        <activity
            android:icon="@drawable/widget_icon"
            android:label="Configure Widget"
            android:name="com.example.WidgetConfigurationUI"
            android:theme="@style/Theme.WidgetConfigurationUI" >
            <intent-filter >
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
            </intent-filter>
        </activity>
    </application>

</manifest>


@lib2_activity

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lib2">

    <application android:label="@string/lib_name" >

        <!-- This won't be merged because there's already an identical definition in the main. -->
        <activity
            android:name="com.example.LibActivity"
            android:label="@string/lib_activity_name"
            android:icon="@drawable/lib_activity_icon"
            android:theme="@style/Lib.Theme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Provider extracted from ApiDemos -->
        <provider android:name=".app.LoaderThrottle$SimpleProvider"
            android:authorities="com.example.android.apis.app.LoaderThrottle"
            android:enabled="@bool/atLeastHoneycomb" />

        <!-- This one does not conflict with the main -->
        <activity
            android:name="com.example.LibActivity2"
            android:label="@string/lib_activity_name"
            android:icon="@drawable/lib_activity_icon"
            android:theme="@style/Lib.Theme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>


@lib3_alias

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lib3">

    <!-- This comment is ignored. -->

    <application android:label="@string/lib_name" >

        <!-- The first comment just before the element
             is carried over as-is.
        -->
        <!-- Formatting is preserved. -->
        <!-- All consecutive comments are taken together. -->

        <activity-alias
            android:name="com.example.alias.MyActivity"
            android:targetActivity="com.example.MainActivity"
            android:label="@string/alias_name"
            android:icon="@drawable/alias_icon"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

        <!-- This is a dup of the 2nd activity in lib2 -->
        <activity
            android:name="com.example.LibActivity2"
            android:label="@string/lib_activity_name"
            android:icon="@drawable/lib_activity_icon"
            android:theme="@style/Lib.Theme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>


@result

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app1"
    android:versionCode="100"
    android:versionName="1.0.0">

    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="11"/>

    <supports-screens
        android:largeScreens="true"
        android:smallScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:xlargeScreens="true"
        />

    <!-- Typical analytics permissions. -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <!-- Touchscreen feature, optional to make sure we can run on devices with no touch screen. -->
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />

    <application
        android:label="@string/app_name"
        android:icon="@drawable/app_icon"
        android:backupAgent="com.example.app.BackupAgentClass"
        android:restoreAnyVersion="true"
        android:allowBackup="true"
        android:killAfterRestore="true"
        android:name="com.example.TheApp" >

        <activity
            android:name="com.example.MainActivity"
            android:label="@string/activity_name"
            android:icon="@drawable/activity_icon"
            android:theme="@style/Some.Theme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Receiver -->
        <receiver
            android:name="com.example.AppReceiver"
            android:icon="@drawable/app_icon">
            <intent-filter>
                <action android:name="com.example.action.ACTION_CUSTOM" />
            </intent-filter>
        </receiver>

        <!-- This is exactly the same as in lib2_activity -->
        <activity
            android:name="com.example.LibActivity"
            android:label="@string/lib_activity_name"
            android:icon="@drawable/lib_activity_icon"
            android:theme="@style/Lib.Theme">

            <!-- When comparing duplicate elements, whitespace and comments are ignored. -->

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

        <!-- end of the main manifest's application element. Note that the
             merger will insert at the end of this comment, in the specific
             order activity, activity-alias, service, receiver and provider. -->

# from @lib1_widget
        <!-- Activity to configure widget -->
        <activity
            android:icon="@drawable/widget_icon"
            android:label="Configure Widget"
            android:name="com.example.WidgetConfigurationUI"
            android:theme="@style/Theme.WidgetConfigurationUI" >
            <intent-filter >
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
            </intent-filter>
        </activity>

        <service
            android:icon="@drawable/app_icon"
            android:name="com.example.AppService" />

        <!-- Broadcast Receiver for a widget. -->
        <receiver
            android:label="@string/widget_name"
            android:icon="@drawable/widget_icon"
            android:name="com.example.WidgetReceiver" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_provider"
                />
        </receiver>

# from @lib2_activity
        <!-- This one does not conflict with the main -->
        <activity
            android:name="com.example.LibActivity2"
            android:label="@string/lib_activity_name"
            android:icon="@drawable/lib_activity_icon"
            android:theme="@style/Lib.Theme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Provider extracted from ApiDemos -->
        <provider android:name="com.example.lib2.app.LoaderThrottle$SimpleProvider"
            android:authorities="com.example.android.apis.app.LoaderThrottle"
            android:enabled="@bool/atLeastHoneycomb" />

# from @lib3_alias
        <!-- The first comment just before the element
             is carried over as-is.
        -->
        <!-- Formatting is preserved. -->
        <!-- All consecutive comments are taken together. -->

        <activity-alias
            android:name="com.example.alias.MyActivity"
            android:targetActivity="com.example.MainActivity"
            android:label="@string/alias_name"
            android:icon="@drawable/alias_icon"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

    </application>

</manifest>

@errors

P [ManifestMergerTest0_main.xml:31, ManifestMergerTest2_lib2_activity.xml:6] Skipping identical /manifest/application/activity[@name=com.example.LibActivity] element.
P [ManifestMergerTest0_main.xml, ManifestMergerTest3_lib3_alias.xml:19] Skipping identical /manifest/application/activity[@name=com.example.LibActivity2] element.
