Loading core/java/android/view/textclassifier/TextClassifierImpl.java +4 −0 Original line number Diff line number Diff line Loading @@ -607,6 +607,7 @@ final class TextClassifierImpl implements TextClassifier { @Nullable public static Intent create(Context context, String type, String text) { type = type.trim().toLowerCase(Locale.ENGLISH); text = text.trim(); switch (type) { case TextClassifier.TYPE_EMAIL: return new Intent(Intent.ACTION_SENDTO) Loading @@ -618,6 +619,9 @@ final class TextClassifierImpl implements TextClassifier { return new Intent(Intent.ACTION_VIEW) .setData(Uri.parse(String.format("geo:0,0?q=%s", text))); case TextClassifier.TYPE_URL: if (!text.startsWith("https://") && !text.startsWith("http://")) { text = "http://" + text; } return new Intent(Intent.ACTION_VIEW, Uri.parse(text)) .putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName()); default: Loading core/tests/coretests/src/android/view/textclassifier/TextClassificationManagerTest.java +14 −2 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ public class TextClassificationManagerTest { if (isTextClassifierDisabled()) return; String text = "Visit http://www.android.com for more information"; String classifiedText = "http://www.android.com"; String classifiedText = "www.android.com"; int startIndex = text.indexOf(classifiedText); int endIndex = startIndex + classifiedText.length(); assertThat(mClassifier.classifyText(text, startIndex, endIndex, LOCALES), Loading Loading @@ -193,7 +193,19 @@ public class TextClassificationManagerTest { public boolean matches(Object o) { if (o instanceof TextClassification) { TextClassification result = (TextClassification) o; return text.equals(result.getText()) final boolean typeRequirementSatisfied; switch (type) { case TextClassifier.TYPE_URL: String scheme = result.getIntent().getData().getScheme(); typeRequirementSatisfied = "http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme); break; default: typeRequirementSatisfied = true; } return typeRequirementSatisfied && text.equals(result.getText()) && result.getEntityCount() > 0 && type.equals(result.getEntity(0)); // TODO: Include other properties. Loading Loading
core/java/android/view/textclassifier/TextClassifierImpl.java +4 −0 Original line number Diff line number Diff line Loading @@ -607,6 +607,7 @@ final class TextClassifierImpl implements TextClassifier { @Nullable public static Intent create(Context context, String type, String text) { type = type.trim().toLowerCase(Locale.ENGLISH); text = text.trim(); switch (type) { case TextClassifier.TYPE_EMAIL: return new Intent(Intent.ACTION_SENDTO) Loading @@ -618,6 +619,9 @@ final class TextClassifierImpl implements TextClassifier { return new Intent(Intent.ACTION_VIEW) .setData(Uri.parse(String.format("geo:0,0?q=%s", text))); case TextClassifier.TYPE_URL: if (!text.startsWith("https://") && !text.startsWith("http://")) { text = "http://" + text; } return new Intent(Intent.ACTION_VIEW, Uri.parse(text)) .putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName()); default: Loading
core/tests/coretests/src/android/view/textclassifier/TextClassificationManagerTest.java +14 −2 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ public class TextClassificationManagerTest { if (isTextClassifierDisabled()) return; String text = "Visit http://www.android.com for more information"; String classifiedText = "http://www.android.com"; String classifiedText = "www.android.com"; int startIndex = text.indexOf(classifiedText); int endIndex = startIndex + classifiedText.length(); assertThat(mClassifier.classifyText(text, startIndex, endIndex, LOCALES), Loading Loading @@ -193,7 +193,19 @@ public class TextClassificationManagerTest { public boolean matches(Object o) { if (o instanceof TextClassification) { TextClassification result = (TextClassification) o; return text.equals(result.getText()) final boolean typeRequirementSatisfied; switch (type) { case TextClassifier.TYPE_URL: String scheme = result.getIntent().getData().getScheme(); typeRequirementSatisfied = "http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme); break; default: typeRequirementSatisfied = true; } return typeRequirementSatisfied && text.equals(result.getText()) && result.getEntityCount() > 0 && type.equals(result.getEntity(0)); // TODO: Include other properties. Loading