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 33 <application> 34 35 <uses-library android:name="android.test.runner"/> 36 37 <activity android:name=".activities.LoginActivity" 38 android:exported="true"> 39 <intent-filter> 40 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 41 this app during CTS development... --> 42 <action android:name="android.intent.action.MAIN"/> 43 <category android:name="android.intent.category.LAUNCHER"/> 44 </intent-filter> 45 </activity> 46 <activity android:name=".activities.PreFilledLoginActivity"/> 47 <activity android:name=".activities.LoginWithCustomHighlightActivity" 48 android:theme="@style/MyAutofilledHighlight"/> 49 <activity android:name=".activities.LoginWithStringsActivity"/> 50 <activity android:name=".activities.LoginNotImportantForAutofillActivity"/> 51 <activity android:name=".activities.LoginNotImportantForAutofillWrappedActivityContextActivity"/> 52 <activity android:name=".activities.LoginNotImportantForAutofillWrappedApplicationContextActivity"/> 53 <activity android:name=".activities.WelcomeActivity" 54 android:taskAffinity=".WelcomeActivity"/> 55 <activity android:name=".activities.ViewActionActivity" 56 android:taskAffinity=".ViewActionActivity" 57 android:launchMode="singleTask" 58 android:exported="true"> 59 <intent-filter> 60 <action android:name="android.intent.action.VIEW"/> 61 <data android:scheme="autofillcts"/> 62 <category android:name="android.intent.category.DEFAULT"/> 63 </intent-filter> 64 </activity> 65 <activity android:name=".activities.SecondActivity" 66 android:taskAffinity=".SecondActivity"/> 67 <activity android:name=".activities.ViewAttributesTestActivity"/> 68 <activity android:name=".activities.AuthenticationActivity"/> 69 <activity android:name=".activities.ManualAuthenticationActivity"/> 70 <activity android:name=".activities.CheckoutActivity" 71 android:taskAffinity=".CheckoutActivity"/> 72 <activity android:name=".activities.InitializedCheckoutActivity"/> 73 <activity android:name=".activities.DatePickerCalendarActivity"/> 74 <activity android:name=".activities.DatePickerSpinnerActivity"/> 75 <activity android:name=".activities.TimePickerClockActivity"/> 76 <activity android:name=".activities.TimePickerSpinnerActivity"/> 77 <activity android:name=".activities.FatActivity"/> 78 <activity android:name=".activities.VirtualContainerActivity" 79 android:exported="true"> 80 <intent-filter> 81 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 82 this app during CTS development... --> 83 <action android:name="android.intent.action.MAIN"/> 84 <category android:name="android.intent.category.LAUNCHER"/> 85 </intent-filter> 86 </activity> 87 <activity android:name=".activities.OptionalSaveActivity"/> 88 <activity android:name=".activities.GridActivity"/> 89 <activity android:name=".activities.EmptyActivity"/> 90 <activity android:name=".activities.DummyActivity"/> 91 <activity android:name=".activities.OutOfProcessLoginActivity" 92 android:process="android.autofillservice.cts.outside"/> 93 <activity android:name=".activities.FragmentContainerActivity"/> 94 <activity android:name=".activities.DuplicateIdActivity" 95 android:theme="@android:style/Theme.NoTitleBar"/> 96 <activity android:name=".activities.SimpleSaveActivity"/> 97 <activity android:name=".activities.PreSimpleSaveActivity" 98 android:exported="true"> 99 <intent-filter> 100 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 101 this app during CTS development... --> 102 <action android:name="android.intent.action.MAIN"/> 103 <category android:name="android.intent.category.LAUNCHER"/> 104 </intent-filter> 105 </activity> 106 <activity android:name=".activities.WebViewActivity"/> 107 <activity android:name=".activities.WebViewMultiScreenLoginActivity"/> 108 <activity android:name=".activities.TrampolineWelcomeActivity"/> 109 <activity android:name=".activities.AttachedContextActivity"/> 110 <activity android:name=".activities.DialogLauncherActivity" 111 android:exported="true"> 112 <intent-filter> 113 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 114 this app during CTS development... --> 115 <action android:name="android.intent.action.MAIN"/> 116 <category android:name="android.intent.category.LAUNCHER"/> 117 </intent-filter> 118 </activity> 119 <activity android:name=".activities.MultiWindowLoginActivity" 120 android:resizeableActivity="true" 121 android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"/> 122 <activity android:name=".activities.MultiWindowEmptyActivity" 123 android:resizeableActivity="true" 124 android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" 125 android:taskAffinity="nobody.but.EmptyActivity" 126 android:exported="true"/> 127 128 <activity android:name=".activities.TrampolineForResultActivity"/> 129 <activity android:name=".activities.OnCreateServiceStatusVerifierActivity"/> 130 <activity android:name=".activities.UsernameOnlyActivity" 131 android:exported="true"> 132 <intent-filter> 133 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 134 this app during CTS development... --> 135 <action android:name="android.intent.action.MAIN"/> 136 <category android:name="android.intent.category.LAUNCHER"/> 137 </intent-filter> 138 </activity> 139 <activity android:name=".activities.PasswordOnlyActivity" 140 android:exported="true"> 141 <intent-filter> 142 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 143 this app during CTS development... --> 144 <action android:name="android.intent.action.MAIN"/> 145 <category android:name="android.intent.category.LAUNCHER"/> 146 </intent-filter> 147 </activity> 148 <activity android:name=".activities.AugmentedLoginActivity" 149 android:exported="true"> 150 <intent-filter> 151 <!-- This intent filter is not really needed by CTS, but it makes easier to launch 152 this app during CTS development... --> 153 <action android:name="android.intent.action.MAIN"/> 154 <category android:name="android.intent.category.LAUNCHER"/> 155 </intent-filter> 156 </activity> 157 <activity android:name=".activities.FadeInActivity"/> 158 <activity android:name=".activities.MultipleStepsSignInActivity"/> 159 <activity android:name=".activities.FieldsNoPasswordActivity"/> 160 <activity android:name=".activities.AugmentedAuthActivity" /> 161 <activity android:name=".activities.SimpleAfterLoginActivity"/> 162 <activity android:name=".activities.SimpleBeforeLoginActivity"/> 163 <activity android:name=".activities.NonAutofillableActivity"/> 164 165 <receiver android:name=".testcore.SelfDestructReceiver" 166 android:exported="true" 167 android:process="android.autofillservice.cts.outside"/> 168 <receiver android:name=".testcore.OutOfProcessLoginActivityFinisherReceiver" 169 android:exported="true" 170 android:process="android.autofillservice.cts.outside"/> 171 172 <service android:name=".testcore.InstrumentedAutoFillService" 173 android:label="InstrumentedAutoFillService" 174 android:permission="android.permission.BIND_AUTOFILL_SERVICE" 175 android:exported="true"> 176 <intent-filter> 177 <action android:name="android.service.autofill.AutofillService"/> 178 </intent-filter> 179 </service> 180 <service android:name=".testcore.InstrumentedAutoFillServiceCompatMode" 181 android:label="testcore.InstrumentedAutoFillServiceCompatMode" 182 android:permission="android.permission.BIND_AUTOFILL_SERVICE" 183 android:exported="true"> 184 <intent-filter> 185 <action android:name="android.service.autofill.AutofillService"/> 186 </intent-filter> 187 <meta-data android:name="android.autofill" 188 android:resource="@xml/autofill_service_compat_mode_config"> 189 </meta-data> 190 </service> 191 <service android:name=".testcore.InstrumentedAutoFillServiceInlineEnabled" 192 android:label="InstrumentedAutoFillServiceInlineEnabled" 193 android:permission="android.permission.BIND_AUTOFILL_SERVICE" 194 android:exported="true"> 195 <intent-filter> 196 <action android:name="android.service.autofill.AutofillService"/> 197 </intent-filter> 198 <meta-data android:name="android.autofill" 199 android:resource="@xml/autofill_service_inline_enabled"> 200 </meta-data> 201 </service> 202 <service android:name=".testcore.NoOpAutofillService" 203 android:label="NoOpAutofillService" 204 android:permission="android.permission.BIND_AUTOFILL_SERVICE" 205 android:exported="true"> 206 <intent-filter> 207 <action android:name="android.service.autofill.AutofillService"/> 208 </intent-filter> 209 </service> 210 <!-- BadAutofillService does not declare the proper permission --> 211 <service android:name=".testcore.BadAutofillService" 212 android:label="testcore.BadAutofillService" 213 android:exported="true"> 214 <intent-filter> 215 <action android:name="android.service.autofill.AutofillService"/> 216 </intent-filter> 217 </service> 218 219 <service android:name=".testcore.CtsAugmentedAutofillService" 220 android:label="CtsAugmentedAutofillService" 221 android:permission="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE" 222 android:exported="true"> 223 <intent-filter> 224 <action android:name="android.service.autofill.AutofillService"/> 225 </intent-filter> 226 </service> 227 228 </application> 229 230 <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" 231 android:label="CTS tests for the AutoFill Framework APIs." 232 android:targetPackage="android.autofillservice.cts"> 233 </instrumentation> 234 235</manifest> 236