blob: 14605d80533bad4cf8dd19449411358e852da6b9 [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"
Alan Viverettea88802e2021-08-25 22:06:47 +000022 xmlns:tools="http://schemas.android.com/tools"
Sunny Goyald83a67a2016-05-23 21:40:53 -070023 package="com.android.launcher3">
Sunny Goyald83a67a2016-05-23 21:40:53 -070024
25 <!--
26 The manifest defines the common entries that should be present in any derivative of Launcher3.
27 The components should generally not require any changes.
28
29 Rest of the components are defined in AndroidManifest.xml which is merged with this manifest
30 at compile time. Note that the components defined in AndroidManifest.xml are also required,
31 with some minor changed based on the derivative app.
32 -->
Sunny Goyald83a67a2016-05-23 21:40:53 -070033
34 <uses-permission android:name="android.permission.CALL_PHONE" />
35 <uses-permission android:name="android.permission.SET_WALLPAPER" />
36 <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
37 <uses-permission android:name="android.permission.BIND_APPWIDGET" />
38 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
39 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Jon Miranda94fe9fa2017-09-05 13:38:07 -070040 <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
Hyunyoung Song2dac6f82019-08-16 10:16:39 -070041 <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
Patrick Baumannca169112020-02-14 10:32:39 -080042 <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
Brandon Dayauon12c193e2022-10-31 14:28:38 -070043 <uses-permission android:name="android.permission.VIBRATE"/>
Hongwei Wangf4b60d52020-11-17 15:57:38 -080044 <!-- for rotating surface by arbitrary degree -->
45 <uses-permission android:name="android.permission.ROTATE_SURFACE_FLINGER" />
Vishnu Nair7b3eb352022-12-01 17:21:15 -080046 <uses-permission android:name="android.permission.WAKEUP_SURFACE_FLINGER" />
Steve Elliott43c2c6c2021-12-03 16:32:19 -050047 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
Pinyao Ting0bae1f52022-10-31 10:51:31 -070048
Sunny Goyal7f920b82018-06-27 15:47:49 -070049 <!--
50 Permissions required for read/write access to the workspace data. These permission name
51 should not conflict with that defined in other apps, as such an app should embed its package
52 name in the permissions. eq com.mypackage.permission.READ_SETTINGS
53 -->
54 <permission
55 android:name="${packageName}.permission.READ_SETTINGS"
Sunny Goyal7f920b82018-06-27 15:47:49 -070056 android:protectionLevel="signatureOrSystem"
57 android:label="@string/permlab_read_settings"
58 android:description="@string/permdesc_read_settings"/>
59 <permission
60 android:name="${packageName}.permission.WRITE_SETTINGS"
Sunny Goyal7f920b82018-06-27 15:47:49 -070061 android:protectionLevel="signatureOrSystem"
62 android:label="@string/permlab_write_settings"
63 android:description="@string/permdesc_write_settings"/>
64
65 <uses-permission android:name="${packageName}.permission.READ_SETTINGS" />
66 <uses-permission android:name="${packageName}.permission.WRITE_SETTINGS" />
67
Sunny Goyald83a67a2016-05-23 21:40:53 -070068 <application
69 android:backupAgent="com.android.launcher3.LauncherBackupAgent"
70 android:fullBackupOnly="true"
Sunny Goyal3bba1682016-08-19 13:13:03 -070071 android:backupInForeground="true"
Sunny Goyald83a67a2016-05-23 21:40:53 -070072 android:fullBackupContent="@xml/backupscheme"
73 android:hardwareAccelerated="true"
Hyunyoung Song837eb1f2017-03-03 11:14:05 -080074 android:icon="@drawable/ic_launcher_home"
Sunny Goyal112ce422016-08-22 16:45:29 -070075 android:label="@string/derived_app_name"
Sunny Goyald83a67a2016-05-23 21:40:53 -070076 android:largeHeap="@bool/config_largeHeap"
77 android:restoreAnyVersion="true"
78 android:supportsRtl="true" >
79
Sunny Goyal4179e9b2017-03-08 14:25:09 -080080 <!-- Intent received when a session is committed -->
81 <receiver
Ashwini Orugantiaa902e82020-06-04 17:47:09 -070082 android:name="com.android.launcher3.SessionCommitReceiver"
83 android:exported="true">
Sunny Goyal4179e9b2017-03-08 14:25:09 -080084 <intent-filter>
85 <action android:name="android.content.pm.action.SESSION_COMMITTED" />
86 </intent-filter>
87 </receiver>
88
Sunny Goyald83a67a2016-05-23 21:40:53 -070089 <!-- Intent received used to initialize a restored widget -->
Ashwini Orugantiaa902e82020-06-04 17:47:09 -070090 <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver"
91 android:exported="true">
Sunny Goyald83a67a2016-05-23 21:40:53 -070092 <intent-filter>
93 <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED"/>
94 </intent-filter>
95 </receiver>
96
Sunny Goyal3e93ec52017-05-23 14:00:32 -070097 <service
Sunny Goyalc466b172018-03-01 16:10:19 -080098 android:name="com.android.launcher3.notification.NotificationListener"
Tony Wickhamf34bee82018-12-03 18:11:39 -080099 android:label="@string/notification_dots_service_title"
Ashwini Orugantiaa902e82020-06-04 17:47:09 -0700100 android:exported="true"
Sunny Goyalc466b172018-03-01 16:10:19 -0800101 android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
Tony4d8019a2017-02-13 07:44:01 -0800102 <intent-filter>
103 <action android:name="android.service.notification.NotificationListenerService" />
104 </intent-filter>
105 </service>
106
Sunny Goyald83a67a2016-05-23 21:40:53 -0700107 <meta-data android:name="android.nfc.disable_beam_default"
108 android:value="true" />
109
Sunny Goyal27835952017-01-13 12:15:53 -0800110 <activity android:name="com.android.launcher3.dragndrop.AddItemActivity"
Alina Zaidid80cec62021-05-13 14:13:18 +0100111 android:theme="@style/AddItemActivityTheme"
Sunny Goyalb38fab72017-01-20 19:32:31 -0800112 android:excludeFromRecents="true"
113 android:autoRemoveFromRecents="true"
Alina Zaidi6d97d892021-03-22 10:06:25 +0000114 android:exported="true">
Sunny Goyal27835952017-01-13 12:15:53 -0800115 <intent-filter>
Sunny Goyal8b2002e2017-01-26 14:40:10 -0800116 <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT" />
117 <action android:name="android.content.pm.action.CONFIRM_PIN_APPWIDGET" />
Sunny Goyal27835952017-01-13 12:15:53 -0800118 </intent-filter>
119 </activity>
120
Hyunyoung Song37fa9b42017-05-04 15:21:20 -0700121 <!--
Sunny Goyal7f920b82018-06-27 15:47:49 -0700122 The settings provider contains Home's data, like the workspace favorites. The permissions
123 should be changed to what is defined above. The authorities should also be changed to
124 represent the package name.
125 -->
126 <provider
127 android:name="com.android.launcher3.LauncherProvider"
128 android:authorities="${packageName}.settings"
129 android:exported="true"
130 android:writePermission="${packageName}.permission.WRITE_SETTINGS"
131 android:readPermission="${packageName}.permission.READ_SETTINGS" />
132
133 <!--
Sunny Goyaleff44f32019-01-09 17:29:49 -0800134 The content provider for exposing various launcher grid options.
135 TODO: Add proper permissions
Hyunyoung Song58de5de2019-05-15 14:01:30 -0700136 -->
Sunny Goyaleff44f32019-01-09 17:29:49 -0800137 <provider
Tracy Zhou0455d142021-01-27 14:05:01 -0800138 android:name="com.android.launcher3.graphics.GridCustomizationsProvider"
Sunny Goyaleff44f32019-01-09 17:29:49 -0800139 android:authorities="${packageName}.grid_control"
140 android:exported="true" />
141
142 <!--
Sunny Goyal7f920b82018-06-27 15:47:49 -0700143 The settings activity. To extend point settings_fragment_name to appropriate fragment class
144 -->
145 <activity
Sunny Goyalb2498b22018-10-16 16:36:02 -0700146 android:name="com.android.launcher3.settings.SettingsActivity"
Sunny Goyal7f920b82018-06-27 15:47:49 -0700147 android:label="@string/settings_button_text"
Brian Isganitis93031bc2021-06-09 16:34:45 -0400148 android:theme="@style/HomeSettings.Theme"
Ashwini Orugantiaa902e82020-06-04 17:47:09 -0700149 android:exported="true"
Sunny Goyal7f920b82018-06-27 15:47:49 -0700150 android:autoRemoveFromRecents="true">
151 <intent-filter>
152 <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
153 <category android:name="android.intent.category.DEFAULT" />
154 </intent-filter>
155 </activity>
156
Sunny Goyalab3963d2019-05-23 00:50:08 -0700157 <provider
158 android:name="com.android.launcher3.testing.TestInformationProvider"
159 android:authorities="${packageName}.TestInfo"
160 android:readPermission="android.permission.WRITE_SECURE_SETTINGS"
161 android:writePermission="android.permission.WRITE_SECURE_SETTINGS"
162 android:exported="true"
163 android:enabled="false" />
Sunny Goyal9c2b9602020-01-07 13:07:55 -0800164
165 <!--
166 Launcher activity for secondary display
167 -->
168 <activity
169 android:name="com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher"
170 android:theme="@style/AppTheme"
171 android:launchMode="singleTop"
Ashwini Orugantiaa902e82020-06-04 17:47:09 -0700172 android:exported="true"
Sunny Goyal9c2b9602020-01-07 13:07:55 -0800173 android:enabled="true">
174 <intent-filter>
175 <action android:name="android.intent.action.MAIN" />
176 <category android:name="android.intent.category.SECONDARY_HOME" />
177 <category android:name="android.intent.category.DEFAULT" />
178 </intent-filter>
179 </activity>
Alan Viverettea88802e2021-08-25 22:06:47 +0000180
181 <!-- [b/197780098] Disable eager initialization of Jetpack libraries. -->
182 <provider
183 android:name="androidx.startup.InitializationProvider"
184 android:authorities="${applicationId}.androidx-startup"
185 tools:node="remove" />
Sunny Goyald83a67a2016-05-23 21:40:53 -0700186 </application>
187</manifest>