xref: /aosp_15_r20/frameworks/base/packages/PrintSpooler/AndroidManifest.xml (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (c) 2013 Google Inc.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18-->
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20    package="com.android.printspooler">
21
22    <!-- Allows an application to call APIs that give it access to all print jobs
23         on the device. Usually an app can access only the print jobs it created. -->
24    <permission
25        android:name="com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS"
26        android:protectionLevel="signature" />
27
28    <!-- May be required by the settings and add printer activities of a
29         print service if the developer wants only trusted system code to
30         be able to launch these activities. -->
31    <permission android:name="android.permission.START_PRINT_SERVICE_CONFIG_ACTIVITY"
32        android:protectionLevel="signature" />
33
34    <uses-permission android:name="com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS"/>
35    <uses-permission android:name="android.permission.WAKE_LOCK"/>
36    <uses-permission android:name="android.permission.START_PRINT_SERVICE_CONFIG_ACTIVITY"/>
37    <uses-permission android:name="android.permission.READ_PRINT_SERVICES" />
38    <uses-permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS" />
39    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
40
41    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
42    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
43    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
44
45    <application
46        android:allowClearUserData="true"
47        android:label="@string/app_label"
48        android:icon="@drawable/ic_app_icon"
49        android:supportsRtl="true">
50
51        <service
52            android:name=".model.PrintSpoolerService"
53            android:exported="true"
54            android:permission="android.permission.BIND_PRINT_SPOOLER_SERVICE">
55        </service>
56
57        <service
58            android:name=".renderer.PdfManipulationService"
59            android:isolatedProcess="true"
60            android:process=":renderer">
61        </service>
62
63        <activity
64            android:name=".ui.PrintActivity"
65            android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
66            android:permission="android.permission.BIND_PRINT_SPOOLER_SERVICE"
67            android:theme="@style/Theme.PrintActivity"
68            android:enableOnBackInvokedCallback="true"
69            android:exported="true">
70            <intent-filter>
71                <action android:name="android.print.PRINT_DIALOG" />
72                <category android:name="android.intent.category.DEFAULT" />
73                <data android:scheme="printjob" android:pathPattern="*" />
74            </intent-filter>
75        </activity>
76
77        <activity
78            android:name=".ui.SelectPrinterActivity"
79            android:label="@string/all_printers_label"
80            android:theme="@style/Theme.SelectPrinterActivity"
81            android:parentActivityName=".ui.PrintActivity"
82            android:exported="false">
83        </activity>
84
85        <activity
86            android:name=".ui.AddPrinterActivity"
87            android:label="@string/print_add_printer"
88            android:theme="@style/Theme.AddPrinterActivity"
89            android:parentActivityName=".ui.SelectPrinterActivity"
90            android:exported="false">
91        </activity>
92
93        <receiver
94            android:name=".model.NotificationController$NotificationBroadcastReceiver"
95            android:exported="false" >
96        </receiver>
97
98    </application>
99
100</manifest>
101