summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Abodunrinwa Toki <toki@google.com> 2019-01-23 18:24:08 +0000
committer Abodunrinwa Toki <toki@google.com> 2019-01-23 19:01:15 +0000
commit385b10c15e1a3ee8ef2eb550104a0775ed9a832a (patch)
tree396b3d1fa267fbc1c53fca8a29eaab90b650e1c5
parent448fb122a1fc31699c709b4d5d0e37f76ca92b3f (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.java12
-rw-r--r--core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java3
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);
}