TextServicesManager

System API to the overall text services, which arbitrates interaction between applications
and text services. You can retrieve an instance of this interface with
Context.getSystemService().
The user can change the current text services in Settings. And also applications can specify
the target text services.

Architecture Overview

There are three primary parties involved in the text services
framework (TSF) architecture:

The text services manager as expressed by this class
is the central point of the system that manages interaction between all
other parts. It is expressed as the client-side API here which exists
in each application context and communicates with a global system service
that manages the interaction across all processes.

A text service implements a particular
interaction model allowing the client application to retrieve information of text.
The system binds to the current text service that is in use, causing it to be created and run.

Multiple client applications arbitrate with the text service
manager for connections to text services.

Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.

Locale:
the locale for the spell checker. If locale is null and
referToSpellCheckerLanguageSettings is true, the locale specified in Settings will be
returned. If locale is not null and referToSpellCheckerLanguageSettings is true,
the locale specified in Settings will be returned only when it is same as locale.
Exceptionally, when referToSpellCheckerLanguageSettings is true and locale is
only language (e.g. "en"), the specified locale in Settings (e.g. "en_US") will be
selected.

listener

SpellCheckerSession.SpellCheckerSessionListener:
a spell checker session lister for getting results from a spell checker.

referToSpellCheckerLanguageSettings

boolean:
if true, the session for one of enabled
languages in settings will be returned.