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="29"/>
25
26    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
27
28    <!-- Used for adding the Quick Settings tile to the status bar. -->
29    <uses-permission android:name="android.permission.STATUS_BAR"/>
30
31    <!-- Used for brief periods where the trace service is foregrounded. -->
32    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
33
34    <!-- Declare Android TV support. -->
35    <uses-feature android:name="android.software.leanback"
36         android:required="false"/>
37
38    <!-- touch screen is not required for TV -->
39    <uses-feature android:name="android.hardware.touchscreen"
40         android:required="false"/>
41
42    <application android:label="@string/system_tracing"
43         android:banner="@drawable/banner">
44
45        <activity android:name=".MainActivity"
46             android:description="@string/record_system_activity"
47             android:label="@string/system_tracing"
48             android:theme="@style/Theme.Settings"
49             android:launchMode="singleTask"
50             android:exported="true">
51            <intent-filter>
52                <action android:name="android.intent.action.MAIN"/>
53                <category android:name="android.intent.category.INFO"/>
54            </intent-filter>
55            <intent-filter>
56                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/>
57            </intent-filter>
58
59            <!-- Mark this activity as a dynamic setting in the development category. -->
60            <intent-filter>
61                <action android:name="com.android.settings.action.IA_SETTINGS"/>
62            </intent-filter>
63            <meta-data android:name="com.android.settings.category"
64                 android:value="com.android.settings.category.ia.development"/>
65            <meta-data android:name="com.android.settings.summary"
66                 android:resource="@string/record_system_activity"/>
67            <meta-data android:name="com.android.settings.order"
68                 android:value="10"/>
69            <meta-data android:name="com.android.settings.profile"
70                 android:value="primary_profile_only"/>
71        </activity>
72
73        <activity android:name=".MainTvActivity"
74             android:description="@string/record_system_activity"
75             android:label="@string/system_tracing"
76             android:theme="@style/TvTheme"
77             android:launchMode="singleTask"
78             android:exported="true">
79            <intent-filter>
80                <action android:name="android.intent.action.MAIN"/>
81                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
82                <category android:name="android.intent.category.INFO"/>
83            </intent-filter>
84        </activity>
85
86        <activity android:name=".UserConsentActivityDialog"
87             android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
88             android:finishOnCloseSystemDialogs="true"
89             android:excludeFromRecents="true"
90             android:exported="false"/>
91
92        <receiver android:name=".Receiver"
93             android:permission="android.permission.DUMP"
94             androidprv:systemUserOnly="true"
95             android:exported="true">
96            <intent-filter android:priority="2147483647">
97                <action android:name="android.intent.action.BOOT_COMPLETED"/>
98            </intent-filter>
99        </receiver>
100
101        <service android:name=".StopTraceService"
102             android:exported="true"/>
103
104        <service android:name=".TraceService"
105             android:exported="false"/>
106
107        <service android:name=".QsService"
108             android:enabled="false"
109             android:icon="@drawable/bugfood_icon"
110             android:label="@string/record_trace"
111             android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
112             android:exported="true">
113            <intent-filter>
114                <action android:name="android.service.quicksettings.action.QS_TILE"/>
115            </intent-filter>
116        </service>
117
118        <provider android:name="androidx.core.content.FileProvider"
119             android:authorities="com.android.traceur.files"
120             android:grantUriPermissions="true"
121             android:exported="false">
122            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
123                 android:resource="@xml/file_paths"/>
124        </provider>
125
126        <provider android:name=".StorageProvider"
127             android:enabled="false"
128             android:authorities="com.android.traceur.documents"
129             android:grantUriPermissions="true"
130             android:exported="true"
131             android:permission="android.permission.MANAGE_DOCUMENTS">
132            <intent-filter>
133              <action android:name="android.content.action.DOCUMENTS_PROVIDER"/>
134            </intent-filter>
135        </provider>
136
137        <provider android:name=".SearchProvider"
138             android:authorities="com.android.traceur"
139             android:multiprocess="false"
140             android:grantUriPermissions="true"
141             android:permission="android.permission.READ_SEARCH_INDEXABLES"
142             android:exported="true">
143            <intent-filter>
144                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER"/>
145            </intent-filter>
146        </provider>
147    </application>
148</manifest>
149