DocumentsUI

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.