1<?xml version="1.0" encoding="utf-8"?>
2<!--
3     Copyright (C) 2019 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<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18          package="com.android.car.bugreport"
19          android:versionCode="14"
20          android:versionName="1.7.3">
21
22    <uses-permission android:name="android.car.permission.ACCESS_PRIVATE_DISPLAY_ID"/>
23    <uses-permission android:name="android.car.permission.CAR_DRIVING_STATE"/>
24    <!-- Allow closing HVAC dialog when showing bugreport activity, used by
25         ACTION_CLOSE_SYSTEM_DIALOGS. -->
26    <uses-permission android:name="android.car.permission.CONTROL_CAR_CLIMATE"/>
27    <uses-permission android:name="android.permission.INTERNET"/>
28    <uses-permission android:name="android.permission.READ_LOGS"/>
29    <uses-permission android:name="android.permission.READ_FRAME_BUFFER"/>
30    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
31    <uses-permission android:name="android.permission.MANAGE_USERS"/>
32    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
33    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
34    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
35    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
36    <uses-permission android:name="android.permission.DUMP"/>
37    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
38    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
39    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
40    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"/>
41    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
42    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
43    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
44
45    <application android:label="@string/app_name"
46                 android:icon="@drawable/ic_launcher"
47                 android:requestLegacyExternalStorage="true">
48        <activity android:name=".BugReportInfoActivity"
49                  android:theme="@android:style/Theme.DeviceDefault.NoActionBar"
50                  android:exported="true"
51                  android:launchMode="singleInstance">
52            <intent-filter>
53                <action android:name="android.intent.action.MAIN"/>
54                <category android:name="android.intent.category.LAUNCHER"/>
55                <action android:name="android.intent.action.VIEW"/>
56            </intent-filter>
57        </activity>
58
59        <activity android:name=".ChoiceDialogActivity"
60            android:theme="@style/DialogWithNullBackground"
61            android:exported="true"
62            android:launchMode="singleInstance"
63            android:excludeFromRecents="true">
64            <meta-data android:name="distractionOptimized" android:value="true"/>
65            <intent-filter>
66                <action android:name="com.android.car.bugreport.action.START_BUG_REPORT" />
67                <category android:name="android.intent.category.DEFAULT" />
68                <category android:name="android.intent.category.BROWSABLE" />
69            </intent-filter>
70        </activity>
71
72        <!--
73          singleInstance allows starting bugreport dialog when BugReportInfoActivity is open.
74        -->
75        <activity android:name=".BugReportActivity"
76                  android:theme="@android:style/Theme.DeviceDefault.Dialog"
77                  android:exported="true"
78                  android:launchMode="singleInstance"
79                  android:excludeFromRecents="true">
80            <meta-data android:name="distractionOptimized" android:value="true"/>
81            <intent-filter>
82                <action android:name="com.android.car.bugreport.action.START_AUDIO_FIRST"/>
83            </intent-filter>
84        </activity>
85
86        <activity android:name=".ScreenshotActivity"
87            android:theme="@android:style/Theme.Translucent.NoTitleBar"
88            android:exported="true"
89            android:launchMode="singleInstance"
90            android:excludeFromRecents="true">
91            <meta-data android:name="distractionOptimized" android:value="true"/>
92        </activity>
93
94        <service android:name=".BugReportService"
95                 android:foregroundServiceType="specialUse"
96                 android:exported="true">
97            <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="com.android.car.bugreport" />
98            <intent-filter>
99                <action android:name="com.android.car.bugreport.action.START_AUDIO_LATER"/>
100                <!-- START_SILENT is deprecated. It's replaced with START_AUDIO_LATER. -->
101                <action android:name="com.android.car.bugreport.action.START_SILENT"/>
102            </intent-filter>
103        </service>
104
105        <service android:name=".ScreenshotService"
106            android:foregroundServiceType="specialUse"
107            android:exported="true">
108            <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="com.android.car.bugreport" />
109        </service>
110
111        <service android:name="com.android.car.bugreport.UploadJob"
112                 android:permission="android.permission.BIND_JOB_SERVICE"
113                 android:exported="false"/>
114
115        <service android:name="com.android.car.bugreport.ExpireOldBugReportsJob"
116                 android:permission="android.permission.BIND_JOB_SERVICE"
117                 android:exported="false"/>
118
119        <receiver android:name=".StartUpBootReceiver"
120                  android:enabled="true"
121                  android:exported="false">
122            <intent-filter>
123                <action android:name="android.intent.action.BOOT_COMPLETED"/>
124            </intent-filter>
125        </receiver>
126
127        <provider android:name="com.android.car.bugreport.BugStorageProvider"
128                  android:authorities="com.android.car.bugreport"
129                  android:exported="false"
130                  android:singleUser="true"
131                  android:multiprocess="false">
132        </provider>
133    </application>
134</manifest>
135