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