blob: d747bb88557456339aa958084e78d5608c26de54 [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"
74 android:fullBackupContent="@xml/backupscheme"
75 android:hardwareAccelerated="true"
Hyunyoung Song837eb1f2017-03-03 11:14:05 -080076 android:icon="@drawable/ic_launcher_home"
Sunny Goyal112ce422016-08-22 16:45:29 -070077 android:label="@string/derived_app_name"
Sunny Goyald83a67a2016-05-23 21:40:53 -070078 android:largeHeap="@bool/config_largeHeap"
79 android:restoreAnyVersion="true"
80 android:supportsRtl="true" >
81
82 <!-- Intent received used to install shortcuts from other applications -->
83 <receiver
84 android:name="com.android.launcher3.InstallShortcutReceiver"
Sunny Goyal4179e9b2017-03-08 14:25:09 -080085 android:permission="com.android.launcher.permission.INSTALL_SHORTCUT"
86 android:enabled="@bool/enable_install_shortcut_api" >
Sunny Goyald83a67a2016-05-23 21:40:53 -070087 <intent-filter>
88 <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
89 </intent-filter>
90 </receiver>
91
Sunny Goyal4179e9b2017-03-08 14:25:09 -080092 <!-- Intent received when a session is committed -->
93 <receiver
94 android:name="com.android.launcher3.SessionCommitReceiver" >
95 <intent-filter>
96 <action android:name="android.content.pm.action.SESSION_COMMITTED" />
97 </intent-filter>
98 </receiver>
99
Sunny Goyald83a67a2016-05-23 21:40:53 -0700100 <!-- Intent received used to initialize a restored widget -->
101 <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver" >
102 <intent-filter>
103 <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED"/>
104 </intent-filter>
105 </receiver>
106
Sunny Goyal3e93ec52017-05-23 14:00:32 -0700107 <service
Sunny Goyal18c699f2018-05-03 16:58:41 -0700108 android:name="com.android.launcher3.uioverrides.dynamicui.WallpaperManagerCompatVL$ColorExtractionService"
Sunny Goyal3e93ec52017-05-23 14:00:32 -0700109 android:exported="false"
Sunny Goyal82315962017-06-08 14:27:49 -0700110 android:process=":wallpaper_chooser"
111 android:permission="android.permission.BIND_JOB_SERVICE" />
Sunny Goyal3e93ec52017-05-23 14:00:32 -0700112
Sunny Goyalc466b172018-03-01 16:10:19 -0800113 <service
114 android:name="com.android.launcher3.notification.NotificationListener"
Tony Wickhamf34bee82018-12-03 18:11:39 -0800115 android:label="@string/notification_dots_service_title"
116 android:enabled="@bool/notification_dots_enabled"
Sunny Goyalc466b172018-03-01 16:10:19 -0800117 android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
Tony4d8019a2017-02-13 07:44:01 -0800118 <intent-filter>
119 <action android:name="android.service.notification.NotificationListenerService" />
120 </intent-filter>
121 </service>
122
Sunny Goyald83a67a2016-05-23 21:40:53 -0700123 <meta-data android:name="android.nfc.disable_beam_default"
124 android:value="true" />
125
Sunny Goyal27835952017-01-13 12:15:53 -0800126 <activity android:name="com.android.launcher3.dragndrop.AddItemActivity"
Sunny Goyal367f2192018-10-17 11:24:48 -0700127 android:theme="@style/AppItemActivityTheme"
Sunny Goyalb38fab72017-01-20 19:32:31 -0800128 android:excludeFromRecents="true"
129 android:autoRemoveFromRecents="true"
Sunny Goyal27835952017-01-13 12:15:53 -0800130 android:label="@string/action_add_to_workspace" >
131 <intent-filter>
Sunny Goyal8b2002e2017-01-26 14:40:10 -0800132 <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT" />
133 <action android:name="android.content.pm.action.CONFIRM_PIN_APPWIDGET" />
Sunny Goyal27835952017-01-13 12:15:53 -0800134 </intent-filter>
135 </activity>
136
Hyunyoung Song37fa9b42017-05-04 15:21:20 -0700137 <!--
138 Should point to the content provider which can be used to dump Launcher3 compatible
139 worspace configuration to the dump's file descriptor by using launcher_dump.proto
140 -->
141 <meta-data
142 android:name="com.android.launcher3.launcher_dump_provider"
143 android:value="com.android.launcher3.LauncherProvider" />
144
Sunny Goyal7f920b82018-06-27 15:47:49 -0700145 <!--
146 The settings provider contains Home's data, like the workspace favorites. The permissions
147 should be changed to what is defined above. The authorities should also be changed to
148 represent the package name.
149 -->
150 <provider
151 android:name="com.android.launcher3.LauncherProvider"
152 android:authorities="${packageName}.settings"
153 android:exported="true"
154 android:writePermission="${packageName}.permission.WRITE_SETTINGS"
155 android:readPermission="${packageName}.permission.READ_SETTINGS" />
156
157 <!--
Sunny Goyaleff44f32019-01-09 17:29:49 -0800158 The content provider for exposing various launcher grid options.
159 TODO: Add proper permissions
Hyunyoung Song58de5de2019-05-15 14:01:30 -0700160 -->
Sunny Goyaleff44f32019-01-09 17:29:49 -0800161 <provider
162 android:name="com.android.launcher3.graphics.GridOptionsProvider"
163 android:authorities="${packageName}.grid_control"
Hyunyoung Song58de5de2019-05-15 14:01:30 -0700164 android:enabled="false"
Sunny Goyaleff44f32019-01-09 17:29:49 -0800165 android:exported="true" />
166
167 <!--
Sunny Goyal7f920b82018-06-27 15:47:49 -0700168 The settings activity. To extend point settings_fragment_name to appropriate fragment class
169 -->
170 <activity
Sunny Goyalb2498b22018-10-16 16:36:02 -0700171 android:name="com.android.launcher3.settings.SettingsActivity"
Sunny Goyal7f920b82018-06-27 15:47:49 -0700172 android:label="@string/settings_button_text"
Samuel Fufa9fee0452019-11-12 16:49:21 -0800173 android:theme="@style/HomeSettingsTheme"
Sunny Goyal7f920b82018-06-27 15:47:49 -0700174 android:autoRemoveFromRecents="true">
175 <intent-filter>
176 <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
177 <category android:name="android.intent.category.DEFAULT" />
178 </intent-filter>
179 </activity>
180
Sunny Goyalab3963d2019-05-23 00:50:08 -0700181 <provider
182 android:name="com.android.launcher3.testing.TestInformationProvider"
183 android:authorities="${packageName}.TestInfo"
184 android:readPermission="android.permission.WRITE_SECURE_SETTINGS"
185 android:writePermission="android.permission.WRITE_SECURE_SETTINGS"
186 android:exported="true"
187 android:enabled="false" />
Sunny Goyal9c2b9602020-01-07 13:07:55 -0800188
189 <!--
190 Launcher activity for secondary display
191 -->
192 <activity
193 android:name="com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher"
194 android:theme="@style/AppTheme"
195 android:launchMode="singleTop"
196 android:enabled="true">
197 <intent-filter>
198 <action android:name="android.intent.action.MAIN" />
199 <category android:name="android.intent.category.SECONDARY_HOME" />
200 <category android:name="android.intent.category.DEFAULT" />
201 </intent-filter>
202 </activity>
Sunny Goyald83a67a2016-05-23 21:40:53 -0700203 </application>
204</manifest>