History log of /frameworks/base/core/java/android/view/textclassifier/TextSelection.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
84368781ecb93f6de5f1f3eb019b2c5a27bf8c92 15-May-2018 Tony Mak <tonymak@google.com> TextSelection.Builder.setId should take null as well

TextSelection#Id is nullable, so the builder should take null as well.

Bug: 79779551
Test: Build
Change-Id: Iacabcab2befcbd4cb1c8674c253fe9a26cb877bf
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
ae82e7ad280e55dca22014c6abc857372229f89c 04-Apr-2018 Abodunrinwa Toki <toki@google.com> Fix TCS crash due to API changes.

- Brings by old deleted APIs and hides them
- Except parceling and hidden APIs that won't have been called anyway
- Option holds a reference to the Request object so we don't have to
rebuild it

Bug: 77523413
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextSelectionTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextLinksTest
Change-Id: I4277c48a950c3334439649373885ed7fe54f898e
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
080c8542b68cf17a0441862c404cb49ce0e86cfe 27-Mar-2018 Abodunrinwa Toki <toki@google.com> TextClassifier API updates.

1. Wraps TC queries in Request objects
2. Adds create/destroyTextClassificationSession system APIs
3. Adds the session Ids to system API calls
4. Change setSignature() to setId() on result objects
5. Plumbing to make the API updates work as things currently work
6. Hide Linkify.addLinksAsync APIs

Bug: 74461129

Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextSelectionTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextLinksTest

Change-Id: I933ada8b37ef9893331a265e3b4fc08e043f1029
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
d32906c202db3b84151c310ecd89a07bb41208f7 18-Jan-2018 Abodunrinwa Toki <toki@google.com> Introduce a TextClassifierManagerService.

Apps wanting to use a TextClassifier service (instead of an
in-app-process TextClassifier) bind to this service. The service
binds to and reroutes calls to a configured system TextClassifierService.

TextClassifierManagerService manages the lifecycle of the configured
TextClassifierService and binds/unbinds to preserve system health.

A configurable TextClassifierService extends TextClassifierService,
declares an android.textclassifier.TextClassifierService intent, and
requires a permission that is only granted to the system so only the
system may bind to it.

The TextClassifierManagerService implements a similar interface to
TextClassifierService (i.e. ITextClassifierService) but doesn't have to.
This is done for simplicity sake and things may change in the future.

The configuration of the default service is in config.xml.
OEMs may change this with a config overlay.
If no TextClassifierService is specified, the default in app process
TextClassifierImpl is used.

Bug: 67609167
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: tbd
Change-Id: I8e7bd6d12aa1a772897529c3b12f47f48757cfe6
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
0d9fbb9bd15fb1c6eae171d316a2de65aaffeb48 28-Nov-2017 Jan Althaus <jalt@google.com> Making TextClassifier helper objects parcelable

- EntityConfidence is no longer generic because it doesn't mix well with
being Parcelable.
- Deprecated OnClick listeners in TextClassification as they can't be
parceled. (Outright removed the secondary listeners that were not part
of any release)
- Classes that were present in previous releases have their parceling
factored out into ParcelableWrapper helper classes for backwards
compatibility.

Bug: 67609167
Test: Added
Change-Id: I820ca4abc6b80f90007ab4424bc5df2a14f797b0
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
008f387e8344f9f98149856cd737086c14752f4d 27-Nov-2017 Abodunrinwa Toki <toki@google.com> Add a signature to TextSelection and TextClassification

A signature is a tag that a TextClassifier may use to identify an
object it returned for a given query. This is useful for logging
purposes.

This cl also removes:
- TextClassification.getLogType() and related logging.
This is already covered by selection event logging.
- TextClassification.getVersionInfo(),
TextSelection.getVersionInfo()/getSourceClassifier().
These are now featured in the signature.

TODO: Write a container class that generates and parses signatures.

Bug: 69791269
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I294f7e4d16c98c6512d56d08d488b204c1f91d47
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
bbe43dfd97c01364e46df452be4c99536d64e4fb 30-Nov-2017 Jan Althaus <jalt@google.com> Storage refactor for EntityConfidence

