added in API level 26

TextClassifier

public interface TextClassifier

android.view.textclassifier.TextClassifier


Interface for providing text classification related features.

NOTE: Unless otherwise stated, methods of this interface are blocking operations. Call on a worker thread.

Summary

Nested classes

class TextClassifier.EntityConfig

Configuration object for specifying what entities to identify. 

Constants

String HINT_TEXT_IS_EDITABLE

Designates that the text in question is editable.

String HINT_TEXT_IS_NOT_EDITABLE

Designates that the text in question is not editable.

String TYPE_ADDRESS

Physical address.

String TYPE_DATE

Time reference that is no more specific than a date.

String TYPE_DATE_TIME

Time reference that includes a specific time.

String TYPE_EMAIL

E-mail address (e.g.

String TYPE_FLIGHT_NUMBER

Flight number in IATA format.

String TYPE_OTHER

The classifier ran, but didn't recognize a known entity.

String TYPE_PHONE

Phone number (e.g.

String TYPE_UNKNOWN

The TextClassifier failed to run.

String TYPE_URL

Web URL.

String WIDGET_TYPE_CUSTOM_EDITTEXT

The widget involved in the text classification session is a custom editable text widget.

String WIDGET_TYPE_CUSTOM_TEXTVIEW

The widget involved in the text classification session is a custom text widget.

String WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW

The widget involved in the text classification session is a custom non-selectable text widget.

String WIDGET_TYPE_EDITTEXT

The widget involved in the text classification session is a standard EditText.

String WIDGET_TYPE_EDIT_WEBVIEW

The widget involved in the text classification session is a standard editable WebView.

String WIDGET_TYPE_TEXTVIEW

The widget involved in the text classification session is a standard TextView.

String WIDGET_TYPE_UNKNOWN

The widget involved in the text classification session is of an unknown/unspecified type.

String WIDGET_TYPE_UNSELECTABLE_TEXTVIEW

The widget involved in the text classification session is a standard non-selectable TextView.

String WIDGET_TYPE_WEBVIEW

The widget involved in the text classification session is a standard WebView.

Fields

public static final TextClassifier NO_OP

No-op TextClassifier.

Public methods

default TextClassification classifyText(TextClassification.Request request)

Classifies the specified text and returns a TextClassification object that can be used to generate a widget for handling the classified text.

default TextClassification classifyText(CharSequence text, int startIndex, int endIndex, LocaleList defaultLocales)

Classifies the specified text and returns a TextClassification object that can be used to generate a widget for handling the classified text.

default void destroy()

Destroys this TextClassifier.

default TextLinks generateLinks(TextLinks.Request request)

Generates and returns a TextLinks that may be applied to the text to annotate it with links information.

default int getMaxGenerateLinksTextLength()

Returns the maximal length of text that can be processed by generateLinks.

default boolean isDestroyed()

Returns whether or not this TextClassifier has been destroyed.

default void onSelectionEvent(SelectionEvent event)

Reports a selection event.

default TextSelection suggestSelection(CharSequence text, int selectionStartIndex, int selectionEndIndex, LocaleList defaultLocales)

Returns suggested text selection start and end indices, recognized entity types, and their associated confidence scores.

default TextSelection suggestSelection(TextSelection.Request request)

Returns suggested text selection start and end indices, recognized entity types, and their associated confidence scores.

Constants

HINT_TEXT_IS_EDITABLE

String HINT_TEXT_IS_EDITABLE

Designates that the text in question is editable.

Constant Value: "android.text_is_editable"

HINT_TEXT_IS_NOT_EDITABLE

String HINT_TEXT_IS_NOT_EDITABLE

Designates that the text in question is not editable.

Constant Value: "android.text_is_not_editable"

TYPE_ADDRESS

added in API level 26
String TYPE_ADDRESS

Physical address.

Constant Value: "address"

TYPE_DATE

String TYPE_DATE

Time reference that is no more specific than a date. May be absolute such as "01/01/2000" or relative like "tomorrow".

Constant Value: "date"

TYPE_DATE_TIME

String TYPE_DATE_TIME

Time reference that includes a specific time. May be absolute such as "01/01/2000 5:30pm" or relative like "tomorrow at 5:30pm".

Constant Value: "datetime"

TYPE_EMAIL

added in API level 26
String TYPE_EMAIL

E-mail address (e.g. "noreply@android.com").

Constant Value: "email"

TYPE_FLIGHT_NUMBER

String TYPE_FLIGHT_NUMBER

Flight number in IATA format.

Constant Value: "flight"

TYPE_OTHER

added in API level 26
String TYPE_OTHER

The classifier ran, but didn't recognize a known entity.

Constant Value: "other"

TYPE_PHONE

added in API level 26
String TYPE_PHONE

Phone number (e.g. "555-123 456").

Constant Value: "phone"

TYPE_UNKNOWN

String TYPE_UNKNOWN

The TextClassifier failed to run.

Constant Value: ""

TYPE_URL

added in API level 26
String TYPE_URL

Web URL.

Constant Value: "url"

WIDGET_TYPE_CUSTOM_EDITTEXT

String WIDGET_TYPE_CUSTOM_EDITTEXT

The widget involved in the text classification session is a custom editable text widget.

Constant Value: "customedit"

WIDGET_TYPE_CUSTOM_TEXTVIEW

String WIDGET_TYPE_CUSTOM_TEXTVIEW

The widget involved in the text classification session is a custom text widget.

Constant Value: "customview"

WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW

String WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW

The widget involved in the text classification session is a custom non-selectable text widget.

Constant Value: "nosel-customview"

WIDGET_TYPE_EDITTEXT

String WIDGET_TYPE_EDITTEXT

The widget involved in the text classification session is a standard EditText.

Constant Value: "edittext"

WIDGET_TYPE_EDIT_WEBVIEW

String WIDGET_TYPE_EDIT_WEBVIEW

The widget involved in the text classification session is a standard editable WebView.

Constant Value: "edit-webview"

WIDGET_TYPE_TEXTVIEW

String WIDGET_TYPE_TEXTVIEW

The widget involved in the text classification session is a standard TextView.

Constant Value: "textview"

WIDGET_TYPE_UNKNOWN

String WIDGET_TYPE_UNKNOWN

The widget involved in the text classification session is of an unknown/unspecified type.

Constant Value: "unknown"

WIDGET_TYPE_UNSELECTABLE_TEXTVIEW

String WIDGET_TYPE_UNSELECTABLE_TEXTVIEW

The widget involved in the text classification session is a standard non-selectable TextView.

Constant Value: "nosel-textview"

WIDGET_TYPE_WEBVIEW

String WIDGET_TYPE_WEBVIEW

The widget involved in the text classification session is a standard WebView.

Constant Value: "webview"

Fields

NO_OP

added in API level 26
TextClassifier NO_OP

No-op TextClassifier. This may be used to turn off TextClassifier features.

Public methods

classifyText

TextClassification classifyText (TextClassification.Request request)

Classifies the specified text and returns a TextClassification object that can be used to generate a widget for handling the classified text.

NOTE: Call on a worker thread. NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
request TextClassification.Request: the text classification request

This value must never be null.

Returns
TextClassification

This value will never be null.

classifyText

added in API level 26
TextClassification classifyText (CharSequence text, 
                int startIndex, 
                int endIndex, 
                LocaleList defaultLocales)

Classifies the specified text and returns a TextClassification object that can be used to generate a widget for handling the classified text.

NOTE: Call on a worker thread.

NOTE: Do not implement. The default implementation of this method calls classifyText(TextClassification.Request). If that method calls this method, a stack overflow error will happen. NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
text CharSequence: text providing context for the text to classify (which is specified by the sub sequence starting at startIndex and ending at endIndex)

This value must never be null.

startIndex int: start index of the text to classify

endIndex int: end index of the text to classify

defaultLocales LocaleList: ordered list of locale preferences that may be used to disambiguate the provided text. If no locale preferences exist, set this to null or an empty locale list.

Returns
TextClassification

This value will never be null.

Throws
IllegalArgumentException if text is null; startIndex is negative; endIndex is greater than text.length() or not greater than startIndex

destroy

void destroy ()

Destroys this TextClassifier. NOTE: If a TextClassifier has been destroyed, calls to its methods should throw an IllegalStateException. See isDestroyed().

Subsequent calls to this method are no-ops.

generateLinks

TextLinks generateLinks (TextLinks.Request request)

Generates and returns a TextLinks that may be applied to the text to annotate it with links information.

NOTE: Call on a worker thread. NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
request TextLinks.Request: the text links request

This value must never be null.

Returns
TextLinks

This value will never be null.

getMaxGenerateLinksTextLength

int getMaxGenerateLinksTextLength ()

Returns the maximal length of text that can be processed by generateLinks. NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

This method may take several seconds to complete, so it should only be called from a worker thread.

Returns
int

isDestroyed

boolean isDestroyed ()

Returns whether or not this TextClassifier has been destroyed. NOTE: If a TextClassifier has been destroyed, caller should not interact with the classifier and an attempt to do so would throw an IllegalStateException. However, this method should never throw an IllegalStateException.

Returns
boolean

See also:

onSelectionEvent

void onSelectionEvent (SelectionEvent event)

Reports a selection event. NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

Parameters
event SelectionEvent

This value must never be null.

suggestSelection

added in API level 26
TextSelection suggestSelection (CharSequence text, 
                int selectionStartIndex, 
                int selectionEndIndex, 
                LocaleList defaultLocales)

Returns suggested text selection start and end indices, recognized entity types, and their associated confidence scores. The entity types are ordered from highest to lowest scoring.

NOTE: Call on a worker thread.

NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

NOTE: Do not implement. The default implementation of this method calls suggestSelection(TextSelection.Request). If that method calls this method, a stack overflow error will happen.

This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
text CharSequence: text providing context for the selected text (which is specified by the sub sequence starting at selectionStartIndex and ending at selectionEndIndex)

This value must never be null.

selectionStartIndex int: start index of the selected part of text

selectionEndIndex int: end index of the selected part of text

defaultLocales LocaleList: ordered list of locale preferences that may be used to disambiguate the provided text. If no locale preferences exist, set this to null or an empty locale list.

Returns
TextSelection

This value will never be null.

Throws
IllegalArgumentException if text is null; selectionStartIndex is negative; selectionEndIndex is greater than text.length() or not greater than selectionStartIndex

suggestSelection

TextSelection suggestSelection (TextSelection.Request request)

Returns suggested text selection start and end indices, recognized entity types, and their associated confidence scores. The entity types are ordered from highest to lowest scoring.

NOTE: Call on a worker thread.

NOTE: If a TextClassifier has been destroyed, calls to this method should throw an IllegalStateException. See isDestroyed().

This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
request TextSelection.Request: the text selection request

This value must never be null.

Returns
TextSelection

This value will never be null.