• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2007-2017 The Android Open Source Project
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.documentsui">
21
22    <uses-sdk android:minSdkVersion="30"/>
23
24    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
25    <uses-permission android:name="android.permission.REMOVE_TASKS" />
26    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
27    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
28    <uses-permission android:name="android.permission.WAKE_LOCK" />
29    <uses-permission android:name="android.permission.CACHE_CONTENT" />
30    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
31    <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
32    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
33    <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" />
34    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
35    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
36    <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"/>
37
38    <!-- Permissions required for reading and logging compat changes -->
39    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
40    <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/>
41
42    <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
43
44    <!-- Permissions required for reading device configs -->
45    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
46
47    <application
48        android:name=".DocumentsApplication"
49        android:label="@string/app_label"
50        android:icon="@drawable/app_icon"
51        android:supportsRtl="true"
52        android:allowBackup="true"
53        android:backupAgent=".prefs.BackupAgent"
54        android:fullBackupOnly="false"
55        android:enableOnBackInvokedCallback="false"
56        android:crossProfile="true">
57
58        <meta-data
59            android:name="com.google.android.backup.api_key"
60            android:value="AEdPqrEAAAAInBA8ued0O_ZyYUsVhwinUF-x50NIe9K0GzBW4A" />
61
62        <activity
63            android:name=".picker.TrampolineActivity"
64            android:exported="true"
65            android:theme="@android:style/Theme.NoDisplay"
66            android:featureFlag="com.android.documentsui.flags.redirect_get_content_ro"
67            android:visibleToInstantApps="true">
68            <intent-filter android:priority="120">
69                <action android:name="android.intent.action.OPEN_DOCUMENT" />
70                <category android:name="android.intent.category.DEFAULT" />
71                <category android:name="android.intent.category.OPENABLE" />
72                <data android:mimeType="*/*" />
73            </intent-filter>
74            <intent-filter android:priority="120">
75                <action android:name="android.intent.action.CREATE_DOCUMENT" />
76                <category android:name="android.intent.category.DEFAULT" />
77                <category android:name="android.intent.category.OPENABLE" />
78                <data android:mimeType="*/*" />
79            </intent-filter>
80            <intent-filter android:priority="120">
81                <action android:name="android.intent.action.GET_CONTENT" />
82                <category android:name="android.intent.category.DEFAULT" />
83                <category android:name="android.intent.category.OPENABLE" />
84                <data android:mimeType="*/*" />
85            </intent-filter>
86            <intent-filter android:priority="120">
87                <action android:name="android.intent.action.OPEN_DOCUMENT_TREE" />
88                <category android:name="android.intent.category.DEFAULT" />
89            </intent-filter>
90        </activity>
91
92        <activity
93            android:name=".picker.PickActivity"
94            android:exported="true"
95            android:theme="@style/LauncherTheme"
96            android:visibleToInstantApps="true">
97            <intent-filter
98                android:featureFlag="!com.android.documentsui.flags.redirect_get_content_ro"
99                android:priority="100">
100                <action android:name="android.intent.action.OPEN_DOCUMENT" />
101                <category android:name="android.intent.category.DEFAULT" />
102                <category android:name="android.intent.category.OPENABLE" />
103                <data android:mimeType="*/*" />
104            </intent-filter>
105            <intent-filter
106                android:featureFlag="!com.android.documentsui.flags.redirect_get_content_ro"
107                android:priority="100">
108                <action android:name="android.intent.action.CREATE_DOCUMENT" />
109                <category android:name="android.intent.category.DEFAULT" />
110                <category android:name="android.intent.category.OPENABLE" />
111                <data android:mimeType="*/*" />
112            </intent-filter>
113            <intent-filter
114                android:featureFlag="!com.android.documentsui.flags.redirect_get_content_ro"
115                android:priority="100">
116                <action android:name="android.intent.action.GET_CONTENT" />
117                <category android:name="android.intent.category.DEFAULT" />
118                <category android:name="android.intent.category.OPENABLE" />
119                <data android:mimeType="*/*" />
120            </intent-filter>
121            <intent-filter
122                android:featureFlag="!com.android.documentsui.flags.redirect_get_content_ro"
123                android:priority="100">
124                <action android:name="android.intent.action.OPEN_DOCUMENT_TREE" />
125                <category android:name="android.intent.category.DEFAULT" />
126            </intent-filter>
127        </activity>
128
129        <activity
130            android:name=".files.LauncherActivity"
131            android:label="@string/launcher_label"
132            android:icon="@drawable/launcher_icon"
133            android:theme="@android:style/Theme.NoDisplay">
134        </activity>
135
136        <activity
137            android:name=".inspector.InspectorActivity"
138            android:label="@string/menu_inspect"
139            android:icon="@drawable/launcher_icon"
140            android:theme="@style/DocumentsTheme">
141        </activity>
142
143        <!--  Preserve original launcher activity from Nougat. -->
144        <activity-alias
145            android:name=".LauncherActivity"
146            android:targetActivity=".files.LauncherActivity"
147            android:label="@string/launcher_label"
148            android:exported="true"
149            android:icon="@drawable/launcher_icon" >
150            <intent-filter>
151                <action android:name="android.intent.action.MAIN" />
152                <category android:name="android.intent.category.LAUNCHER" />
153                <category android:name="android.intent.category.APP_FILES" />
154            </intent-filter>
155            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
156        </activity-alias>
157
158        <activity
159            android:name=".files.FilesActivity"
160            android:documentLaunchMode="intoExisting"
161            android:exported="true"
162            android:theme="@style/LauncherTheme">
163            <intent-filter>
164                <action android:name="android.intent.action.MAIN" />
165            </intent-filter>
166            <intent-filter>
167                <action android:name="android.intent.action.VIEW" />
168                <category android:name="android.intent.category.DEFAULT" />
169                <data android:mimeType="vnd.android.document/root" />
170            </intent-filter>
171            <intent-filter>
172                <action android:name="android.intent.action.VIEW" />
173                <category android:name="android.intent.category.DEFAULT" />
174                <data android:mimeType="vnd.android.document/directory" />
175            </intent-filter>
176        </activity>
177
178        <activity-alias android:name=".ViewDownloadsActivity"
179                        android:targetActivity=".files.FilesActivity"
180                        android:exported="true"
181                        android:enabled="@bool/handle_view_downloads_intent">
182            <intent-filter>
183                <action android:name="android.intent.action.VIEW_DOWNLOADS" />
184                <category android:name="android.intent.category.DEFAULT" />
185            </intent-filter>
186        </activity-alias>
187
188        <activity
189            android:name=".ScopedAccessActivity"
190            android:exported="true"
191            android:theme="@android:style/Theme.Translucent.NoTitleBar">
192            <intent-filter>
193                <action android:name="android.os.storage.action.OPEN_EXTERNAL_DIRECTORY" />
194                <category android:name="android.intent.category.DEFAULT" />
195            </intent-filter>
196        </activity>
197
198        <provider
199            android:name=".picker.LastAccessedProvider"
200            android:authorities="com.android.documentsui.lastAccessed"
201            android:exported="false"/>
202
203        <provider
204            android:name=".picker.PickCountRecordProvider"
205            android:authorities="com.android.documentsui.pickCountRecord"
206            android:exported="false"/>
207
208        <provider
209            android:name=".archives.ArchivesProvider"
210            android:authorities="com.android.documentsui.archives"
211            android:grantUriPermissions="true"
212            android:permission="android.permission.MANAGE_DOCUMENTS"
213            android:exported="true">
214            <intent-filter>
215                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
216            </intent-filter>
217        </provider>
218
219        <receiver android:name=".PackageReceiver"
220            android:exported="true">
221            <intent-filter>
222                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
223                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
224                <data android:scheme="package" />
225            </intent-filter>
226        </receiver>
227
228        <receiver android:name=".roots.BootReceiver" android:enabled="false"
229            android:exported="true">
230            <intent-filter>
231                <action android:name="android.intent.action.BOOT_COMPLETED" />
232            </intent-filter>
233        </receiver>
234
235        <receiver android:name=".PreBootReceiver"
236            android:exported="true">
237            <intent-filter>
238                <action android:name="android.intent.action.PRE_BOOT_COMPLETED" />
239            </intent-filter>
240        </receiver>
241
242        <!-- Run FileOperationService in a separate process so that we can use FileLock class to
243            wait until jumbo clip is done writing to disk before reading it. See ClipStorage for
244            details. -->
245        <service
246            android:name=".services.FileOperationService"
247            android:exported="false"
248            android:foregroundServiceType="dataSync"
249            android:process=":com.android.documentsui.services">
250        </service>
251
252    </application>
253</manifest>
254