• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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