1<!-- 2 ~ Copyright (C) 2023 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 xmlns:android="http://schemas.android.com/apk/res/android" 18 xmlns:tools="http://schemas.android.com/tools" 19 package="com.android.wm.shell.flicker.splitscreen"> 20 21 <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29"/> 22 <!-- Read and write traces from external storage --> 23 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 24 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 25 <!-- Allow the test to write directly to /sdcard/ --> 26 <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> 27 <!-- Write secure settings --> 28 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 29 <!-- Capture screen contents --> 30 <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" /> 31 <!-- Enable / Disable tracing !--> 32 <uses-permission android:name="android.permission.DUMP" /> 33 <!-- Run layers trace --> 34 <uses-permission android:name="android.permission.HARDWARE_TEST"/> 35 <!-- Capture screen recording --> 36 <uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"/> 37 <!-- Workaround grant runtime permission exception from b/152733071 --> 38 <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> 39 <uses-permission android:name="android.permission.READ_LOGS"/> 40 <!-- Force-stop test apps --> 41 <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/> 42 <!-- Control test app's media session --> 43 <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/> 44 <!-- ATM.removeRootTasksWithActivityTypes() --> 45 <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS" /> 46 <!-- Enable bubble notification--> 47 <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" /> 48 <!-- Allow the test to connect to perfetto trace processor --> 49 <uses-permission android:name="android.permission.INTERNET"/> 50 51 <!-- Allow the test to write directly to /sdcard/ and connect to trace processor --> 52 <application android:requestLegacyExternalStorage="true" 53 android:networkSecurityConfig="@xml/network_security_config" 54 android:largeHeap="true"> 55 <uses-library android:name="android.test.runner"/> 56 57 <service android:name=".NotificationListener" 58 android:exported="true" 59 android:label="WMShellTestsNotificationListenerService" 60 android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> 61 <intent-filter> 62 <action android:name="android.service.notification.NotificationListenerService" /> 63 </intent-filter> 64 </service> 65 66 <!-- (b/197936012) Remove startup provider due to test timeout issue --> 67 <provider 68 android:name="androidx.startup.InitializationProvider" 69 android:authorities="${applicationId}.androidx-startup" 70 tools:node="remove" /> 71 </application> 72 73 <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" 74 android:targetPackage="com.android.wm.shell.flicker.splitscreen" 75 android:label="WindowManager Flicker Tests"> 76 </instrumentation> 77</manifest> 78