diff options
| author | 2019-01-23 18:24:08 +0000 | |
|---|---|---|
| committer | 2019-01-23 19:01:15 +0000 | |
| commit | 385b10c15e1a3ee8ef2eb550104a0775ed9a832a (patch) | |
| tree | 396b3d1fa267fbc1c53fca8a29eaab90b650e1c5 | |
| parent | 448fb122a1fc31699c709b4d5d0e37f76ca92b3f (diff) | |
Put the TextClassification action's intent in the extra.
Bug: 122964462
Test: atest core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java
Change-Id: I0d34013ec2ce56c08b8d6e04fe551c1ad7010cff
| -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); } |