1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2016 The Android Open Source Project
3
4     Licensed under the Apache License, Version 2.0 (the "License");
5     you may not use this file except in compliance with the License.
6     You may obtain a copy of the License at
7
8          http://www.apache.org/licenses/LICENSE-2.0
9
10     Unless required by applicable law or agreed to in writing, software
11     distributed under the License is distributed on an "AS IS" BASIS,
12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13     See the License for the specific language governing permissions and
14     limitations under the License.
15-->
16
17<!-- Manifest for the privileged CTS shim upgrade -->
18<manifest xmlns:android="http://schemas.android.com/apk/res/android"
19    xmlns:tools="http://schemas.android.com/tools"
20    package="com.android.cts.priv.ctsshim" >
21
22    <uses-sdk android:minSdkVersion="24"
23        android:targetSdkVersion="28" />
24
25    <application
26        android:hasCode="false"
27        android:multiArch="true"
28        tools:ignore="AllowBackup,MissingApplicationIcon" >
29
30        <!-- These activities don't actually exist; define them just to test the filters !-->
31
32        <!-- install test; [some] high priority filters granted -->
33        <activity android:name=".InstallPriority"
34            android:exported="true">
35            <!-- normal actions; priority will be granted -->
36            <intent-filter android:priority="100">
37                <action android:name="android.intent.action.SEARCH" />
38                <category android:name="android.intent.category.INFO" />
39            </intent-filter>
40
41            <!-- protected actions; priority will be denied -->
42            <intent-filter android:priority="100">
43                <action android:name="android.intent.action.VIEW" />
44                <category android:name="android.intent.category.BROWSABLE" />
45            </intent-filter>
46            <intent-filter android:priority="100">
47                <action android:name="android.intent.action.SEND" />
48            </intent-filter>
49            <intent-filter android:priority="100">
50                <action android:name="android.intent.action.SEND_MULTIPLE" />
51            </intent-filter>
52            <intent-filter android:priority="100">
53                <action android:name="android.intent.action.SENDTO" />
54            </intent-filter>
55        </activity>
56
57        <!-- upgrade test; single, equivalent filter -->
58        <activity android:name=".UpgradeMatch"
59            android:exported="true">
60            <intent-filter android:priority="500">
61                <action android:name="com.android.cts.action.MATCH" />
62                <category android:name="android.intent.category.INFO" />
63            </intent-filter>
64        </activity>
65
66        <!-- upgrade test; multiple, equivalent filters -->
67        <activity android:name=".UpgradeMatchMultiple"
68            android:exported="true">
69            <intent-filter android:priority="500">
70                <action android:name="com.android.cts.action.MATCH_MULTIPLE" />
71            </intent-filter>
72        </activity>
73
74        <!-- upgrade test; lower priority is okay -->
75        <activity android:name=".UpgradeLowerPriority"
76            android:exported="true">
77            <intent-filter android:priority="75">
78                <action android:name="com.android.cts.action.LOWER_PRIORITY" />
79                <category android:name="android.intent.category.INFO" />
80            </intent-filter>
81        </activity>
82
83        <!-- upgrade test; action subset is "equivalent" -->
84        <activity android:name=".UpgradeActionSubset"
85            android:exported="true">
86            <intent-filter android:priority="100">
87                <action android:name="com.android.cts.action.ACTION_SUB_2" />
88                <category android:name="android.intent.category.DEFAULT" />
89            </intent-filter>
90        </activity>
91
92        <!-- upgrade test; category subset is "equivalent" -->
93        <activity android:name=".UpgradeCategorySubset"
94            android:exported="true">
95            <intent-filter android:priority="100">
96                <action android:name="com.android.cts.action.CATEGORY_SUB" />
97                <category android:name="android.intent.category.INFO" />
98            </intent-filter>
99        </activity>
100
101        <!-- upgrade test; scheme subset is "equivalent" -->
102        <activity android:name=".UpgradeSchemeSubset"
103            android:exported="true">
104            <intent-filter android:priority="100">
105                <action android:name="com.android.cts.action.SCHEME_SUB" />
106                <data android:scheme="flubber" />
107            </intent-filter>
108        </activity>
109
110        <!-- upgrade test; authority subset is "equivalent" -->
111        <activity android:name=".UpgradeAuthoritySubset"
112            android:exported="true">
113            <intent-filter android:priority="100">
114                <action android:name="com.android.cts.action.AUTHORITY_SUB" />
115                <data android:host="goo.gl" android:port="443" />
116            </intent-filter>
117        </activity>
118
119        <!-- upgrade test; new activity cannot get >0 priority -->
120        <activity android:name=".UpgradeNewActivity"
121            android:exported="true">
122            <intent-filter android:priority="100">
123                <action android:name="com.android.cts.action.NEW_ACTIVITY" />
124                <category android:name="android.intent.category.INFO" />
125            </intent-filter>
126        </activity>
127
128        <!-- upgrade test; new action cannot get >0 priority -->
129        <activity android:name=".UpgradeNewAction"
130            android:exported="true">
131            <intent-filter android:priority="100">
132                <action android:name="com.android.cts.action.NEW_ACTION" />
133                <action android:name="com.android.cts.action.NEW_ACTION_2" />
134            </intent-filter>
135        </activity>
136
137        <!-- upgrade test; new category cannot get >0 priority -->
138        <activity android:name=".UpgradeNewCategory"
139            android:exported="true">
140            <intent-filter android:priority="100">
141                <action android:name="com.android.cts.action.NEW_CATEGORY" />
142                <category android:name="android.intent.category.INFO" />
143                <category android:name="android.intent.category.DEFAULT" />
144                <category android:name="android.intent.category.DOODLE" />
145            </intent-filter>
146        </activity>
147
148        <!-- upgrade test; new scheme cannot get >0 priority -->
149        <activity android:name=".UpgradeNewScheme"
150            android:exported="true">
151            <intent-filter android:priority="100">
152                <action android:name="com.android.cts.action.NEW_SCHEME" />
153                <data android:scheme="content" />
154                <data android:scheme="flubber" />
155                <data android:scheme="zoodle" />
156                <data android:scheme="zowie" />
157            </intent-filter>
158        </activity>
159
160        <!-- upgrade test; new authority cannot get >0 priority -->
161        <activity android:name=".UpgradeNewAuthority"
162            android:exported="true">
163            <intent-filter android:priority="100">
164                <action android:name="com.android.cts.action.NEW_AUTHORITY" />
165                <data android:host="www.google.com" android:port="80" />
166                <data android:host="www.google.com" android:port="8080" />
167                <data android:host="mail.google.com" android:port="80" />
168                <data android:host="goo.gl" android:port="443" />
169                <data android:host="www.google.com" android:port="443" />
170            </intent-filter>
171        </activity>
172
173        <uses-library android:name="android.test.runner" />
174    </application>
175
176</manifest>
177
178