I9e6f44b07a170574a905f42338282c4bb7e95f56 changed the way the light
source alphas were set for renderers - the alphas were passed as ints
between 0 and 255 before, while now they are passed as a double between
0 and 1. This CL updates SimpleRenderer, which is only used by the
magnifier, to use the API correctly. Before this CL, the incorrect usage
was causing the value validation to fail and apps to crash when the
magnifier was trigerred.
Bug: 119423778
Test: manually tested the magnifier
Change-Id: I8978ac16aca38906ec2cf4ae30a83beddfc9e941
TODO: Construct RemoteAction for contextual actions.
TODO: Map Person object to user id.
TODO: Consider to use LangID to infer the locale. And get a new model when locale is changed.
BUG: 111437455
BUG: 111406942
Test: atest ./core/tests/coretests/src/android/view/textclassifier/TextClassificationManagerTest.java
Change-Id: Id35066455918b3321fcd30df0ff215e30586a4b3
There are 4 new APIs on View:
- boolean setImportantForContentCapture()
- boolean getImportantForContentCapture()
- boolean isImportantForContentCapture()
- boolean onProvideContentCaptureStructure()
And 4 on IntelligenceManager:
- void notifyViewAppeared()
- void notifyViewDisappeared()
- void notifyViewTextChanged()
- ViewStructure newVirtualViewStructure()
These methods are similar to the equivalent methods that are used for Autofill
and/or Assist, except for the following differences:
- The view hierarchy nodes are reported as they are rendered, rather than at
once in a tree, recursively. Hence, the ViewStructure implementation does
not implement the methods that add children to it, and views that provide
virtual hierarchies must manually call IntelligenceManager to create the
ViewStructure to their children and notify when their children are added and
removed.
- It does not support methods added for Autofill to handle HTML pages (such
as setHtmlInfo() and setWewbDomain()), as they're not important in the
Content Capture context.
- Similarly, it also does not support setDataIsSensitive(), because the
Intelligence service does not have the same restrictions as the Autofill
service.
The CL also provides the initial implementation of these APIs, although still
full of TODOs (for example, we're not holding the events to send as a batch
yet).
Test: m -j update-api doc-comment-check-docs
Bug: 117944706
Change-Id: I43f06ce82bfe3b14d8d13fb3b2ebee223db83284
This not only indicates if something is paged, it also indicates what
direction a page can be scrolled towards.
Test: The API Builds, there is no executable code here, that is for
another CL
Bug: 119425427
Change-Id: I0a40079f4e31e48bc53445a247e301c0d09d2497
This CL introduces persistence to launch bounds logic. It also wires up
the following state changes and persister:
1) freeform resizing;
2) windowing mode change;
3) display change;
4) task closing.
We may still need to persist immersive mode, but that needs further
discussion.
Changed launch bounds modifier a bit so that it won't launch tasks that
are completely out of the new display or conflict to existing tasks.
Bug: 113252871
Test: Manual tests on that freeform launch bounds are persisted across
reboots.
atest WmTests:LaunchParamsPersisterTests
atest WmTests:LaunchParamsControllerTests
atest WmTests:PersisterQueueTests
Change-Id: I20f3056735253c668c7f09c6eb5204e6a5990b1c
- Using DisplaySettings class for storing the display settings.
- Define flags in WindowManager.
- Have direct IWindowManager APIs to set and change display settings at
runtime.
- Mark TODO to original usage of the flags.
- Add test case of DisplaySettings.
- Expose some APIs for CTS usage.
Bug: 114338689
Test: atest DisplayWindowSettingsTests
Test: atest CtsApacheHttpLegacy27ApiSignatureTestCases
Change-Id: I64ed14866d45cd5817fc3c895b6110c79c37b0ad
Update api name to getRecommendedTimeoutMillis.
Api returns timeout for interactive or non-interactive controls.
Also provide the options for a11y service to specify two kinds of
timeout.
Bug: 111210981
Test: atest SettingsBackupTest
Test: atest AccessibilityManagerTest
Test: atest AccessibilityServiceInfoTest
Change-Id: I37d35796fd72bb4d6628a6bb33b111987f321552
Split out the View/ViewRootImpl bits from the
hardware rendering bits.
Create a potential public API surface for
hardware rendering
Bug: 112709971
Test: builds & boots
Change-Id: I9e6f44b07a170574a905f42338282c4bb7e95f56
The existing documentation suggests that ACTION_UP events will contain a
valid repeat count that is equal to the repeat count of the latest
ACTION_DOWN event. However, in practice, that is not the case.
Rather than changing the behaviour to follow the existing documentation,
change documentation to conform to the existing behaviour. The rationale
here is that changing the behaviour might mean that some apps would
start relying on getRepeatCount() being non-zero. But this would only
work on the latest Android release. So if an app is tested only on the
latest Android release, and not on the release before this behaviour was
changed, the app would be broken on the older releases of Android.
Test: CTS tests will be added for injection
Bug: 113341746
Change-Id: Ia53e0e606c0b3c64135ef00950dc8a19f62933ca
Add the @InspectableChildren, @InspectableNodeName, and
@InspectableProperty annotations, and a host library containing them for
use in the annotation processor.
Bug: 118893821
Test: m
Change-Id: I11dcec09c2c69db951fc87d37463b6f8ca28d8fe
Create a new package, android.view.inspector, which contains the
InspectionHelper interface, and the associated interfaces
ChildTraverser, PropertyMapper, and PropertyReader.
Test: m
Bug: 118895011
Change-Id: Iaedf1c82ac302bbc467300065b8e1612baf57ad7
There seems to be an issue with referencing constructors for
inner classes, working around this until it is investigated.
Bug: 119190588
Test: make droid
Change-Id: I41f98fbe0f066358f3a8bf73052065c7feb7234a
* changes:
WindowInsets: Annotate nullability
WindowInsets: Add Builder
WindowInsets: reimplement WindowInsets on top of Insets
WindowInsets: make WindowInsets.inset() public
Move display update logic from WM into ATM hierarchy by letting
ActivityStack watch for relevant changes and calculate bounds
accordingly and removing configuration updates from WM side
outside of calls from the display-level controller (like how
the other levels work).
One of the main display-changes to account for is rotation. To
make this work without drastically modifying things was to leave
display freeze/startSeamless in WM but move the actual rotation
to ATM while handling SEND_NEW_CONFIGURATION. This prevents
changes to the wm-side hierarchy outside of ATMS's control.
To facilitate this extra communication between ATMS and WM,
this adds rotation into WindowConfiguration. This makes rotation
available to the hierarchy update for policies that care about it
(things like split). It will also replace TaskStack's mRotation
in an upcoming CL and should also let us remove the one-off
variable for landscape->seascape orientation changes (needs
some more research though).
Bug: 113900640
Test: go/wm-smoke + relevant am/wm servicestests
Change-Id: I12c79cc5eb94d48d846f1cf27765c9f9f6741435
Rather than use a local and global id, just use a local, unique id.
Such change not only simplifies the code, but makes it consistent with
TextClassificationSessionId.
Test: mmm -j packages/experimental/FillService && \
adb install -r ${OUT}/data/app/FillService/FillService.apk && \
adb shell settings put secure intel_service foo.bar.fill/.AiaiService
Bug: 111276913
Change-Id: I0e610f825aab1d2b32bbafa1bd3d3c7897d889d6
It's only implementing the activity lifecycle events, but at least they're fed
end-to-end in the pipeline (from app to service implementation).
Test: mmm -j packages/experimental/FillService && \
adb install -r ${OUT}/data/app/FillService/FillService.apk && \
adb shell settings put secure intel_service foo.bar.fill/.AiaiService
Bug: 111276913
Change-Id: I2f46be1e6a6a21ad909e5fffea01bedaa28fb300
It's still full of TODOs, but at leats it now provides an end-to-end
workflow from the activity creation / destruction to the service implementation.
Test: mmm -j packages/experimental/FillService && \
adb install -r ${OUT}/data/app/FillService/FillService.apk && \
adb shell settings put secure intel_service foo.bar.fill/.AiaiService
Bug: 111276913
Change-Id: Id5daf7b8b51e97c74d9b6ec00f953ddb02b48e46
IntelligenceService is a @SystemApi, and hence not available from non-system.
Test: echo "in TH we trust"
Bug: 111276913
Change-Id: I4c28de49334bdf100a26963e47df9630804730df
A.K.A: "The thing's hollow — it goes on forever — and — oh my God! —
it's full of TODOs!"
Bug: 117944706
Test: m update-api && m
Change-Id: I0774a0df4f4ea0810a8c5f72a1fbcd4eef5cd09b
Currently, listModelFiles and findBestModelFile methods only support annotator model.
But we want to extend them to support other models as well, like langID and actions.
Thus, introducing ModelFileManager, which provides listModelFiles and
findBestModelFile. ModelFileManager takes a Supplier<List<ModelFile>> to list model files.
For different types of model, we just need to provide a different supplier to the ModelFileManager.
There should be no behavior change.
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/ModelFileManagerTest.java
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/TextClassificationManagerTest.java
Change-Id: I4fc3fd1c9246383ee5d906792bb14b96dbf0a79f