1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4**
5** Copyright 2017, 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
21<manifest xmlns:android="http://schemas.android.com/apk/res/android"
22     xmlns:tools="http://schemas.android.com/tools"
23     package="com.android.launcher3">
24
25    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
26    <uses-permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"/>
27    <uses-permission android:name="android.permission.VIBRATE"/>
28    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
29    <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS"/>
30    <uses-permission android:name="android.permission.REMOVE_TASKS"/>
31    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
32    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"/>
33    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"/>
34    <uses-permission android:name="android.permission.STATUS_BAR"/>
35    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE"/>
36    <uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>
37    <uses-permission android:name="android.permission.SET_ORIENTATION"/>
38    <uses-permission android:name="android.permission.READ_FRAME_BUFFER"/>
39    <uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY"/>
40    <uses-permission android:name="android.permission.MONITOR_INPUT"/>
41    <uses-permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"/>
42    <uses-permission android:name="android.permission.ACCESS_SHORTCUTS"/>
43
44    <uses-permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY" />
45
46    <!--
47    Permission required to access profiles which are otherwise hidden
48    from being visible via APIs, e.g. private profile.
49    -->
50    <uses-permission android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL" />
51
52    <!-- Permission required to start a WidgetPickerActivity. -->
53    <permission android:name="${applicationId}.permission.START_WIDGET_PICKER_ACTIVITY"
54        android:protectionLevel="signature|privileged" />
55
56    <application android:backupAgent="com.android.launcher3.LauncherBackupAgent"
57         android:enableOnBackInvokedCallback="true"
58         android:fullBackupOnly="true"
59         android:fullBackupContent="@xml/backupscheme"
60         android:hardwareAccelerated="true"
61         android:icon="@drawable/ic_launcher_home"
62         android:label="@string/derived_app_name"
63         android:theme="@style/AppTheme"
64         android:largeHeap="@bool/config_largeHeap"
65         android:restoreAnyVersion="true"
66         android:supportsRtl="true">
67
68        <service android:name="com.android.quickstep.TouchInteractionService"
69             android:permission="android.permission.STATUS_BAR_SERVICE"
70             android:directBootAware="true"
71             android:exported="true">
72            <intent-filter>
73                <action android:name="android.intent.action.QUICKSTEP_SERVICE"/>
74            </intent-filter>
75        </service>
76
77        <activity android:name="com.android.quickstep.RecentsActivity"
78             android:excludeFromRecents="true"
79             android:launchMode="singleTask"
80             android:clearTaskOnLaunch="true"
81             android:stateNotNeeded="true"
82             android:theme="@style/LauncherTheme"
83             android:screenOrientation="behind"
84             android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
85             android:resizeableActivity="true"
86             android:resumeWhilePausing="true"
87             android:enableOnBackInvokedCallback="false"
88             android:taskAffinity=""/>
89
90        <!-- Content provider to settings search. The autority should be same as the packageName -->
91        <provider android:name="com.android.quickstep.LauncherSearchIndexablesProvider"
92             android:authorities="${applicationId}"
93             android:grantUriPermissions="true"
94             android:multiprocess="true"
95             android:permission="android.permission.READ_SEARCH_INDEXABLES"
96             android:exported="true">
97            <intent-filter>
98                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER"/>
99            </intent-filter>
100        </provider>
101
102        <!-- FileProvider used for sharing images. -->
103        <provider android:name="androidx.core.content.FileProvider"
104             android:authorities="${applicationId}.overview.fileprovider"
105             android:exported="false"
106             android:grantUriPermissions="true">
107            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
108                 android:resource="@xml/overview_file_provider_paths"/>
109        </provider>
110
111        <activity android:name="com.android.launcher3.proxy.ProxyActivityStarter"
112            android:theme="@style/ProxyActivityStarterTheme"
113            android:launchMode="singleTask"
114            android:clearTaskOnLaunch="true"
115            android:exported="false"
116            />
117
118        <activity android:name="com.android.quickstep.interaction.GestureSandboxActivity"
119            android:autoRemoveFromRecents="true"
120            android:excludeFromRecents="true"
121            android:theme="@style/GestureTutorialActivity"
122            android:exported="true"
123            android:configChanges="orientation">
124            <intent-filter>
125                <action android:name="com.android.quickstep.action.GESTURE_SANDBOX"/>
126                <category android:name="android.intent.category.DEFAULT"/>
127            </intent-filter>
128        </activity>
129
130        <!--
131        Activity following gesture nav onboarding.
132        It's protected by android.permission.REBOOT to ensure that only system apps can start it
133        (setup wizard already has this permission)
134        -->
135        <activity android:name="com.android.quickstep.interaction.AllSetActivity"
136            android:autoRemoveFromRecents="true"
137            android:excludeFromRecents="true"
138            android:permission="android.permission.REBOOT"
139            android:theme="@style/AllSetTheme"
140            android:label="@string/allset_title"
141            android:exported="true">
142            <intent-filter>
143                <action android:name="com.android.quickstep.action.GESTURE_ONBOARDING_ALL_SET"/>
144                <category android:name="android.intent.category.DEFAULT"/>
145            </intent-filter>
146        </activity>
147
148        <activity android:name="com.android.launcher3.WidgetPickerActivity"
149            android:theme="@style/WidgetPickerActivityTheme"
150            android:excludeFromRecents="true"
151            android:autoRemoveFromRecents="true"
152            android:showOnLockScreen="true"
153            android:launchMode="singleTop"
154            android:exported="true"
155            android:permission="${applicationId}.permission.START_WIDGET_PICKER_ACTIVITY">
156            <intent-filter>
157                <action android:name="android.intent.action.PICK" />
158                <category android:name="android.intent.category.DEFAULT" />
159            </intent-filter>
160        </activity>
161
162    </application>
163
164</manifest>
165