1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2015 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 xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" 20 package="com.android.traceur" 21 android:versionCode="2" 22 android:versionName="1.0"> 23 <uses-sdk android:minSdkVersion="26" 24 android:targetSdkVersion="33"/> 25 26 <!--- Used to query for Betterbug. --> 27 <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/> 28 29 <!--- Used to save ViewCapture data via LauncherAppsService. --> 30 <uses-permission android:name="android.permission.READ_FRAME_BUFFER"/> 31 32 <!-- Used to trigger the trace start/stop service. --> 33 <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/> 34 35 <!-- Used for receiving BUGREPORT_STARTED intents. --> 36 <uses-permission android:name="android.permission.DUMP"/> 37 38 <!-- Used to initialize tracing on boot. --> 39 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 40 41 <!-- Used to prevent non-system windows from displaying over Traceur. --> 42 <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/> 43 44 <!-- Used for adding the Quick Settings tile to the status bar. --> 45 <uses-permission android:name="android.permission.STATUS_BAR"/> 46 47 <!-- Used for brief periods where the trace service is foregrounded. --> 48 <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> 49 50 <!-- Used to post file-sending notification. --> 51 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> 52 53 <!-- Used to check that the current user is an admin user. --> 54 <uses-permission android:name="android.permission.QUERY_USERS" /> 55 56 <!-- Used to control IME Winscope tracing (not yet migrated to perfetto). --> 57 <uses-permission android:name="android.permission.CONTROL_UI_TRACING" /> 58 59 <!-- Used to control view capture Winscope tracing (not yet migrated to perfetto). --> 60 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 61 62 <!-- Used to get a list of apps for heap dumps. --> 63 <uses-permission android:name="android.permission.REAL_GET_TASKS" /> 64 65 <!-- Declare Android TV support. --> 66 <uses-feature android:name="android.software.leanback" 67 android:required="false"/> 68 69 <!-- touch screen is not required for TV --> 70 <uses-feature android:name="android.hardware.touchscreen" 71 android:required="false"/> 72 73 <application android:label="@string/system_tracing" 74 android:banner="@drawable/banner" 75 android:icon="@drawable/ic_launcher_settings" 76 android:backupAgent="com.android.traceur.TraceurBackupAgent"> 77 78 <activity android:name=".MainActivity" 79 android:description="@string/record_system_activity" 80 android:label="@string/system_tracing" 81 android:theme="@style/Theme.SubSettingsBase" 82 android:launchMode="singleTop" 83 android:exported="true"> 84 <intent-filter> 85 <action android:name="android.intent.action.MAIN"/> 86 <category android:name="android.intent.category.INFO"/> 87 </intent-filter> 88 <intent-filter> 89 <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/> 90 </intent-filter> 91 92 <!-- Mark this activity as a dynamic setting in the development category. --> 93 <intent-filter> 94 <action android:name="com.android.settings.action.IA_SETTINGS"/> 95 </intent-filter> 96 <meta-data android:name="com.android.settings.category" 97 android:value="com.android.settings.category.ia.development"/> 98 <meta-data android:name="com.android.settings.summary" 99 android:resource="@string/record_system_activity"/> 100 <meta-data android:name="com.android.settings.order" 101 android:value="10"/> 102 <meta-data android:name="com.android.settings.profile" 103 android:value="primary_profile_only"/> 104 </activity> 105 106 <activity android:name=".MainTvActivity" 107 android:description="@string/record_system_activity" 108 android:label="@string/system_tracing" 109 android:theme="@style/TvTheme" 110 android:launchMode="singleTop" 111 android:exported="true"> 112 <intent-filter> 113 <action android:name="android.intent.action.MAIN"/> 114 <category android:name="android.intent.category.LEANBACK_LAUNCHER"/> 115 <category android:name="android.intent.category.INFO"/> 116 </intent-filter> 117 </activity> 118 119 <activity android:name=".MainWearActivity" 120 android:description="@string/record_system_activity" 121 android:label="@string/system_tracing" 122 android:theme="@style/WearTheme" 123 android:launchMode="singleTask" 124 android:exported="true"> 125 </activity> 126 127 <activity android:name=".UserConsentActivityDialog" 128 android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert" 129 android:finishOnCloseSystemDialogs="true" 130 android:excludeFromRecents="true" 131 android:exported="false"/> 132 133 <receiver android:name=".Receiver" 134 android:permission="android.permission.DUMP" 135 androidprv:systemUserOnly="true" 136 android:exported="true"> 137 <intent-filter android:priority="2147483647"> 138 <action android:name="android.intent.action.BOOT_COMPLETED"/> 139 <action android:name="android.intent.action.USER_FOREGROUND"/> 140 <action android:name="com.android.internal.intent.action.BUGREPORT_STARTED"/> 141 </intent-filter> 142 </receiver> 143 144 <receiver android:name=".InternalReceiver" 145 androidprv:systemUserOnly="true" 146 android:exported="false"> 147 </receiver> 148 149 <service android:name=".StopTraceService" 150 android:exported="true"/> 151 152 <service android:name=".BindableTraceService" 153 android:permission="android.permission.CONTROL_UI_TRACING" 154 androidprv:systemUserOnly="true" 155 android:exported="true"/> 156 157 <service android:name=".TraceService" 158 android:exported="false"/> 159 160 <service android:name=".TracingQsService" 161 android:enabled="false" 162 android:icon="@drawable/bugfood_icon" 163 android:label="@string/record_trace" 164 android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" 165 android:exported="true"> 166 <intent-filter> 167 <action android:name="android.service.quicksettings.action.QS_TILE"/> 168 </intent-filter> 169 <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE" 170 android:value="true" /> 171 </service> 172 173 <service android:name=".StackSamplingQsService" 174 android:enabled="false" 175 android:icon="@drawable/bugfood_icon" 176 android:label="@string/record_stack_samples" 177 android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" 178 android:exported="true"> 179 <intent-filter> 180 <action android:name="android.service.quicksettings.action.QS_TILE"/> 181 </intent-filter> 182 <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE" 183 android:value="true" /> 184 </service> 185 186 <provider android:name="androidx.core.content.FileProvider" 187 android:authorities="com.android.traceur.files" 188 android:grantUriPermissions="true" 189 android:exported="false"> 190 <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 191 android:resource="@xml/file_paths"/> 192 </provider> 193 194 <provider android:name=".StorageProvider" 195 android:enabled="false" 196 android:authorities="com.android.traceur.documents" 197 android:grantUriPermissions="true" 198 android:exported="true" 199 android:permission="android.permission.MANAGE_DOCUMENTS"> 200 <intent-filter> 201 <action android:name="android.content.action.DOCUMENTS_PROVIDER"/> 202 </intent-filter> 203 </provider> 204 205 <provider android:name=".SearchProvider" 206 android:authorities="com.android.traceur" 207 android:multiprocess="false" 208 android:grantUriPermissions="true" 209 android:permission="android.permission.READ_SEARCH_INDEXABLES" 210 android:exported="true"> 211 <intent-filter> 212 <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER"/> 213 </intent-filter> 214 </provider> 215 </application> 216</manifest> 217