• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
18<manifest xmlns:android="http://schemas.android.com/apk/res/android"
19     package="android.autofillservice.cts"
20     android:targetSandboxVersion="2">
21
22    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
23    <uses-permission android:name="android.permission.INJECT_EVENTS"/>
24    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
25    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
26    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
27    <!--  Some tests use sticky broadcasts to ensure that inline suggestion extras
28    are delivered to the IME even when its process is not running persistently.
29    This can happen when the IME is unbound as a result of enabling
30    the config_preventImeStartupUnlessTextEditor option. -->
31    <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
32    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS"/>
33    <uses-permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"/>
34    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
35
36    <queries>
37        <package android:name="com.android.cts.mockime" />
38    </queries>
39
40    <application>
41
42        <uses-library android:name="android.test.runner"/>
43
44        <activity android:name=".activities.LoginActivity"
45             android:exported="true">
46            <intent-filter>
47                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
48                                         this app during CTS development... -->
49                <action android:name="android.intent.action.MAIN"/>
50                <category android:name="android.intent.category.LAUNCHER"/>
51            </intent-filter>
52        </activity>
53        <activity android:name=".activities.PreFilledLoginActivity"/>
54        <activity android:name=".activities.LoginWithCustomHighlightActivity"
55             android:theme="@style/MyAutofilledHighlight"/>
56        <activity android:name=".activities.LoginWithStringsActivity"/>
57        <activity android:name=".activities.LoginNotImportantForAutofillActivity"/>
58        <activity android:name=".activities.LoginNotImportantUsernameImportantPasswordActivity"/>
59        <activity android:name=".activities.MultilineLoginActivity"/>
60        <activity android:name=".activities.ImeOptionActivity"/>
61        <activity android:name=".activities.LoginNotImportantForAutofillWrappedActivityContextActivity"/>
62        <activity android:name=".activities.LoginNotImportantForAutofillWrappedApplicationContextActivity"/>
63        <activity android:name=".activities.LoginImportantForCredentialManagerActivity"/>
64        <activity android:name=".activities.LoginMixedImportantForCredentialManagerActivity"/>
65        <activity android:name=".activities.WelcomeActivity"
66             android:taskAffinity=".WelcomeActivity"/>
67        <activity android:name=".activities.ViewActionActivity"
68             android:taskAffinity=".ViewActionActivity"
69             android:launchMode="singleTask"
70             android:exported="true">
71            <intent-filter>
72                <action android:name="android.intent.action.VIEW"/>
73                <data android:scheme="autofillcts"/>
74                <category android:name="android.intent.category.DEFAULT"/>
75            </intent-filter>
76        </activity>
77        <activity android:name=".activities.SecondActivity"
78             android:taskAffinity=".SecondActivity"/>
79        <activity android:name=".activities.ViewAttributesTestActivity"/>
80        <activity android:name=".activities.AuthenticationActivity"/>
81        <activity android:name=".activities.ManualAuthenticationActivity"/>
82        <activity android:name=".activities.CheckoutActivity"
83             android:taskAffinity=".CheckoutActivity"/>
84        <activity android:name=".activities.InitializedCheckoutActivity"/>
85        <activity android:name=".activities.DatePickerCalendarActivity"/>
86        <activity android:name=".activities.DatePickerSpinnerActivity"/>
87        <activity android:name=".activities.TimePickerClockActivity"/>
88        <activity android:name=".activities.TimePickerSpinnerActivity"/>
89        <activity android:name=".activities.FatActivity"/>
90        <activity android:name=".activities.VirtualContainerActivity"
91             android:exported="true">
92            <intent-filter>
93                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
94                                         this app during CTS development... -->
95                <action android:name="android.intent.action.MAIN"/>
96                <category android:name="android.intent.category.LAUNCHER"/>
97            </intent-filter>
98        </activity>
99        <activity android:name=".activities.OptionalSaveActivity"/>
100        <activity android:name=".activities.GridActivity"/>
101        <activity android:name=".activities.EmptyActivity"/>
102        <activity android:name=".activities.DummyActivity"/>
103        <activity android:name=".activities.OutOfProcessLoginActivity"
104             android:process="android.autofillservice.cts.outside"/>
105        <activity android:name=".activities.FragmentContainerActivity"/>
106        <activity android:name=".activities.DuplicateIdActivity"
107             android:theme="@android:style/Theme.NoTitleBar"/>
108        <activity android:name=".activities.SimpleSaveActivity"/>
109        <activity android:name=".activities.PreSimpleSaveActivity"
110             android:exported="true">
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=".activities.WebViewActivity"/>
119        <activity android:name=".activities.WebViewMultiScreenLoginActivity"/>
120        <activity android:name=".activities.TrampolineWelcomeActivity"/>
121        <activity android:name=".activities.AttachedContextActivity"/>
122        <activity android:name=".activities.DialogLauncherActivity"
123             android:exported="true">
124            <intent-filter>
125                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
126                                         this app during CTS development... -->
127                <action android:name="android.intent.action.MAIN"/>
128                <category android:name="android.intent.category.LAUNCHER"/>
129            </intent-filter>
130        </activity>
131        <activity android:name=".activities.MultiWindowLoginActivity"
132             android:resizeableActivity="true"
133             android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"/>
134        <activity android:name=".activities.MultiWindowEmptyActivity"
135             android:resizeableActivity="true"
136             android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
137             android:taskAffinity="nobody.but.EmptyActivity"
138             android:exported="true"/>
139
140        <activity android:name=".activities.TrampolineForResultActivity"/>
141        <activity android:name=".activities.OnCreateServiceStatusVerifierActivity"/>
142        <activity android:name=".activities.UsernameOnlyActivity"
143             android:exported="true">
144            <intent-filter>
145                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
146                                         this app during CTS development... -->
147                <action android:name="android.intent.action.MAIN"/>
148                <category android:name="android.intent.category.LAUNCHER"/>
149            </intent-filter>
150        </activity>
151        <activity android:name=".activities.PasswordOnlyActivity"
152             android:exported="true">
153            <intent-filter>
154                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
155                                         this app during CTS development... -->
156                <action android:name="android.intent.action.MAIN"/>
157                <category android:name="android.intent.category.LAUNCHER"/>
158            </intent-filter>
159        </activity>
160        <activity android:name=".activities.AugmentedLoginActivity"
161             android:exported="true">
162            <intent-filter>
163                <!-- This intent filter is not really needed by CTS, but it makes easier to launch
164                                         this app during CTS development... -->
165                <action android:name="android.intent.action.MAIN"/>
166                <category android:name="android.intent.category.LAUNCHER"/>
167            </intent-filter>
168        </activity>
169        <activity android:name=".activities.FadeInActivity"/>
170        <activity android:name=".activities.MultipleStepsSignInActivity"/>
171        <activity android:name=".activities.FieldsNoPasswordActivity"/>
172        <activity android:name=".activities.AugmentedAuthActivity" />
173        <activity android:name=".activities.SimpleAfterLoginActivity"/>
174        <activity android:name=".activities.SimpleBeforeLoginActivity"/>
175        <activity android:name=".activities.NonAutofillableActivity"/>
176
177        <receiver android:name=".testcore.SelfDestructReceiver"
178             android:exported="true"
179             android:process="android.autofillservice.cts.outside"/>
180        <receiver android:name=".testcore.OutOfProcessLoginActivityFinisherReceiver"
181             android:exported="true"
182             android:process="android.autofillservice.cts.outside"/>
183
184        <service android:name=".testcore.InstrumentedAutoFillService"
185             android:label="InstrumentedAutoFillService"
186             android:permission="android.permission.BIND_AUTOFILL_SERVICE"
187             android:exported="true">
188            <intent-filter>
189                <action android:name="android.service.autofill.AutofillService"/>
190            </intent-filter>
191        </service>
192        <service android:name=".testcore.InstrumentedAutoFillServiceCompatMode"
193             android:label="testcore.InstrumentedAutoFillServiceCompatMode"
194             android:permission="android.permission.BIND_AUTOFILL_SERVICE"
195             android:exported="true">
196            <intent-filter>
197                <action android:name="android.service.autofill.AutofillService"/>
198            </intent-filter>
199            <meta-data android:name="android.autofill"
200                 android:resource="@xml/autofill_service_compat_mode_config">
201            </meta-data>
202        </service>
203        <service android:name=".testcore.InstrumentedAutoFillServiceInlineEnabled"
204             android:label="InstrumentedAutoFillServiceInlineEnabled"
205             android:permission="android.permission.BIND_AUTOFILL_SERVICE"
206             android:exported="true">
207            <intent-filter>
208                <action android:name="android.service.autofill.AutofillService"/>
209            </intent-filter>
210            <meta-data android:name="android.autofill"
211                 android:resource="@xml/autofill_service_inline_enabled">
212            </meta-data>
213        </service>
214        <service android:name=".testcore.NoOpAutofillService"
215             android:label="NoOpAutofillService"
216             android:permission="android.permission.BIND_AUTOFILL_SERVICE"
217             android:exported="true">
218            <intent-filter>
219                <action android:name="android.service.autofill.AutofillService"/>
220            </intent-filter>
221        </service>
222        <!--  BadAutofillService does not declare the proper permission -->
223        <service android:name=".testcore.BadAutofillService"
224             android:label="testcore.BadAutofillService"
225             android:exported="true">
226            <intent-filter>
227                <action android:name="android.service.autofill.AutofillService"/>
228            </intent-filter>
229        </service>
230
231        <service android:name=".testcore.CtsAugmentedAutofillService"
232             android:label="CtsAugmentedAutofillService"
233             android:permission="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
234             android:exported="true">
235            <intent-filter>
236                <action android:name="android.service.autofill.AutofillService"/>
237            </intent-filter>
238        </service>
239        <service android:name=".testcore.InstrumentedFieldClassificationService"
240            android:label="InstrumentedFieldClassificationService"
241            android:permission="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE"
242            android:exported="true">
243            <intent-filter>
244                <action android:name="android.service.assist.classification.FieldClassificationService"/>
245            </intent-filter>
246        </service>
247
248    </application>
249
250    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
251         android:label="CTS tests for the AutoFill Framework APIs."
252         android:targetPackage="android.autofillservice.cts">
253    </instrumentation>
254
255</manifest>
256