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            <!-- normal actions; priority will be granted -->
35            <intent-filter android:priority="100">
36                <action android:name="android.intent.action.SEARCH" />
37                <category android:name="android.intent.category.INFO" />
38            </intent-filter>
39
40            <!-- protected actions; priority will be denied -->
41            <intent-filter android:priority="100">
42                <action android:name="android.intent.action.VIEW" />
43                <category android:name="android.intent.category.BROWSABLE" />
44            </intent-filter>
45            <intent-filter android:priority="100">
46                <action android:name="android.intent.action.SEND" />
47            </intent-filter>
48            <intent-filter android:priority="100">
49                <action android:name="android.intent.action.SEND_MULTIPLE" />
50            </intent-filter>
51            <intent-filter android:priority="100">
52                <action android:name="android.intent.action.SENDTO" />
53            </intent-filter>
54        </activity>
55
56        <!-- upgrade test; single, equivalent filter -->
57        <activity android:name=".UpgradeMatch">
58            <intent-filter android:priority="500">
59                <action android:name="com.android.cts.action.MATCH" />
60                <category android:name="android.intent.category.INFO" />
61            </intent-filter>
62        </activity>
63
64        <!-- upgrade test; multiple, equivalent filters -->
65        <activity android:name=".UpgradeMatchMultiple">
66            <intent-filter android:priority="500">
67                <action android:name="com.android.cts.action.MATCH_MULTIPLE" />
68            </intent-filter>
69        </activity>
70
71        <!-- upgrade test; lower priority is okay -->
72        <activity android:name=".UpgradeLowerPriority">
73            <intent-filter android:priority="75">
74                <action android:name="com.android.cts.action.LOWER_PRIORITY" />
75                <category android:name="android.intent.category.INFO" />
76            </intent-filter>
77        </activity>
78
79        <!-- upgrade test; action subset is "equivalent" -->
80        <activity android:name=".UpgradeActionSubset">
81            <intent-filter android:priority="100">
82                <action android:name="com.android.cts.action.ACTION_SUB_2" />
83                <category android:name="android.intent.category.DEFAULT" />
84            </intent-filter>
85        </activity>
86
87        <!-- upgrade test; category subset is "equivalent" -->
88        <activity android:name=".UpgradeCategorySubset">
89            <intent-filter android:priority="100">
90                <action android:name="com.android.cts.action.CATEGORY_SUB" />
91                <category android:name="android.intent.category.INFO" />
92            </intent-filter>
93        </activity>
94
95        <!-- upgrade test; scheme subset is "equivalent" -->
96        <activity android:name=".UpgradeSchemeSubset">
97            <intent-filter android:priority="100">
98                <action android:name="com.android.cts.action.SCHEME_SUB" />
99                <data android:scheme="flubber" />
100            </intent-filter>
101        </activity>
102
103        <!-- upgrade test; authority subset is "equivalent" -->
104        <activity android:name=".UpgradeAuthoritySubset">
105            <intent-filter android:priority="100">
106                <action android:name="com.android.cts.action.AUTHORITY_SUB" />
107                <data android:host="goo.gl" android:port="443" />
108            </intent-filter>
109        </activity>
110
111        <!-- upgrade test; new activity cannot get >0 priority -->
112        <activity android:name=".UpgradeNewActivity">
113            <intent-filter android:priority="100">
114                <action android:name="com.android.cts.action.NEW_ACTIVITY" />
115                <category android:name="android.intent.category.INFO" />
116            </intent-filter>
117        </activity>
118
119        <!-- upgrade test; new action cannot get >0 priority -->
120        <activity android:name=".UpgradeNewAction">
121            <intent-filter android:priority="100">
122                <action android:name="com.android.cts.action.NEW_ACTION" />
123                <action android:name="com.android.cts.action.NEW_ACTION_2" />
124            </intent-filter>
125        </activity>
126
127        <!-- upgrade test; new category cannot get >0 priority -->
128        <activity android:name=".UpgradeNewCategory">
129            <intent-filter android:priority="100">
130                <action android:name="com.android.cts.action.NEW_CATEGORY" />
131                <category android:name="android.intent.category.INFO" />
132                <category android:name="android.intent.category.DEFAULT" />
133                <category android:name="android.intent.category.DOODLE" />
134            </intent-filter>
135        </activity>
136
137        <!-- upgrade test; new scheme cannot get >0 priority -->
138        <activity android:name=".UpgradeNewScheme">
139            <intent-filter android:priority="100">
140                <action android:name="com.android.cts.action.NEW_SCHEME" />
141                <data android:scheme="content" />
142                <data android:scheme="flubber" />
143                <data android:scheme="zoodle" />
144                <data android:scheme="zowie" />
145            </intent-filter>
146        </activity>
147
148        <!-- upgrade test; new authority cannot get >0 priority -->
149        <activity android:name=".UpgradeNewAuthority">
150            <intent-filter android:priority="100">
151                <action android:name="com.android.cts.action.NEW_AUTHORITY" />
152                <data android:host="www.google.com" android:port="80" />
153                <data android:host="www.google.com" android:port="8080" />
154                <data android:host="mail.google.com" android:port="80" />
155                <data android:host="goo.gl" android:port="443" />
156                <data android:host="www.google.com" android:port="443" />
157            </intent-filter>
158        </activity>
159
160        <uses-library android:name="android.test.runner" />
161    </application>
162
163</manifest>
164
165