blob: 6d105ac4fc80f03ae41f661854bb8ca7a3926801 [file] [log] [blame]
Sunny Goyald83a67a2016-05-23 21:40:53 -07001<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4**
5** Copyright 2016, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11** http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20<manifest
21 xmlns:android="http://schemas.android.com/apk/res/android"
22 package="com.android.launcher3">
Sunny Goyald83a67a2016-05-23 21:40:53 -070023
24 <!--
25 The manifest defines the common entries that should be present in any derivative of Launcher3.
26 The components should generally not require any changes.
27
28 Rest of the components are defined in AndroidManifest.xml which is merged with this manifest
29 at compile time. Note that the components defined in AndroidManifest.xml are also required,
30 with some minor changed based on the derivative app.
31 -->
32 <permission
33 android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
34 android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
35 android:protectionLevel="dangerous"
36 android:label="@string/permlab_install_shortcut"
37 android:description="@string/permdesc_install_shortcut" />
38
39 <uses-permission android:name="android.permission.CALL_PHONE" />
40 <uses-permission android:name="android.permission.SET_WALLPAPER" />
41 <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
42 <uses-permission android:name="android.permission.BIND_APPWIDGET" />
43 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
44 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Jon Miranda94fe9fa2017-09-05 13:38:07 -070045 <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
Hyunyoung Song2dac6f82019-08-16 10:16:39 -070046 <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
Patrick Baumannca169112020-02-14 10:32:39 -080047 <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
Sunny Goyald83a67a2016-05-23 21:40:53 -070048
Sunny Goyal7f920b82018-06-27 15:47:49 -070049
50 <!--
51 Permissions required for read/write access to the workspace data. These permission name
52 should not conflict with that defined in other apps, as such an app should embed its package
53 name in the permissions. eq com.mypackage.permission.READ_SETTINGS
54 -->
55 <permission
56 android:name="${packageName}.permission.READ_SETTINGS"
57 android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
58 android:protectionLevel="signatureOrSystem"
59 android:label="@string/permlab_read_settings"
60 android:description="@string/permdesc_read_settings"/>
61 <permission
62 android:name="${packageName}.permission.WRITE_SETTINGS"
63 android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
64 android:protectionLevel="signatureOrSystem"
65 android:label="@string/permlab_write_settings"
66 android:description="@string/permdesc_write_settings"/>
67
68 <uses-permission android:name="${packageName}.permission.READ_SETTINGS" />
69 <uses-permission android:name="${packageName}.permission.WRITE_SETTINGS" />
70
Sunny Goyald83a67a2016-05-23 21:40:53 -070071 <application
72 android:backupAgent="com.android.launcher3.LauncherBackupAgent"
73 android:fullBackupOnly="true"
Sunny Goyal3bba1682016-08-19 13:13:03 -070074 android:backupInForeground="true"
Sunny Goyald83a67a2016-05-23 21:40:53 -070075 android:fullBackupContent="@xml/backupscheme"
76 android:hardwareAccelerated="true"
Hyunyoung Song837eb1f2017-03-03 11:14:05 -080077 android:icon="@drawable/ic_launcher_home"
Sunny Goyal112ce422016-08-22 16:45:29 -070078 android:label="@string/derived_app_name"
Sunny Goyald83a67a2016-05-23 21:40:53 -070079 android:largeHeap="@bool/config_largeHeap"
80 android:restoreAnyVersion="true"
81 android:supportsRtl="true" >
82
83 <!-- Intent received used to install shortcuts from other applications -->
84 <receiver
85 android:name="com.android.launcher3.InstallShortcutReceiver"
Sunny Goyal4179e9b2017-03-08 14:25:09 -080086 android:permission="com.android.launcher.permission.INSTALL_SHORTCUT"
87 android:enabled="@bool/enable_install_shortcut_api" >
Sunny Goyald83a67a2016-05-23 21:40:53 -070088 <intent-filter>
89 <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
90 </intent-filter>
91 </receiver>
92
Sunny Goyal4179e9b2017-03-08 14:25:09 -080093 <!-- Intent received when a session is committed -->
94 <receiver
95 android:name="com.android.launcher3.SessionCommitReceiver" >
96 <intent-filter>
97 <action android:name="android.content.pm.action.SESSION_COMMITTED" />
98 </intent-filter>
99 </receiver>
100
Sunny Goyald83a67a2016-05-23 21:40:53 -0700101 <!-- Intent received used to initialize a restored widget -->
102 <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver" >
103 <intent-filter>
104 <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED"/>
105 </intent-filter>
106 </receiver>
107
Sunny Goyal3e93ec52017-05-23 14:00:32 -0700108 <service
Sunny Goyal18c699f2018-05-03 16:58:41 -0700109 android:name="com.android.launcher3.uioverrides.dynamicui.WallpaperManagerCompatVL$ColorExtractionService"
Sunny Goyal3e93ec52017-05-23 14:00:32 -0700110 android:exported="false"
Sunny Goyal82315962017-06-08 14:27:49 -0700111 android:process=":wallpaper_chooser"
112 android:permission="android.permission.BIND_JOB_SERVICE" />
Sunny Goyal3e93ec52017-05-23 14:00:32 -0700113
Sunny Goyalc466b172018-03-01 16:10:19 -0800114 <service
115 android:name="com.android.launcher3.notification.NotificationListener"
Tony Wickhamf34bee82018-12-03 18:11:39 -0800116 android:label="@string/notification_dots_service_title"
117 android:enabled="@bool/notification_dots_enabled"
Sunny Goyalc466b172018-03-01 16:10:19 -0800118 android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
Tony4d8019a2017-02-13 07:44:01 -0800119 <intent-filter>
120 <action android:name="android.service.notification.NotificationListenerService" />
121 </intent-filter>
122 </service>
123
Sunny Goyald83a67a2016-05-23 21:40:53 -0700124 <meta-data android:name="android.nfc.disable_beam_default"
125 android:value="true" />
126
Sunny Goyal27835952017-01-13 12:15:53 -0800127 <activity android:name="com.android.launcher3.dragndrop.AddItemActivity"
Sunny Goyal367f2192018-10-17 11:24:48 -0700128 android:theme="@style/AppItemActivityTheme"
Sunny Goyalb38fab72017-01-20 19:32:31 -0800129 android:excludeFromRecents="true"
130 android:autoRemoveFromRecents="true"
Sunny Goyal27835952017-01-13 12:15:53 -0800131 android:label="@string/action_add_to_workspace" >
132 <intent-filter>
Sunny Goyal8b2002e2017-01-26 14:40:10 -0800133 <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT" />
134 <action android:name="android.content.pm.action.CONFIRM_PIN_APPWIDGET" />
Sunny Goyal27835952017-01-13 12:15:53 -0800135 </intent-filter>
136 </activity>
137
Hyunyoung Song37fa9b42017-05-04 15:21:20 -0700138 <!--
139 Should point to the content provider which can be used to dump Launcher3 compatible
140 worspace configuration to the dump's file descriptor by using launcher_dump.proto
141 -->
142 <meta-data
143 android:name="com.android.launcher3.launcher_dump_provider"
144 android:value="com.android.launcher3.LauncherProvider" />
145
Sunny Goyal7f920b82018-06-27 15:47:49 -0700146 <!--
147 The settings provider contains Home's data, like the workspace favorites. The permissions
148 should be changed to what is defined above. The authorities should also be changed to
149 represent the package name.
150 -->
151 <provider
152 android:name="com.android.launcher3.LauncherProvider"
153 android:authorities="${packageName}.settings"
154 android:exported="true"
155 android:writePermission="${packageName}.permission.WRITE_SETTINGS"
156 android:readPermission="${packageName}.permission.READ_SETTINGS" />
157
158 <!--
Sunny Goyaleff44f32019-01-09 17:29:49 -0800159 The content provider for exposing various launcher grid options.
160 TODO: Add proper permissions
Hyunyoung Song58de5de2019-05-15 14:01:30 -0700161 -->
Sunny Goyaleff44f32019-01-09 17:29:49 -0800162 <provider
163 android:name="com.android.launcher3.graphics.GridOptionsProvider"
164 android:authorities="${packageName}.grid_control"
Hyunyoung Song58de5de2019-05-15 14:01:30 -0700165 android:enabled="false"
Sunny Goyaleff44f32019-01-09 17:29:49 -0800166 android:exported="true" />
167
168 <!--
Sunny Goyal7f920b82018-06-27 15:47:49 -0700169 The settings activity. To extend point settings_fragment_name to appropriate fragment class
170 -->
171 <activity
Sunny Goyalb2498b22018-10-16 16:36:02 -0700172 android:name="com.android.launcher3.settings.SettingsActivity"
Sunny Goyal7f920b82018-06-27 15:47:49 -0700173 android:label="@string/settings_button_text"
Samuel Fufa9fee0452019-11-12 16:49:21 -0800174 android:theme="@style/HomeSettingsTheme"
Sunny Goyal7f920b82018-06-27 15:47:49 -0700175 android:autoRemoveFromRecents="true">
176 <intent-filter>
177 <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
178 <category android:name="android.intent.category.DEFAULT" />
179 </intent-filter>
180 </activity>
181
Sunny Goyalab3963d2019-05-23 00:50:08 -0700182 <provider
183 android:name="com.android.launcher3.testing.TestInformationProvider"
184 android:authorities="${packageName}.TestInfo"
185 android:readPermission="android.permission.WRITE_SECURE_SETTINGS"
186 android:writePermission="android.permission.WRITE_SECURE_SETTINGS"
187 android:exported="true"
188 android:enabled="false" />
Sunny Goyal9c2b9602020-01-07 13:07:55 -0800189
190 <!--
191 Launcher activity for secondary display
192 -->
193 <activity
194 android:name="com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher"
195 android:theme="@style/AppTheme"
196 android:launchMode="singleTop"
197 android:enabled="true">
198 <intent-filter>
199 <action android:name="android.intent.action.MAIN" />
200 <category android:name="android.intent.category.SECONDARY_HOME" />
201 <category android:name="android.intent.category.DEFAULT" />
202 </intent-filter>
203 </activity>
Sunny Goyald83a67a2016-05-23 21:40:53 -0700204 </application>
205</manifest>