Caching the sorted entity list so users don't need to be careful to cache
the result of getEntities (previously dont by TextSelection and
TextClassification, but not TextLink). Also switched to ArrayMap as it's
better suited for small maps like the ones generated by the classifier.

Test: Ran FrameworksCoreTests
Change-Id: I08cc9f72146ccab88b6a3624f3775a366c814f7a
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
4d232d6243af42e2784664f6fab040e853f05223 23-Nov-2017 Abodunrinwa Toki <toki@google.com> TextClassifier cleanup #1

- Introduces TextClassifier methods that do not take options
- Adds warning to TextClassifier implementations not to implement
or call certain default methods. Ideally, only one of the
overloaded interface methods (the one that takes Options) needs
to be implemented
- Changes TextLinks.Options to a mutable type
- Updates tests

TODO: Introduce a TextClassification.Builder.setDefaultAction(...) and
change addAction(...) to addExtraAction(...).
TODO: Cts test to validate input params.

Bug: 68846316
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I9a12935388e16a9b57567a71c97afaee63405183
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
2b6020fc80dc239114ecc7ecd501d382d4883641 28-Oct-2017 Abodunrinwa Toki <toki@google.com> Optional parameters for TextClassifier APIs.

TextClassifier methods now take a @Nullable Options parameter which
is a container for optional parameters to its methods.
This way, if we need to pass an optional parameter to one of
TextClassifier's methods, we won't have to overload the method.
Instead, we'll introduce a new Options field.

This CL also adds a hidden optional field for suggestSelection.
This is used to make sure that "dark launched" models do not return
new selection indices to clients. Clients e.g. TextView that are
dark-launch aware may use the field to explicitly request for
dark-launch results.

Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: Also see I843eadff8a2b674388055364c1f25c8d4ccea771
Change-Id: I58e44451ac8a8e3a5bc3959198447f5549870902
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
d62a86e64c6e50ae03e12b29a2567c94e4f32c40 11-Sep-2017 Abodunrinwa Toki <toki@google.com> Fix smart selection logging bugs.

- Fix count with selection start index inside a word
- Properly handle whitespace characters
- Set the model version tag

Bug: 64914512
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: Manually tested that logs are correct. Will follow up with automated tests.
Change-Id: Ib73b52ebce999f2cb6e5734e556cd09e47c89a29
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
692b196cc12f6852b0bb9009c882a69b67dda4d8 15-Aug-2017 Abodunrinwa Toki <toki@google.com> Introduce SmartSelectionEventTracker.

This will be used for logging text selection interaction.

Bug: 64914512
Test: No test. Everything builds fine.
Change-Id: Idb28864e0fc969be05d81855b2e7cd8389bd835e
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
1d77557517918258cbf4264e647a138d1b9b648f 08-May-2017 Abodunrinwa Toki <toki@google.com> TRON: Count smart selection events.

Logs:
- Smart selection occured
- TextView menu item activated on smart selection
- Smart selection reset
- Smart selection modified

Test: Manually checked logging happens as per go/tron-howto and verified
nothing is broken in related classes by running:
bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
bit FrameworksCoreTests:android.widget.TextViewActivityTest

Bug: 32572232
Change-Id: Ia9081d92ae9aea50d863455be770eecd0c73be1a
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java
f001fefff3745c29e2ff6903d69ad921df1ea277 05-Jan-2017 Abodunrinwa Toki <toki@google.com> Update TextAssistant interface.

Rename to TextClassifier
Move to android.view.textclassifier package
Adds getTextClassifierInfo(...)
Changes addLinks(...) to getLinks(...)

This CL also integrates this interface with framework components
and passes a context to TextClassificationManager.

Test: Tests will be added with implementation.
Bug: 34661057
Change-Id: If9e90f034ebb702c1f78e72b6a844f39eebf738f
/frameworks/base/core/java/android/view/textclassifier/TextSelection.java