1<?xml version="1.0" encoding="utf-8"?>
2<!--
3 * Copyright (C) 2017 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16-->
17<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18    package="android.autofillservice.cts"
19    android:targetSandboxVersion="2">
20
21    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
22    <uses-permission android:name="android.permission.INJECT_EVENTS" />
23    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
24    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
25
26    <application>
27
28        <uses-library android:name="android.test.runner" />
29
30        <activity android:name=".LoginActivity" >
31            <intent-filter>
32                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
33                     this app during CTS development... -->
34                <action android:name="android.intent.action.MAIN" />
35                <category android:name="android.intent.category.LAUNCHER" />
36            </intent-filter>
37        </activity>
38        <activity android:name=".PreFilledLoginActivity" />
39        <activity android:name=".LoginWithCustomHighlightActivity"
40                  android:theme="@style/MyAutofilledHighlight"/>
41        <activity android:name=".LoginWithStringsActivity" />
42        <activity android:name=".LoginNotImportantForAutofillActivity" />
43        <activity android:name=".LoginNotImportantForAutofillWrappedActivityContextActivity" />
44        <activity android:name=".LoginNotImportantForAutofillWrappedApplicationContextActivity" />
45        <activity android:name=".WelcomeActivity" android:taskAffinity=".WelcomeActivity"/>
46        <activity android:name=".ViewAttributesTestActivity" />
47        <activity android:name=".AuthenticationActivity" />
48        <activity android:name=".ManualAuthenticationActivity" />
49        <activity android:name=".CheckoutActivity" android:taskAffinity=".CheckoutActivity"/>
50        <activity android:name=".InitializedCheckoutActivity" />
51        <activity android:name=".DatePickerCalendarActivity" />
52        <activity android:name=".DatePickerSpinnerActivity" />
53        <activity android:name=".TimePickerClockActivity" />
54        <activity android:name=".TimePickerSpinnerActivity" />
55        <activity android:name=".FatActivity" />
56        <activity android:name=".VirtualContainerActivity">
57            <intent-filter>
58                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
59                     this app during CTS development... -->
60                <action android:name="android.intent.action.MAIN" />
61                <category android:name="android.intent.category.LAUNCHER" />
62            </intent-filter>
63        </activity>
64        <activity android:name=".OptionalSaveActivity" />
65        <activity android:name=".AllAutofillableViewsActivity" />
66        <activity android:name=".GridActivity"/>
67        <activity android:name=".EmptyActivity"/>
68        <activity android:name=".DummyActivity"/>
69        <activity android:name=".OutOfProcessLoginActivity"
70            android:process="android.autofillservice.cts.outside"/>
71        <activity android:name=".FragmentContainerActivity" />
72        <activity android:name=".DuplicateIdActivity"
73            android:theme="@android:style/Theme.NoTitleBar" />
74        <activity android:name=".SimpleSaveActivity"/>
75        <activity android:name=".PreSimpleSaveActivity">
76            <intent-filter>
77                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
78                     this app during CTS development... -->
79                <action android:name="android.intent.action.MAIN" />
80                <category android:name="android.intent.category.LAUNCHER" />
81            </intent-filter>
82        </activity>
83        <activity android:name=".WebViewActivity"/>
84        <activity android:name=".WebViewMultiScreenLoginActivity"/>
85        <activity android:name=".TrampolineWelcomeActivity"/>
86        <activity android:name=".AttachedContextActivity"/>
87        <activity android:name=".DialogLauncherActivity" >
88            <intent-filter>
89                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
90                     this app during CTS development... -->
91                <action android:name="android.intent.action.MAIN" />
92                <category android:name="android.intent.category.LAUNCHER" />
93            </intent-filter>
94        </activity>
95        <activity android:name=".MultiWindowLoginActivity" />
96        <activity android:name=".MultiWindowEmptyActivity"
97            android:taskAffinity="nobody.but.EmptyActivity"
98            android:exported="true" />
99
100        <activity android:name=".TrampolineForResultActivity" />
101        <activity android:name=".OnCreateServiceStatusVerifierActivity"/>
102        <activity android:name=".UsernameOnlyActivity" >
103            <intent-filter>
104                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
105                     this app during CTS development... -->
106                <action android:name="android.intent.action.MAIN" />
107                <category android:name="android.intent.category.LAUNCHER" />
108            </intent-filter>
109        </activity>
110        <activity android:name=".PasswordOnlyActivity" >
111            <intent-filter>
112                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
113                     this app during CTS development... -->
114                <action android:name="android.intent.action.MAIN" />
115                <category android:name="android.intent.category.LAUNCHER" />
116            </intent-filter>
117        </activity>
118        <activity android:name=".augmented.AugmentedLoginActivity">
119            <intent-filter>
120                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
121                     this app during CTS development... -->
122                <action android:name="android.intent.action.MAIN" />
123                <category android:name="android.intent.category.LAUNCHER" />
124            </intent-filter>
125        </activity>
126
127        <receiver android:name=".SelfDestructReceiver"
128            android:exported="true"
129            android:process="android.autofillservice.cts.outside"/>
130        <receiver android:name=".OutOfProcessLoginActivityFinisherReceiver"
131            android:exported="true"
132            android:process="android.autofillservice.cts.outside"/>
133
134        <service
135            android:name=".InstrumentedAutoFillService"
136            android:label="InstrumentedAutoFillService"
137            android:permission="android.permission.BIND_AUTOFILL_SERVICE" >
138            <intent-filter>
139                <action android:name="android.service.autofill.AutofillService" />
140            </intent-filter>
141        </service>
142        <service
143            android:name=".InstrumentedAutoFillServiceCompatMode"
144            android:label="InstrumentedAutoFillServiceCompatMode"
145            android:permission="android.permission.BIND_AUTOFILL_SERVICE" >
146            <intent-filter>
147                <action android:name="android.service.autofill.AutofillService" />
148            </intent-filter>
149            <meta-data
150                android:name="android.autofill"
151                android:resource="@xml/autofill_service_compat_mode_config">
152            </meta-data>
153        </service>
154        <service
155            android:name=".NoOpAutofillService"
156            android:label="NoOpAutofillService"
157            android:permission="android.permission.BIND_AUTOFILL_SERVICE" >
158            <intent-filter>
159                <action android:name="android.service.autofill.AutofillService" />
160            </intent-filter>
161        </service>
162        <!--  BadAutofillService does not declare the proper permission -->
163        <service
164            android:name=".BadAutofillService"
165            android:label="BadAutofillService">
166            <intent-filter>
167                <action android:name="android.service.autofill.AutofillService" />
168            </intent-filter>
169        </service>
170
171        <service
172            android:name=".augmented.CtsAugmentedAutofillService"
173            android:label="CtsAugmentedAutofillService"
174            android:permission="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE" >
175            <intent-filter>
176                <action android:name="android.service.autofill.AutofillService" />
177            </intent-filter>
178        </service>
179
180    </application>
181
182    <instrumentation
183        android:name="androidx.test.runner.AndroidJUnitRunner"
184        android:label="CTS tests for the AutoFill Framework APIs."
185        android:targetPackage="android.autofillservice.cts" >
186    </instrumentation>
187
188</manifest>
189