| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="com.android.providers.media.module"> |
| |
| <meta-data |
| android:name="com.android.providers.media.photopicker.data.glide.PickerGlideModule" |
| android:value="GlideModule" /> |
| |
| <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
| <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| <uses-permission android:name="android.permission.WAKE_LOCK" /> |
| <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> |
| |
| <uses-permission android:name="android.permission.MANAGE_USERS" /> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> |
| <!-- Permission required to prompt for the work profile to be turned on --> |
| <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" /> |
| |
| <uses-permission android:name="android.permission.WATCH_APPOPS" /> |
| <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> |
| <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> |
| |
| <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" /> |
| <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.USE_RESERVED_DISK" /> |
| <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> |
| <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" /> |
| <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> |
| |
| <!-- Permissions required for reading and logging compat changes --> |
| <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/> |
| <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/> |
| |
| <!-- Permissions required for reading device configs --> |
| <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/> |
| |
| <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/> |
| |
| <!-- Permissions required for statsd pull metrics --> |
| <uses-permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"/> |
| |
| <!-- Permissions required to check if an app is in the foreground or not during IO --> |
| <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /> |
| |
| <!-- Permission required to access CloudMediaProviders. Declared by us --> |
| <uses-permission android:name="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS" /> |
| |
| <permission android:name="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS" |
| android:protectionLevel="signature" /> |
| |
| <application |
| android:name="com.android.providers.media.MediaApplication" |
| android:label="@string/app_label" |
| android:icon="@mipmap/ic_launcher" |
| android:allowBackup="false" |
| android:supportsRtl="true" |
| android:forceQueryable="true" |
| android:usesCleartextTraffic="true" |
| android:crossProfile="true"> |
| <provider |
| android:name="com.android.providers.media.MediaProvider" |
| android:authorities="media" |
| android:grantUriPermissions="true" |
| android:forceUriPermissions="true" |
| android:exported="true" /> |
| |
| <provider |
| android:name="com.android.providers.media.MediaDocumentsProvider" |
| android:label="@string/storage_description" |
| android:authorities="com.android.providers.media.documents" |
| android:grantUriPermissions="true" |
| android:exported="true" |
| android:permission="android.permission.MANAGE_DOCUMENTS"> |
| <intent-filter> |
| <action android:name="android.content.action.DOCUMENTS_PROVIDER" /> |
| </intent-filter> |
| </provider> |
| |
| <provider |
| android:name="com.android.providers.media.photopicker.PhotoPickerProvider" |
| android:authorities="com.android.providers.media.photopicker" |
| android:exported="false" /> |
| |
| <!-- Handles database upgrades after OTAs, then disables itself --> |
| <receiver android:name="com.android.providers.media.MediaUpgradeReceiver" |
| android:exported="true"> |
| <!-- This broadcast is sent after the core system has finished |
| booting, before the home app is launched or BOOT_COMPLETED |
| is sent. --> |
| <intent-filter> |
| <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/> |
| </intent-filter> |
| </receiver> |
| |
| <receiver android:name="com.android.providers.media.MediaReceiver" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.LOCALE_CHANGED" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" /> |
| <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> |
| <data android:scheme="package" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.MEDIA_MOUNTED" /> |
| <data android:scheme="file" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.MEDIA_SCANNER_SCAN_FILE" /> |
| <data android:scheme="file" /> |
| </intent-filter> |
| </receiver> |
| |
| <service |
| android:name="com.android.providers.media.IdleService" |
| android:exported="true" |
| android:permission="android.permission.BIND_JOB_SERVICE" /> |
| |
| <service |
| android:name="com.android.providers.media.MediaService" |
| android:exported="true" |
| android:permission="android.permission.BIND_JOB_SERVICE" /> |
| |
| <service android:name="com.android.providers.media.fuse.ExternalStorageServiceImpl" |
| android:exported="true" |
| android:permission="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"> |
| <intent-filter> |
| <action android:name="android.service.storage.ExternalStorageService" /> |
| </intent-filter> |
| </service> |
| |
| <activity |
| android:name="com.android.providers.media.PermissionActivity" |
| android:configChanges="orientation|keyboardHidden|screenSize" |
| android:theme="@style/PickerDialogTheme" |
| android:exported="false" |
| android:excludeFromRecents="true" /> |
| |
| <activity |
| android:name="com.android.providers.media.CacheClearingActivity" |
| android:configChanges="orientation|keyboardHidden|screenSize" |
| android:exported="true" |
| android:theme="@style/CacheClearingAlertDialogTheme" |
| android:finishOnCloseSystemDialogs="true" |
| android:launchMode="singleTop" |
| android:excludeFromRecents="true" |
| android:visibleToInstantApps="true" |
| android:priority="100" > |
| <intent-filter> |
| <action android:name="android.os.storage.action.CLEAR_APP_CACHE" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name="com.android.providers.media.photopicker.PhotoPickerActivity" |
| android:process=":PhotoPicker" |
| android:label="@string/picker_app_label" |
| android:icon="@mipmap/picker_app_icon" |
| android:theme="@style/PickerDefaultTheme" |
| android:exported="true" |
| android:excludeFromRecents="true" |
| android:priority="100" > |
| <intent-filter> |
| <action android:name="android.provider.action.PICK_IMAGES" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="image/*" /> |
| <data android:mimeType="video/*" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.provider.action.PICK_IMAGES" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity-alias |
| android:name="com.android.providers.media.photopicker.PhotoPickerGetContentActivity" |
| android:targetActivity="com.android.providers.media.photopicker.PhotoPickerActivity" |
| android:exported="true" |
| android:excludeFromRecents="true" |
| android:enabled="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.GET_CONTENT" /> |
| <category android:name="android.intent.category.OPENABLE" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="image/*" /> |
| <data android:mimeType="video/*" /> |
| </intent-filter> |
| </activity-alias> |
| |
| </application> |
| </manifest> |