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