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.
The ExtServices module contains the following services.
DisplayHashingServicestarting in Android 12
TextClassifierServicestarting in Android 11
InlineSuggestionsRenderServicestarting in Android 11
AutofillFieldClassificationServicestarting in Android 10
NotificationAssistantServicestarting in Android 10
ResolverRankerServicestarting in Android 10
CacheQuotaServicestarting in Android 10
In Android 12,
DisplayHashingService is used to
generate an instance of
DisplayHash for the specified buffer. It's also used
to verify that a specific display hash was generated by the system. When
generating a display hash, the caller can specify which of the supported
hashing algorithms it wishes to use.
service component backs
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
If needed, you can configure a custom text classifier service by specifying
Custom text classifiers can depend on the default text classifier by calling
to get an instance of it.
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
to render the suggestion. This behavior is verified by CTS tests in
Devices running Android 11 must set
frameworks/base/core/res/res/values/config.xml) to the ExtServices package
com.android.ext.services). This configuration change is verified by the
In Android 12, the ExtServices
module code is moved from
(this is a subdirectory of the
The new project structure for
packages/modules/ExtServices is as follows:
packages/modules/ExtServices/tests, and files for new feature)
jni/(files for new feature)
native/(files for new feature)
The ExtServices module boundary is in
11 also moves several
classes out of
In Android 11, the ExtServices module
com.android.ext.services) is in APEX
format. In Android 10, this module is in APK format.
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.
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:
General ExtServices behavior. Verified by MTS test
Config changes. Verified by the CTS test
TextClassifierconfig. Verified by CTS test
Autofill inline suggestion. Verified by CTS tests in