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