Merge "TextClassifier: API rename" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
093eb12994
@@ -48202,12 +48202,7 @@ package android.view.inputmethod {
|
||||
|
||||
package android.view.textclassifier {
|
||||
|
||||
public final class TextClassificationManager {
|
||||
method public android.view.textclassifier.TextClassifier getTextClassifier();
|
||||
method public void setTextClassifier(android.view.textclassifier.TextClassifier);
|
||||
}
|
||||
|
||||
public final class TextClassificationResult {
|
||||
public final class TextClassification {
|
||||
method public float getConfidenceScore(java.lang.String);
|
||||
method public java.lang.String getEntity(int);
|
||||
method public int getEntityCount();
|
||||
@@ -48218,19 +48213,24 @@ package android.view.textclassifier {
|
||||
method public java.lang.String getText();
|
||||
}
|
||||
|
||||
public static final class TextClassificationResult.Builder {
|
||||
ctor public TextClassificationResult.Builder();
|
||||
method public android.view.textclassifier.TextClassificationResult build();
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setEntityType(java.lang.String, float);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setIcon(android.graphics.drawable.Drawable);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setIntent(android.content.Intent);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setLabel(java.lang.String);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setOnClickListener(android.view.View.OnClickListener);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setText(java.lang.String);
|
||||
public static final class TextClassification.Builder {
|
||||
ctor public TextClassification.Builder();
|
||||
method public android.view.textclassifier.TextClassification build();
|
||||
method public android.view.textclassifier.TextClassification.Builder setEntityType(java.lang.String, float);
|
||||
method public android.view.textclassifier.TextClassification.Builder setIcon(android.graphics.drawable.Drawable);
|
||||
method public android.view.textclassifier.TextClassification.Builder setIntent(android.content.Intent);
|
||||
method public android.view.textclassifier.TextClassification.Builder setLabel(java.lang.String);
|
||||
method public android.view.textclassifier.TextClassification.Builder setOnClickListener(android.view.View.OnClickListener);
|
||||
method public android.view.textclassifier.TextClassification.Builder setText(java.lang.String);
|
||||
}
|
||||
|
||||
public final class TextClassificationManager {
|
||||
method public android.view.textclassifier.TextClassifier getTextClassifier();
|
||||
method public void setTextClassifier(android.view.textclassifier.TextClassifier);
|
||||
}
|
||||
|
||||
public abstract interface TextClassifier {
|
||||
method public abstract android.view.textclassifier.TextClassificationResult getTextClassificationResult(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
method public abstract android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
method public abstract android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
field public static final android.view.textclassifier.TextClassifier NO_OP;
|
||||
field public static final java.lang.String TYPE_ADDRESS = "address";
|
||||
|
||||
@@ -51798,12 +51798,7 @@ package android.view.inputmethod {
|
||||
|
||||
package android.view.textclassifier {
|
||||
|
||||
public final class TextClassificationManager {
|
||||
method public android.view.textclassifier.TextClassifier getTextClassifier();
|
||||
method public void setTextClassifier(android.view.textclassifier.TextClassifier);
|
||||
}
|
||||
|
||||
public final class TextClassificationResult {
|
||||
public final class TextClassification {
|
||||
method public float getConfidenceScore(java.lang.String);
|
||||
method public java.lang.String getEntity(int);
|
||||
method public int getEntityCount();
|
||||
@@ -51814,19 +51809,24 @@ package android.view.textclassifier {
|
||||
method public java.lang.String getText();
|
||||
}
|
||||
|
||||
public static final class TextClassificationResult.Builder {
|
||||
ctor public TextClassificationResult.Builder();
|
||||
method public android.view.textclassifier.TextClassificationResult build();
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setEntityType(java.lang.String, float);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setIcon(android.graphics.drawable.Drawable);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setIntent(android.content.Intent);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setLabel(java.lang.String);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setOnClickListener(android.view.View.OnClickListener);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setText(java.lang.String);
|
||||
public static final class TextClassification.Builder {
|
||||
ctor public TextClassification.Builder();
|
||||
method public android.view.textclassifier.TextClassification build();
|
||||
method public android.view.textclassifier.TextClassification.Builder setEntityType(java.lang.String, float);
|
||||
method public android.view.textclassifier.TextClassification.Builder setIcon(android.graphics.drawable.Drawable);
|
||||
method public android.view.textclassifier.TextClassification.Builder setIntent(android.content.Intent);
|
||||
method public android.view.textclassifier.TextClassification.Builder setLabel(java.lang.String);
|
||||
method public android.view.textclassifier.TextClassification.Builder setOnClickListener(android.view.View.OnClickListener);
|
||||
method public android.view.textclassifier.TextClassification.Builder setText(java.lang.String);
|
||||
}
|
||||
|
||||
public final class TextClassificationManager {
|
||||
method public android.view.textclassifier.TextClassifier getTextClassifier();
|
||||
method public void setTextClassifier(android.view.textclassifier.TextClassifier);
|
||||
}
|
||||
|
||||
public abstract interface TextClassifier {
|
||||
method public abstract android.view.textclassifier.TextClassificationResult getTextClassificationResult(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
method public abstract android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
method public abstract android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
field public static final android.view.textclassifier.TextClassifier NO_OP;
|
||||
field public static final java.lang.String TYPE_ADDRESS = "address";
|
||||
|
||||
@@ -48581,12 +48581,7 @@ package android.view.inputmethod {
|
||||
|
||||
package android.view.textclassifier {
|
||||
|
||||
public final class TextClassificationManager {
|
||||
method public android.view.textclassifier.TextClassifier getTextClassifier();
|
||||
method public void setTextClassifier(android.view.textclassifier.TextClassifier);
|
||||
}
|
||||
|
||||
public final class TextClassificationResult {
|
||||
public final class TextClassification {
|
||||
method public float getConfidenceScore(java.lang.String);
|
||||
method public java.lang.String getEntity(int);
|
||||
method public int getEntityCount();
|
||||
@@ -48597,19 +48592,24 @@ package android.view.textclassifier {
|
||||
method public java.lang.String getText();
|
||||
}
|
||||
|
||||
public static final class TextClassificationResult.Builder {
|
||||
ctor public TextClassificationResult.Builder();
|
||||
method public android.view.textclassifier.TextClassificationResult build();
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setEntityType(java.lang.String, float);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setIcon(android.graphics.drawable.Drawable);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setIntent(android.content.Intent);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setLabel(java.lang.String);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setOnClickListener(android.view.View.OnClickListener);
|
||||
method public android.view.textclassifier.TextClassificationResult.Builder setText(java.lang.String);
|
||||
public static final class TextClassification.Builder {
|
||||
ctor public TextClassification.Builder();
|
||||
method public android.view.textclassifier.TextClassification build();
|
||||
method public android.view.textclassifier.TextClassification.Builder setEntityType(java.lang.String, float);
|
||||
method public android.view.textclassifier.TextClassification.Builder setIcon(android.graphics.drawable.Drawable);
|
||||
method public android.view.textclassifier.TextClassification.Builder setIntent(android.content.Intent);
|
||||
method public android.view.textclassifier.TextClassification.Builder setLabel(java.lang.String);
|
||||
method public android.view.textclassifier.TextClassification.Builder setOnClickListener(android.view.View.OnClickListener);
|
||||
method public android.view.textclassifier.TextClassification.Builder setText(java.lang.String);
|
||||
}
|
||||
|
||||
public final class TextClassificationManager {
|
||||
method public android.view.textclassifier.TextClassifier getTextClassifier();
|
||||
method public void setTextClassifier(android.view.textclassifier.TextClassifier);
|
||||
}
|
||||
|
||||
public abstract interface TextClassifier {
|
||||
method public abstract android.view.textclassifier.TextClassificationResult getTextClassificationResult(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
method public abstract android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
method public abstract android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList);
|
||||
field public static final android.view.textclassifier.TextClassifier NO_OP;
|
||||
field public static final java.lang.String TYPE_ADDRESS = "address";
|
||||
|
||||
@@ -33,12 +33,12 @@ import java.util.List;
|
||||
/**
|
||||
* Information for generating a widget to handle classified text.
|
||||
*/
|
||||
public final class TextClassificationResult {
|
||||
public final class TextClassification {
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
static final TextClassificationResult EMPTY = new TextClassificationResult.Builder().build();
|
||||
static final TextClassification EMPTY = new TextClassification.Builder().build();
|
||||
|
||||
@NonNull private final String mText;
|
||||
@Nullable private final Drawable mIcon;
|
||||
@@ -49,7 +49,7 @@ public final class TextClassificationResult {
|
||||
@NonNull private final List<String> mEntities;
|
||||
private int mLogType;
|
||||
|
||||
private TextClassificationResult(
|
||||
private TextClassification(
|
||||
@NonNull String text,
|
||||
Drawable icon,
|
||||
String label,
|
||||
@@ -147,7 +147,7 @@ public final class TextClassificationResult {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("TextClassificationResult {"
|
||||
return String.format("TextClassification {"
|
||||
+ "text=%s, entities=%s, label=%s, intent=%s}",
|
||||
mText, mEntityConfidence, mLabel, mIntent);
|
||||
}
|
||||
@@ -167,7 +167,7 @@ public final class TextClassificationResult {
|
||||
}
|
||||
|
||||
/**
|
||||
* Builder for building {@link TextClassificationResult}s.
|
||||
* Builder for building {@link TextClassification} objects.
|
||||
*/
|
||||
public static final class Builder {
|
||||
|
||||
@@ -244,10 +244,10 @@ public final class TextClassificationResult {
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds an returns a {@link TextClassificationResult}.
|
||||
* Builds and returns a {@link TextClassification} object.
|
||||
*/
|
||||
public TextClassificationResult build() {
|
||||
return new TextClassificationResult(
|
||||
public TextClassification build() {
|
||||
return new TextClassification(
|
||||
mText, mIcon, mLabel, mIntent, mOnClickListener, mEntityConfidence, mLogType);
|
||||
}
|
||||
}
|
||||
@@ -20,6 +20,7 @@ import android.annotation.IntRange;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.StringDef;
|
||||
import android.annotation.WorkerThread;
|
||||
import android.os.LocaleList;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -62,9 +63,9 @@ public interface TextClassifier {
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextClassificationResult getTextClassificationResult(
|
||||
public TextClassification classifyText(
|
||||
CharSequence text, int startIndex, int endIndex, LocaleList defaultLocales) {
|
||||
return TextClassificationResult.EMPTY;
|
||||
return TextClassification.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -89,6 +90,7 @@ public interface TextClassifier {
|
||||
* @throws IllegalArgumentException if text is null; selectionStartIndex is negative;
|
||||
* selectionEndIndex is greater than text.length() or not greater than selectionStartIndex
|
||||
*/
|
||||
@WorkerThread
|
||||
@NonNull
|
||||
TextSelection suggestSelection(
|
||||
@NonNull CharSequence text,
|
||||
@@ -97,8 +99,8 @@ public interface TextClassifier {
|
||||
@Nullable LocaleList defaultLocales);
|
||||
|
||||
/**
|
||||
* Returns a {@link TextClassificationResult} object that can be used to generate a widget for
|
||||
* handling the classified text.
|
||||
* Classifies the specified text and returns a {@link TextClassification} object that can be
|
||||
* used to generate a widget for handling the classified text.
|
||||
*
|
||||
* @param text text providing context for the text to classify (which is specified
|
||||
* by the sub sequence starting at startIndex and ending at endIndex)
|
||||
@@ -112,8 +114,9 @@ public interface TextClassifier {
|
||||
* @throws IllegalArgumentException if text is null; startIndex is negative;
|
||||
* endIndex is greater than text.length() or not greater than startIndex
|
||||
*/
|
||||
@WorkerThread
|
||||
@NonNull
|
||||
TextClassificationResult getTextClassificationResult(
|
||||
TextClassification classifyText(
|
||||
@NonNull CharSequence text,
|
||||
@IntRange(from = 0) int startIndex,
|
||||
@IntRange(from = 0) int endIndex,
|
||||
@@ -134,6 +137,7 @@ public interface TextClassifier {
|
||||
* @throws IllegalArgumentException if text is null
|
||||
* @hide
|
||||
*/
|
||||
@WorkerThread
|
||||
LinksInfo getLinks(
|
||||
@NonNull CharSequence text, int linkMask, @Nullable LocaleList defaultLocales);
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ final class TextClassifierImpl implements TextClassifier {
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextClassificationResult getTextClassificationResult(
|
||||
public TextClassification classifyText(
|
||||
@NonNull CharSequence text, int startIndex, int endIndex,
|
||||
@Nullable LocaleList defaultLocales) {
|
||||
validateInput(text, startIndex, endIndex);
|
||||
@@ -141,7 +141,7 @@ final class TextClassifierImpl implements TextClassifier {
|
||||
.classifyText(string, startIndex, endIndex,
|
||||
getHintFlags(string, startIndex, endIndex));
|
||||
if (results.length > 0) {
|
||||
final TextClassificationResult classificationResult =
|
||||
final TextClassification classificationResult =
|
||||
createClassificationResult(
|
||||
results, string.subSequence(startIndex, endIndex));
|
||||
// TODO: Added this log for debug only. Remove before release.
|
||||
@@ -155,7 +155,7 @@ final class TextClassifierImpl implements TextClassifier {
|
||||
Log.e(LOG_TAG, "Error getting assist info.", t);
|
||||
}
|
||||
// Getting here means something went wrong, return a NO_OP result.
|
||||
return TextClassifier.NO_OP.getTextClassificationResult(
|
||||
return TextClassifier.NO_OP.classifyText(
|
||||
text, startIndex, endIndex, defaultLocales);
|
||||
}
|
||||
|
||||
@@ -316,9 +316,9 @@ final class TextClassifierImpl implements TextClassifier {
|
||||
}
|
||||
}
|
||||
|
||||
private TextClassificationResult createClassificationResult(
|
||||
private TextClassification createClassificationResult(
|
||||
SmartSelection.ClassificationResult[] classifications, CharSequence text) {
|
||||
final TextClassificationResult.Builder builder = new TextClassificationResult.Builder()
|
||||
final TextClassification.Builder builder = new TextClassification.Builder()
|
||||
.setText(text.toString());
|
||||
|
||||
final int size = classifications.length;
|
||||
@@ -341,7 +341,7 @@ final class TextClassifierImpl implements TextClassifier {
|
||||
}
|
||||
if (resolveInfo != null && resolveInfo.activityInfo != null) {
|
||||
builder.setIntent(intent)
|
||||
.setOnClickListener(TextClassificationResult.createStartActivityOnClickListener(
|
||||
.setOnClickListener(TextClassification.createStartActivityOnClickListener(
|
||||
mContext, intent));
|
||||
|
||||
final String packageName = resolveInfo.activityInfo.packageName;
|
||||
|
||||
@@ -106,7 +106,7 @@ import android.view.inputmethod.ExtractedText;
|
||||
import android.view.inputmethod.ExtractedTextRequest;
|
||||
import android.view.inputmethod.InputConnection;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.view.textclassifier.TextClassificationResult;
|
||||
import android.view.textclassifier.TextClassification;
|
||||
import android.widget.AdapterView.OnItemClickListener;
|
||||
import android.widget.TextView.Drawables;
|
||||
import android.widget.TextView.OnEditorActionListener;
|
||||
@@ -3886,14 +3886,14 @@ public class Editor {
|
||||
|
||||
private void updateAssistMenuItem(Menu menu) {
|
||||
menu.removeItem(TextView.ID_ASSIST);
|
||||
final TextClassificationResult textClassificationResult =
|
||||
getSelectionActionModeHelper().getTextClassificationResult();
|
||||
if (textClassificationResult != null) {
|
||||
final Drawable icon = textClassificationResult.getIcon();
|
||||
final CharSequence label = textClassificationResult.getLabel();
|
||||
final TextClassification textClassification =
|
||||
getSelectionActionModeHelper().getTextClassification();
|
||||
if (textClassification != null) {
|
||||
final Drawable icon = textClassification.getIcon();
|
||||
final CharSequence label = textClassification.getLabel();
|
||||
final OnClickListener onClickListener =
|
||||
textClassificationResult.getOnClickListener();
|
||||
final Intent intent = textClassificationResult.getIntent();
|
||||
textClassification.getOnClickListener();
|
||||
final Intent intent = textClassification.getIntent();
|
||||
if ((icon != null || !TextUtils.isEmpty(label))
|
||||
&& (onClickListener != null || intent != null)) {
|
||||
menu.add(TextView.ID_ASSIST, TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST, label)
|
||||
@@ -3902,7 +3902,7 @@ public class Editor {
|
||||
mMetricsLogger.write(
|
||||
new LogMaker(MetricsEvent.TEXT_SELECTION_MENU_ITEM_ASSIST)
|
||||
.setType(MetricsEvent.TYPE_OPEN)
|
||||
.setSubtype(textClassificationResult.getLogType()));
|
||||
.setSubtype(textClassification.getLogType()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3916,24 +3916,24 @@ public class Editor {
|
||||
if (customCallback != null && customCallback.onActionItemClicked(mode, item)) {
|
||||
return true;
|
||||
}
|
||||
final TextClassificationResult textClassificationResult =
|
||||
getSelectionActionModeHelper().getTextClassificationResult();
|
||||
if (TextView.ID_ASSIST == item.getItemId() && textClassificationResult != null) {
|
||||
final TextClassification textClassification =
|
||||
getSelectionActionModeHelper().getTextClassification();
|
||||
if (TextView.ID_ASSIST == item.getItemId() && textClassification != null) {
|
||||
final OnClickListener onClickListener =
|
||||
textClassificationResult.getOnClickListener();
|
||||
textClassification.getOnClickListener();
|
||||
if (onClickListener != null) {
|
||||
onClickListener.onClick(mTextView);
|
||||
} else {
|
||||
final Intent intent = textClassificationResult.getIntent();
|
||||
final Intent intent = textClassification.getIntent();
|
||||
if (intent != null) {
|
||||
TextClassificationResult.createStartActivityOnClickListener(
|
||||
TextClassification.createStartActivityOnClickListener(
|
||||
mTextView.getContext(), intent)
|
||||
.onClick(mTextView);
|
||||
}
|
||||
}
|
||||
mMetricsLogger.action(
|
||||
MetricsEvent.ACTION_TEXT_SELECTION_MENU_ITEM_ASSIST,
|
||||
textClassificationResult.getLogType());
|
||||
textClassification.getLogType());
|
||||
stopTextActionMode();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import android.text.Selection;
|
||||
import android.text.Spannable;
|
||||
import android.text.TextUtils;
|
||||
import android.view.ActionMode;
|
||||
import android.view.textclassifier.TextClassificationResult;
|
||||
import android.view.textclassifier.TextClassification;
|
||||
import android.view.textclassifier.TextClassifier;
|
||||
import android.view.textclassifier.TextSelection;
|
||||
import android.widget.Editor.SelectionModifierCursorController;
|
||||
@@ -52,7 +52,7 @@ final class SelectionActionModeHelper {
|
||||
private final Editor mEditor;
|
||||
private final TextClassificationHelper mTextClassificationHelper;
|
||||
|
||||
private TextClassificationResult mTextClassificationResult;
|
||||
private TextClassification mTextClassification;
|
||||
private AsyncTask mTextClassificationAsyncTask;
|
||||
|
||||
private final SelectionInfo mSelectionInfo = new SelectionInfo();
|
||||
@@ -107,8 +107,8 @@ final class SelectionActionModeHelper {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public TextClassificationResult getTextClassificationResult() {
|
||||
return mTextClassificationResult;
|
||||
public TextClassification getTextClassification() {
|
||||
return mTextClassification;
|
||||
}
|
||||
|
||||
public void onDestroyActionMode() {
|
||||
@@ -121,7 +121,7 @@ final class SelectionActionModeHelper {
|
||||
mTextClassificationAsyncTask.cancel(true);
|
||||
mTextClassificationAsyncTask = null;
|
||||
}
|
||||
mTextClassificationResult = null;
|
||||
mTextClassification = null;
|
||||
}
|
||||
|
||||
private boolean isNoOpTextClassifier() {
|
||||
@@ -140,9 +140,9 @@ final class SelectionActionModeHelper {
|
||||
textView.getSelectionStart(), textView.getSelectionEnd());
|
||||
if (result != null && text instanceof Spannable) {
|
||||
Selection.setSelection((Spannable) text, result.mStart, result.mEnd);
|
||||
mTextClassificationResult = result.mResult;
|
||||
mTextClassification = result.mClassification;
|
||||
} else {
|
||||
mTextClassificationResult = null;
|
||||
mTextClassification = null;
|
||||
}
|
||||
if (mEditor.startSelectionActionModeInternal()) {
|
||||
final SelectionModifierCursorController controller = mEditor.getSelectionController();
|
||||
@@ -158,7 +158,7 @@ final class SelectionActionModeHelper {
|
||||
}
|
||||
|
||||
private void invalidateActionMode(@Nullable SelectionResult result) {
|
||||
mTextClassificationResult = result != null ? result.mResult : null;
|
||||
mTextClassification = result != null ? result.mClassification : null;
|
||||
final ActionMode actionMode = mEditor.getTextActionMode();
|
||||
if (actionMode != null) {
|
||||
actionMode.invalidate();
|
||||
@@ -332,7 +332,7 @@ final class SelectionActionModeHelper {
|
||||
return new SelectionResult(
|
||||
mSelectionStart,
|
||||
mSelectionEnd,
|
||||
mTextClassifier.getTextClassificationResult(
|
||||
mTextClassifier.classifyText(
|
||||
mTrimmedText, mRelativeStart, mRelativeEnd, mLocales));
|
||||
}
|
||||
|
||||
@@ -361,12 +361,12 @@ final class SelectionActionModeHelper {
|
||||
private static final class SelectionResult {
|
||||
private final int mStart;
|
||||
private final int mEnd;
|
||||
private final TextClassificationResult mResult;
|
||||
private final TextClassification mClassification;
|
||||
|
||||
SelectionResult(int start, int end, TextClassificationResult result) {
|
||||
SelectionResult(int start, int end, TextClassification classification) {
|
||||
mStart = start;
|
||||
mEnd = end;
|
||||
mResult = Preconditions.checkNotNull(result);
|
||||
mClassification = Preconditions.checkNotNull(classification);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,31 +102,31 @@ public class TextClassificationManagerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTextClassificationResult() {
|
||||
public void testClassifyText() {
|
||||
if (isTextClassifierDisabled()) return;
|
||||
|
||||
String text = "Contact me at droid@android.com";
|
||||
String classifiedText = "droid@android.com";
|
||||
int startIndex = text.indexOf(classifiedText);
|
||||
int endIndex = startIndex + classifiedText.length();
|
||||
assertThat(mClassifier.getTextClassificationResult(text, startIndex, endIndex, LOCALES),
|
||||
isTextClassificationResult(classifiedText, TextClassifier.TYPE_EMAIL));
|
||||
assertThat(mClassifier.classifyText(text, startIndex, endIndex, LOCALES),
|
||||
isTextClassification(classifiedText, TextClassifier.TYPE_EMAIL));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTextClassificationResult_url() {
|
||||
public void testTextClassifyText_url() {
|
||||
if (isTextClassifierDisabled()) return;
|
||||
|
||||
String text = "Visit http://www.android.com for more information";
|
||||
String classifiedText = "http://www.android.com";
|
||||
int startIndex = text.indexOf(classifiedText);
|
||||
int endIndex = startIndex + classifiedText.length();
|
||||
assertThat(mClassifier.getTextClassificationResult(text, startIndex, endIndex, LOCALES),
|
||||
isTextClassificationResult(classifiedText, TextClassifier.TYPE_URL));
|
||||
assertThat(mClassifier.classifyText(text, startIndex, endIndex, LOCALES),
|
||||
isTextClassification(classifiedText, TextClassifier.TYPE_URL));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTextClassificationResult_nullLocaleList() {
|
||||
public void testTextClassifyText_nullLocaleList() {
|
||||
if (isTextClassifierDisabled()) return;
|
||||
|
||||
String text = "Contact me at droid@android.com";
|
||||
@@ -134,8 +134,8 @@ public class TextClassificationManagerTest {
|
||||
int startIndex = text.indexOf(classifiedText);
|
||||
int endIndex = startIndex + classifiedText.length();
|
||||
LocaleList nullLocales = null;
|
||||
assertThat(mClassifier.getTextClassificationResult(text, startIndex, endIndex, nullLocales),
|
||||
isTextClassificationResult(classifiedText, TextClassifier.TYPE_EMAIL));
|
||||
assertThat(mClassifier.classifyText(text, startIndex, endIndex, nullLocales),
|
||||
isTextClassification(classifiedText, TextClassifier.TYPE_EMAIL));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -186,13 +186,13 @@ public class TextClassificationManagerTest {
|
||||
};
|
||||
}
|
||||
|
||||
private static Matcher<TextClassificationResult> isTextClassificationResult(
|
||||
private static Matcher<TextClassification> isTextClassification(
|
||||
final String text, final String type) {
|
||||
return new BaseMatcher<TextClassificationResult>() {
|
||||
return new BaseMatcher<TextClassification>() {
|
||||
@Override
|
||||
public boolean matches(Object o) {
|
||||
if (o instanceof TextClassificationResult) {
|
||||
TextClassificationResult result = (TextClassificationResult) o;
|
||||
if (o instanceof TextClassification) {
|
||||
TextClassification result = (TextClassification) o;
|
||||
return text.equals(result.getText())
|
||||
&& result.getEntityCount() > 0
|
||||
&& type.equals(result.getEntity(0));
|
||||
|
||||
Reference in New Issue
Block a user