Google is committed to advancing racial equity for Black communities. See how.

ExtServices

The ExtServices module updates framework components for core OS functionality such as notification ranking, autofill text-matching strategies, storage cache, package watchdog, and other services that run continually. This module is updatable, meaning it can receive updates to functionality outside of the normal Android release cycle.

Service components

In Android 10, the ExtServices module contains the following services.

In Android 11, the ExtServices module introduces two service components: TextClassifierService and InlineSuggestionsRenderService.

TextClassifierService

The TextClassifierService service component backs TextClassifier APIs and Android features such as smart text selection and smart suggestions in notifications. The ExtServices module contains the default text classifier, which is verified by the CTS test TextClassifierPolicyTest.java.

If needed, you can configure a custom text classifier service by specifying config_defaultTextClassifierPackage in config.xml. Custom text classifiers can depend on the default text classifier by calling TextClassifierService.getDefaultTextClassifierImplementation(Context) to get an instance of it.

InlineSuggestionRenderService

The InlineSuggestionRenderService service component enables Inline Suggestions to be shown in the keyboard suggestion strip. This service is called to render a View object holding the Inline Suggestion for the new Inline Autofill flow. The default implementation for this renderer service calls into androidx.autofill.inline.Renderer to render the suggestion. This behavior is verified by CTS tests in /autofillservice/cts/inline/.

Package name

Devices running Android 11 must set config_servicesExtensionPackage (in frameworks/base/core/res/res/values/config.xml) to the ExtServices package name (com.android.ext.services). This configuration change is verified by the CTS test cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.

Module boundary

The ExtServices module boundary is in packages/modules/ExtServices. Android 11 also moves several TextClassifier implementation classes out of frameworks/base/core/.

Module format

In Android 11, the ExtServices module (com.android.ext.services) is in APEX format. In Android 10, this module is in APK format.

Customizing

In Android 11, you can configure a custom text classifier service that calls the default Text Classifier (however, this isn't recommended). In Android 10, the ExtServices module doesn't provide customization options.

Testing

The Android Compatibility Test Suite (CTS) verifies ExtServices module functionality by running a comprehensive set of CTS tests on every module release. In addition, the Mainline Test Suite (MTS) also contains several ExtServices tests. The full list of ExtServices tests is as follows: