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