diff options
| -rw-r--r-- | core/java/android/view/textclassifier/TextClassifierImpl.java | 12 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java | 3 |
2 files changed, 14 insertions, 1 deletions
diff --git a/core/java/android/view/textclassifier/TextClassifierImpl.java b/core/java/android/view/textclassifier/TextClassifierImpl.java index 9ab963e372b7..a5b7c621be38 100644 --- a/core/java/android/view/textclassifier/TextClassifierImpl.java +++ b/core/java/android/view/textclassifier/TextClassifierImpl.java @@ -78,6 +78,9 @@ import java.util.concurrent.TimeUnit; */ public final class TextClassifierImpl implements TextClassifier { + /** @hide */ + public static final String ACTIONS_INTENTS = "actions-intents"; + private static final String LOG_TAG = DEFAULT_LOG_TAG; private static final boolean DEBUG = false; @@ -567,6 +570,7 @@ public final class TextClassifierImpl implements TextClassifier { // TODO: Make this configurable. final float foreignTextThreshold = typeCount == 0 ? 0.5f : 0.7f; boolean isPrimaryAction = true; + final ArrayList<Intent> sourceIntents = new ArrayList<>(); for (LabeledIntent labeledIntent : IntentFactory.create( mContext, classifiedText, isForeignText(classifiedText, foreignTextThreshold), referenceTime, highestScoringResult)) { @@ -586,9 +590,15 @@ public final class TextClassifierImpl implements TextClassifier { isPrimaryAction = false; } builder.addAction(action); + sourceIntents.add(labeledIntent.getIntent()); } - return builder.setId(createId(text, start, end)).build(); + final Bundle extras = new Bundle(); + extras.putParcelableArrayList(ACTIONS_INTENTS, sourceIntents); + + return builder.setId(createId(text, start, end)) + .setExtras(extras) + .build(); } private boolean isForeignText(String text, float threshold) { diff --git a/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java b/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java index 7009fb2ea758..4d78e4036e74 100644 --- a/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java +++ b/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java @@ -262,6 +262,9 @@ public class TextClassifierTest { assertEquals( context.getString(com.android.internal.R.string.translate), classification.getActions().get(0).getTitle()); + Intent intent = (Intent) classification.getExtras() + .getParcelableArrayList(TextClassifierImpl.ACTIONS_INTENTS).get(0); + assertEquals(Intent.ACTION_TRANSLATE, intent.getAction()); LocaleList.setDefault(originalLocales); } |