<?xml version="1.0" encoding="utf-8"?><!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
  ~
  ~ 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.
  -->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.cts.packagemanager.verify.domain.declaringapp">

    <application android:label="Declaring Test App" android:testOnly="true">
        <uses-library android:name="android.test.runner" />
        <activity android:name=".DeclaringActivity" android:exported="true">

            <!-- Normal success case, declaring valid domain with autoVerify -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:host="com.android.cts.packagemanager.verify.domain.1.pmctstesting" />
                <data android:host="invalid1" />
            </intent-filter>

            <!-- Valid intent-filter, but missing autoVerify -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="http" />
                <data android:host="com.android.cts.packagemanager.verify.domain.2.pmctstesting" />
                <data android:host="invalid2." />
            </intent-filter>

            <!-- Missing http, still accepted -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="https" />
                <data android:host="com.android.cts.packagemanager.verify.domain.3.pmctstesting" />
                <data android:host=".invalid3" />
            </intent-filter>

            <!-- Missing DEFAULT, rejected -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="https" />
                <data android:host="com.android.cts.packagemanager.verify.domain.4.pmctstesting" />
                <data android:host="invalid4" />
            </intent-filter>

            <!-- Missing BROWSABLE, rejected -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="https" />
                <data android:host="com.android.cts.packagemanager.verify.domain.5.pmctstesting" />
                <data android:host="invalid5" />
            </intent-filter>

            <!-- Missing VIEW, rejected -->
            <intent-filter android:autoVerify="true">
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="https" />
                <data android:host="com.android.cts.packagemanager.verify.domain.6.pmctstesting" />
                <data android:host="invalid6" />
            </intent-filter>

            <!-- Valid intent-filter with uri relative filter group, accepted -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:host="com.android.cts.packagemanager.verify.domain.7.pmctstesting" />
                <data android:host=".invalid7" />
                <uri-relative-filter-group android:allow="true">
                    <data android:path="/path" />
                    <data android:query="query=str" />
                </uri-relative-filter-group>
            </intent-filter>
        </activity>
    </application>

    <instrumentation
        android:name="androidx.test.runner.AndroidJUnitRunner"
        android:targetPackage="com.android.cts.packagemanager.verify.domain.declaringapp1" />

    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="https" />
        </intent>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="http" />
        </intent>
    </queries>

</manifest>

