- Introduces getLogger() API.
- A logger should run in the client's process. This helps us manage
sessions specific to a client.
- The logger exposes a tokenizer that clients may use to tokenize
strings for logging purposes.
- Logger subclasses need to provide a writeEvent() implementation.
- SelectionEvent is serializable over IPC.
- Logger takes care of the session management. It writes session
specific information into the SelectionEvent.
- We still keep the SmartSelectionEventTracker for now so clients
can slowly move off of it. The plan is to delete it.
- The plan is to include support other event types. e.g. link events.
Bug: 64914512
Bug: 67609167
Test: See topic
Change-Id: Ic9470cf8f969add8a4c6570f78603d0b118956cd
Uses the TextClassifier to generate links on a background thread.
The links are applied on the calling thread.
Test: see topic
Bug: 67629726
Change-Id: I0f1940a2ffbf19f4436c0a20b0c62e6bbc03cd7a
The lib2 implementation of libtextclassifier is incompatible with models
for lib1. To avoid trying to load a lib1 model and failing (which happens
when devices are upgraded from O to P), we need a new update model path.
Using this opportunity to remove smartselection from the filename, which
isn't appropriate any more given what the model is used for.
Test: Ran core framework tests
Change-Id: I79a80d10d920019f5091fe9884f370149d39fe88
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
Previously, we were only making sure that the magnified content belongs
to the view the magnifier is attached to. However, when the view was
laid out partially outside the screen, we would pixel copy from outside
the surface the view is attached to. This would lead to the user seeing
a distorted content in the magnifier, in cases when the magnified view
lies outside the screen. This CL addresses this issue, by clamping the
pixel copy coordinates inside the surface we copy the magnifier content
from.
Bug: 72039853
Bug: 63531115
Test: bit CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: Iddab05c98b615259938e0d3a3320b98b3b13b246
For frameworks constants that don't have intrinsic meaning (i.e. their actual
value and order don't matter), so that it is unlikely that their values
will be changed:
This cl introduces proto enums representing some constants found in
the Android codebase, and connects the two.
By using the Proto enum as the source-of-truth, it means that Java and
proto can be kept in sync. Otherwise, when the Java frameworks code
changes, it silently breaks the protos from working properly, since the enums
are wrong. By having the Java code reference the proto enums, it ensures
that everything is in sync. The values of the constants are unchanged.
But future changes to these constants will need to be done in the proto
file, which the Java file merely references.
The protos are necessary for incidentd and statsd and, in the future,
possibly dumpsys. In this way, the logging mechanism is much less likely
to get broken when new constants are added, and we can be ensured that
the logging accurately reflects the underlying codebase.
Bug: 69478930
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases
Test: cts-tradefed run cts-dev -m CtsIncidentHostTestCases
Change-Id: If79032c34b2799db1e3e70cb47b1312fd72092b9
* changes:
4/ Update SysUI shared lib for Recents transition
3/ Add input consumer to capture touches during a Recents transition
2/ Add support for remote Recents animation
1/ Create display content window controller to position stacks in the display
- Allow the recents component to drive the animation from an app into
Recents using the remote animation framework. When initialized, the
animation repositions the recents activity behind the currently visible
tasks and provides the set of surface controls for the visible tasks.
Once complete, the recents component notifies the system whether it
has completed the animation into the recents activity, or whether it
should restore the previous state. In addition, there is a prescribed
delay after which the system automatically cancels the recents animation.
Bug: 70180552
Test: go/wm-smoke
Test: Manual, swipe up with suitable launcher build
Change-Id: Id32f03c7ad2288dce06231cfaa4b21916da511d7
This reverts commit 4badfe6d3b.
Reason for revert: removing the option from the developer settings UI
Change-Id: I9c8b32287160f61e34226391cfcb6477a0cd85b7
This re-commits I91265594c5ac3ecbc9ae487c7d227a460773f920
with a fix in parcelling logic
Allowing accessibility services to get the tooltip text
and show and hide tooltips.
Bug: 64836990
Test: Adding CTS tests for new APIs.
Change-Id: I4fb3c53c0e2b53fd9ecb59e034284eb575a87ed6
When ActivityView is being resized to a bigger region and an app
in it hasn't received new configuration yet, it will continue
drawing in old smaller size for some time. This results in black
bars being drawn in expanded area.
This CL tracks the topmost task launched on the ActivityView and
uses its background color to fill this expanded area.
Bug: 72220802
Test: Launch activity on ActivityView, resize and observe background
Change-Id: Id7090a1ad5ec49a31c19fe185fb3815b1788e77f