1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (C) 2017 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 18 xmlns:android="http://schemas.android.com/apk/res/android" 19 xmlns:tools="http://schemas.android.com/tools" 20 package="com.android.launcher3.tests"> 21 22 <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/> 23 24 <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> 25 <uses-permission android:name="android.permission.READ_LOGS"/> 26 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/> 27 <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> 28 29 <application android:debuggable="true" android:extractNativeLibs="true"> 30 <uses-library android:name="android.test.runner"/> 31 32 <receiver 33 android:name="com.android.launcher3.testcomponent.AppWidgetNoConfig" 34 android:exported="true" 35 android:icon="@drawable/test_widget_no_config_icon" 36 android:label="No Config"> 37 <intent-filter> 38 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> 39 </intent-filter> 40 <meta-data android:name="android.appwidget.provider" 41 android:resource="@xml/appwidget_no_config"/> 42 </receiver> 43 44 <receiver 45 android:name="com.android.launcher3.testcomponent.AppWidgetHidden" 46 android:exported="true" 47 android:label="Hidden widget"> 48 <intent-filter> 49 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> 50 </intent-filter> 51 <meta-data android:name="android.appwidget.provider" 52 android:resource="@xml/appwidget_hidden"/> 53 </receiver> 54 55 <receiver 56 android:name="com.android.launcher3.testcomponent.AppWidgetWithConfig" 57 android:exported="true" 58 android:icon="@drawable/test_widget_with_config_icon" 59 android:label="With Config"> 60 <intent-filter> 61 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> 62 </intent-filter> 63 <meta-data android:name="android.appwidget.provider" 64 android:resource="@xml/appwidget_with_config"/> 65 </receiver> 66 67 <receiver 68 android:name="com.android.launcher3.testcomponent.AppWidgetWithDialog" 69 android:exported="true" 70 android:icon="@drawable/test_widget_with_dialog_icon" 71 android:label="With Dialog"> 72 <intent-filter> 73 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> 74 </intent-filter> 75 <meta-data android:name="android.appwidget.provider" 76 android:resource="@xml/appwidget_no_config_large"/> 77 </receiver> 78 79 <receiver 80 android:name="com.android.launcher3.testcomponent.AppWidgetDynamicColors" 81 android:exported="true" 82 android:icon="@drawable/test_widget_dynamic_colors_icon" 83 android:label="Dynamic Colors"> 84 <intent-filter> 85 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> 86 </intent-filter> 87 <meta-data android:name="android.appwidget.provider" 88 android:resource="@xml/appwidget_dynamic_colors"/> 89 </receiver> 90 91 <receiver android:name="com.android.launcher3.testcomponent.UnarchiveBroadcastReceiver" 92 android:enabled="true" 93 android:exported="true"> 94 <intent-filter> 95 <action android:name="android.intent.action.UNARCHIVE_PACKAGE"/> 96 </intent-filter> 97 </receiver> 98 99 <activity 100 android:name="com.android.launcher3.testcomponent.WidgetConfigActivity" 101 android:exported="true"> 102 <intent-filter> 103 <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/> 104 </intent-filter> 105 </activity> 106 <activity android:name="com.android.launcher3.testcomponent.CustomShortcutConfigActivity" 107 android:exported="true"> 108 <intent-filter> 109 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 110 <category android:name="android.intent.category.DEFAULT" /> 111 </intent-filter> 112 </activity> 113 <activity 114 android:name="com.android.launcher3.testcomponent.RequestPinItemActivity" 115 android:icon="@drawable/test_drawable_pin_item" 116 android:exported="true" 117 android:label="Test Pin Item"> 118 <intent-filter> 119 <action android:name="android.intent.action.MAIN"/> 120 <category android:name="android.intent.category.LAUNCHER"/> 121 </intent-filter> 122 </activity> 123 124 <service 125 android:name="com.android.launcher3.testcomponent.ListViewService" 126 android:permission="android.permission.BIND_REMOTEVIEWS" /> 127 128 <provider 129 android:name="com.android.launcher3.testcomponent.TestCommandProvider" 130 android:authorities="${packageName}.commands" 131 android:exported="true"/> 132 133 <activity 134 android:name="com.android.launcher3.testcomponent.TestLauncherActivity" 135 android:clearTaskOnLaunch="true" 136 android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize" 137 android:enabled="false" 138 android:label="Test launcher" 139 android:launchMode="singleTask" 140 android:process=":testLauncherProcess" 141 android:resizeableActivity="true" 142 android:screenOrientation="unspecified" 143 android:stateNotNeeded="true" 144 android:taskAffinity="" 145 android:theme="@android:style/Theme.DeviceDefault.Light" 146 android:exported="true" 147 android:windowSoftInputMode="adjustPan"> 148 <intent-filter> 149 <action android:name="android.intent.action.MAIN"/> 150 <category android:name="android.intent.category.HOME"/> 151 <category android:name="android.intent.category.DEFAULT"/> 152 <category android:name="android.intent.category.MONKEY"/> 153 <category android:name="android.intent.category.LAUNCHER_APP"/> 154 </intent-filter> 155 </activity> 156 <activity 157 android:name="com.android.launcher3.testcomponent.BaseTestingActivity" 158 android:label="LauncherTestApp" 159 android:exported="true" 160 android:taskAffinity="com.android.launcher3.testcomponent.Affinity1" 161 android:theme="@style/Theme.TestActivities"> 162 <intent-filter> 163 <action android:name="android.intent.action.MAIN"/> 164 <category android:name="android.intent.category.LAUNCHER"/> 165 <category android:name="android.intent.category.DEFAULT"/> 166 </intent-filter> 167 <intent-filter> 168 <action android:name="com.android.launcher3.intent.action.test_shortcut"/> 169 <category android:name="android.intent.category.DEFAULT"/> 170 </intent-filter> 171 <meta-data android:name="android.app.shortcuts" 172 android:resource="@xml/shortcuts"/> 173 </activity> 174 <activity 175 android:name="com.android.launcher3.testcomponent.OtherBaseTestingActivity" 176 android:label="OtherLauncherTestApp" 177 android:exported="true" 178 android:taskAffinity="com.android.launcher3.testcomponent.Affinity2"> 179 <intent-filter> 180 <action android:name="android.intent.action.MAIN"/> 181 <category android:name="android.intent.category.LAUNCHER"/> 182 </intent-filter> 183 </activity> 184 <activity-alias android:name="Activity2" 185 android:label="TestActivity2" 186 android:icon="@drawable/test_icon" 187 android:exported="true" 188 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 189 <intent-filter> 190 <action android:name="android.intent.action.MAIN"/> 191 <category android:name="android.intent.category.LAUNCHER"/> 192 </intent-filter> 193 </activity-alias> 194 <activity-alias android:name="Activity3" 195 android:label="TestActivity3" 196 android:icon="@drawable/test_icon" 197 android:exported="true" 198 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 199 <intent-filter> 200 <action android:name="android.intent.action.MAIN"/> 201 <category android:name="android.intent.category.LAUNCHER"/> 202 </intent-filter> 203 </activity-alias> 204 <activity-alias android:name="Activity4" 205 android:label="TestActivity4" 206 android:icon="@drawable/test_icon" 207 android:exported="true" 208 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 209 <intent-filter> 210 <action android:name="android.intent.action.MAIN"/> 211 <category android:name="android.intent.category.LAUNCHER"/> 212 </intent-filter> 213 </activity-alias> 214 <activity-alias android:name="Activity5" 215 android:label="TestActivity5" 216 android:icon="@drawable/test_icon" 217 android:exported="true" 218 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 219 <intent-filter> 220 <action android:name="android.intent.action.MAIN"/> 221 <category android:name="android.intent.category.LAUNCHER"/> 222 </intent-filter> 223 </activity-alias> 224 <activity-alias android:name="Activity6" 225 android:label="TestActivity6" 226 android:icon="@drawable/test_icon" 227 android:exported="true" 228 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 229 <intent-filter> 230 <action android:name="android.intent.action.MAIN"/> 231 <category android:name="android.intent.category.LAUNCHER"/> 232 </intent-filter> 233 </activity-alias> 234 <activity-alias android:name="Activity7" 235 android:label="TestActivity7" 236 android:icon="@drawable/test_icon" 237 android:exported="true" 238 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 239 <intent-filter> 240 <action android:name="android.intent.action.MAIN"/> 241 <category android:name="android.intent.category.LAUNCHER"/> 242 </intent-filter> 243 </activity-alias> 244 <activity-alias android:name="Activity8" 245 android:label="TestActivity8" 246 android:icon="@drawable/test_icon" 247 android:exported="true" 248 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 249 <intent-filter> 250 <action android:name="android.intent.action.MAIN"/> 251 <category android:name="android.intent.category.LAUNCHER"/> 252 </intent-filter> 253 </activity-alias> 254 <activity-alias android:name="Activity9" android:exported="true" 255 android:label="TestActivity9" 256 android:icon="@drawable/test_icon" 257 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 258 <intent-filter> 259 <action android:name="android.intent.action.MAIN" /> 260 <category android:name="android.intent.category.LAUNCHER" /> 261 </intent-filter> 262 </activity-alias> 263 <activity-alias android:name="Activity10" android:exported="true" 264 android:label="TestActivity10" 265 android:icon="@drawable/test_icon" 266 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 267 <intent-filter> 268 <action android:name="android.intent.action.MAIN" /> 269 <category android:name="android.intent.category.LAUNCHER" /> 270 </intent-filter> 271 </activity-alias> 272 <activity-alias android:name="Activity11" android:exported="true" 273 android:label="TestActivity11" 274 android:icon="@drawable/test_icon" 275 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 276 <intent-filter> 277 <action android:name="android.intent.action.MAIN" /> 278 <category android:name="android.intent.category.LAUNCHER" /> 279 </intent-filter> 280 </activity-alias> 281 <activity-alias android:name="Activity12" android:exported="true" 282 android:label="TestActivity12" 283 android:icon="@drawable/test_icon" 284 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 285 <intent-filter> 286 <action android:name="android.intent.action.MAIN" /> 287 <category android:name="android.intent.category.LAUNCHER" /> 288 </intent-filter> 289 </activity-alias> 290 <activity-alias android:name="Activity13" android:exported="true" 291 android:label="TestActivity13" 292 android:icon="@drawable/test_icon" 293 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 294 <intent-filter> 295 <action android:name="android.intent.action.MAIN" /> 296 <category android:name="android.intent.category.LAUNCHER" /> 297 </intent-filter> 298 </activity-alias> 299 <activity-alias android:name="Activity14" android:exported="true" 300 android:label="TestActivity14" 301 android:icon="@drawable/test_icon" 302 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 303 <intent-filter> 304 <action android:name="android.intent.action.MAIN" /> 305 <category android:name="android.intent.category.LAUNCHER" /> 306 </intent-filter> 307 </activity-alias> 308 <activity-alias android:name="Activity15" android:exported="true" 309 android:label="IconThemedActivity" 310 android:icon="@drawable/test_theme_icon" 311 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 312 <intent-filter> 313 <action android:name="android.intent.action.MAIN" /> 314 <category android:name="android.intent.category.LAUNCHER" /> 315 </intent-filter> 316 </activity-alias> 317 <activity-alias android:name="SplitTask1" 318 android:label="1st TopLeft" 319 android:exported="true" 320 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 321 <intent-filter> 322 <action android:name="android.intent.action.MAIN"/> 323 <category android:name="android.intent.category.LAUNCHER"/> 324 </intent-filter> 325 </activity-alias> 326 <activity-alias android:name="SplitTask2" 327 android:label="2nd BottomRight" 328 android:exported="true" 329 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 330 <intent-filter> 331 <action android:name="android.intent.action.MAIN"/> 332 <category android:name="android.intent.category.LAUNCHER"/> 333 </intent-filter> 334 </activity-alias> 335 <activity-alias android:name="ActivityNoLabel" 336 android:label="" 337 android:exported="true" 338 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 339 <intent-filter> 340 <action android:name="android.intent.action.MAIN"/> 341 <category android:name="android.intent.category.LAUNCHER"/> 342 </intent-filter> 343 </activity-alias> 344 <activity-alias android:name="MaxShortcutsActivity" 345 android:label="TestActivityMaxShortcuts" 346 android:exported="true" 347 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 348 <intent-filter> 349 <action android:name="android.intent.action.MAIN"/> 350 <category android:name="android.intent.category.LAUNCHER"/> 351 </intent-filter> 352 <meta-data android:name="android.app.shortcuts" 353 android:resource="@xml/max_shortcuts"/> 354 </activity-alias> 355 <activity-alias android:name="SingleShortcutActivity" 356 android:label="TestActivitySingleShortcut" 357 android:exported="true" 358 android:targetActivity="com.android.launcher3.testcomponent.OtherBaseTestingActivity"> 359 <intent-filter> 360 <action android:name="android.intent.action.MAIN"/> 361 <category android:name="android.intent.category.LAUNCHER"/> 362 </intent-filter> 363 <meta-data android:name="android.app.shortcuts" 364 android:resource="@xml/single_shortcut"/> 365 </activity-alias> 366 <activity 367 android:name="com.android.launcher3.testcomponent.DialogTestActivity" 368 android:label="Dialog Activity" 369 android:theme="@android:style/Theme.Dialog" 370 android:exported="true" 371 android:taskAffinity="com.android.launcher3.testcomponent.Affinity2"> 372 <intent-filter> 373 <action android:name="android.intent.action.MAIN"/> 374 <category android:name="android.intent.category.LAUNCHER"/> 375 </intent-filter> 376 </activity> 377 <activity android:name="com.android.launcher3.testcomponent.ImeTestActivity" 378 android:label="ImeTestActivity" 379 android:icon="@drawable/test_icon" 380 android:exported="true"> 381 <intent-filter> 382 <action android:name="android.intent.action.MAIN" /> 383 <category android:name="android.intent.category.LAUNCHER" /> 384 </intent-filter> 385 </activity> 386 <activity-alias android:name="WebSearchActivity" 387 android:label="WebSearchActivity" 388 android:exported="true" 389 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 390 <intent-filter> 391 <action android:name="android.intent.action.WEB_SEARCH" /> 392 <category android:name="android.intent.category.DEFAULT" /> 393 </intent-filter> 394 </activity-alias> 395 <activity-alias android:name="AAAActivity" 396 android:label="AAA" 397 android:exported="true" 398 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 399 <intent-filter> 400 <action android:name="android.intent.action.MAIN"/> 401 <category android:name="android.intent.category.LAUNCHER"/> 402 </intent-filter> 403 </activity-alias> 404 <activity-alias android:name="ZZZActivity" 405 android:label="ZZZ" 406 android:exported="true" 407 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 408 <intent-filter> 409 <action android:name="android.intent.action.MAIN"/> 410 <category android:name="android.intent.category.LAUNCHER"/> 411 </intent-filter> 412 </activity-alias> 413 <activity android:name="com.android.launcher3.testcomponent.ExcludeFromRecentsTestActivity" 414 android:label="ExcludeFromRecentsTestActivity" 415 android:exported="true" 416 android:excludeFromRecents="true"> 417 <intent-filter> 418 <action android:name="android.intent.action.MAIN"/> 419 <category android:name="android.intent.category.LAUNCHER"/> 420 </intent-filter> 421 </activity> 422 423 <activity-alias android:name="AppIconActivity" 424 android:label="Application Icon" 425 android:exported="true" 426 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 427 <intent-filter> 428 <action android:name="android.intent.action.MAIN"/> 429 <category android:name="android.intent.category.LAUNCHER"/> 430 </intent-filter> 431 </activity-alias> 432 <activity-alias android:name="DiffIconActivity" 433 android:label="Different icon" 434 android:exported="true" 435 android:icon="@drawable/test_different_activity_icon" 436 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 437 <intent-filter> 438 <action android:name="android.intent.action.MAIN"/> 439 <category android:name="android.intent.category.LAUNCHER"/> 440 </intent-filter> 441 </activity-alias> 442 <activity-alias android:name="WrongIconActivity" 443 android:label="Wrong icon" 444 android:exported="true" 445 android:icon="@drawable/test_wrong_activity_icon" 446 android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity"> 447 <intent-filter> 448 <action android:name="android.intent.action.MAIN"/> 449 <category android:name="android.intent.category.LAUNCHER"/> 450 </intent-filter> 451 </activity-alias> 452 453 <!-- Disable eager initialization of Jetpack libraries. See bug 197780098. --> 454 <provider 455 android:name="androidx.startup.InitializationProvider" 456 android:authorities="${applicationId}.androidx-startup" 457 tools:node="remove" /> 458 459 <property 460 android:name="android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI" 461 android:value="true"/> 462 </application> 463</manifest> 464