The DocumentsUI module controls access to specific files for components that handle document permissions (such as attaching a file to an email). This module is updatable, meaning it can receive updates to functionality outside of the normal Android release cycle.
Making storage access and permissions into a module increases privacy and security for end users while allowing Android partners to customize the features and theming of the app through runtime resource overlays (RROs). The module format ensures that all devices ship with the same DocumentsUI experience, enabling developers to know what users see for associated APIs.
The DocumentsUI module handles the following actions.
Interacts with the framework only through stable
@SystemApi
APIs (no@hide
API usage).Exposes a mechanism for enabling Android partners to customize features and theming.
Protects the
MANAGE_DOCUMENTS
permission using a signature permission.
Display Files launcher icon
In Android 10, the DocumentsUI module uses is_launcher_enabled
to determine if
the Files launcher icon should display in the app drawer. In Android
11 or higher, the module uses the component-override
package to determine if the Files launcher icon displays in the app drawer.
By default, the icon is enabled. To disable it, add the following XML to
/etc/sysconfig
.
<?xml version="1.0" encoding="utf-8"?>
<config>
<component-override package="com.android.documentsui" >
<component class="com.android.documentsui.LauncherActivity" enabled="false" />
</component-override>
</config>
Request user data
The DocumentsUI module implements the GET_CONTENT
action that enables apps to
request access to other data from the user.
Module format
The DocumentsUI module (com.android.documentsui
) is delivered as an
APK file and is available for devices running Android
10 or higher.
Module dependencies
This DocumentsUI module depends on the MANAGE_DOCUMENTS
permission protected
by the signature permission; an additional permission class ensures that only
one app on the device has the MANAGE_DOCUMENTS
permission.