This event is called when:
- After notifyViewEntered() when autofill is disabled.
- After service returns an "empty" FillResponse to FillCallback.onSuccess().
BUG: 36056207
Test: LoginActivityTest.testAutofillCallbackDisabled
Test: LoginActivityTest.testAutofillCallbackNoDatasets
Test: VirtualContainerActivityTest.testAutofillCallbackDisabled
Test: VirtualContainerActivityTest.testAutofillCallbackNoDatasets
Change-Id: I7b8636473f738bf600aa96b28c77827b2cc78815
There is some flakiness in View#onConfigurationChanged callback -
if ViewRootImpl receives config update earlier than ActivityThread,
it may not detect the configuration change and skip inner updates.
Also now ViewRootImpl assumes that it receives the global config as
a param, but instead it gets merged config from WM. This means that
ViewRootImpl#sConfigCallbacks was sending incorrect values to the
recipients.
This CL switches to sending global and override configuration to the
client separately. Also in case if there is a corresponding activity,
it first updates it and waits for update callback to ViewRootImpl.
This way global config and override config for activity will always
be set first and resources will be updated before inner state of
ViewRootImpl is updated.
Bug: 35870157
Bug: 34164473
Test: android.server.cts.ActivityManagerDisplayTests
Test: testOnMovedToDisplayCallback
Change-Id: Ic9e7541cf25ecfac6ec90e48f7efb0ece91f657e
This is a follow up CL to a previous CL [1] that removed an @hide method
SurfaceView#setWindowType(int).
It turns out that at least one application has relied on this @hide method
via refection to set TYPE_APPLICATION_PANEL to the internal Window object
for some reasons. Such an operation has never ever been allowed to the
application developers.
To minimize the risk of compatibility issues and to help developers and
QA teams figure out what is going on, this CL re-introduces the method in
question to do three things:
1. Show an error message with stack trace in logcat if this method was
still called.
2. To emulate the previous behavior for applications that set
TYPE_APPLICATION_PANEL, call SurfaceView#setZOrderOnTop(true) on behalf
of them as a stop-gap, short-term solution until application developers
are notified that their products are doing something unsupported.
3. Throw an exception if the targetApi is Android O or later.
[1]: Ie56b6f7ab16f32d7fc459b8eba26594337ad55de
d5c7dd6da8
Test: Manually verified that the complaint in Bug 36345857 disappeared
Bug: 36345857
Change-Id: I5217f6417a73690ae8a978754218b7b089070fdd
repositionChild, performDeferredDestroy, and SurfaceControl with
background were all only used by SurfaceView and are now no longer
required in the wm.
Test: Only red.
Change-Id: Icb773572e6d6202f78a6d23b2431fbfacbe272c6
Adds support for invoking display magnification by first selecting
the Accessibility Button, then touching an area of the screen to
magnify.
Bug: 30960346
Test: Manual
Change-Id: Ifd8a355562f204182e34bd37f71a3637d85cf0e1
This should be the highest scoring one, not the first one.
Test: cts-tradefed run cts-dev -m CtsViewTestCases -t
android.view.textclassifier.cts.TextClassificationManagerTest
Change-Id: Ib790d8aa4aeccdd7a7972eaa6c04ed4fc69ad00e
- Added a requestAutofill(view,flags) method, that when passed with
FLAG_MANUAL_AUTOFILL triggers a manual request.
- Added same method for virtual views
- Overloaded existing AutofillService request methods to take a flag.
- Added an AUTOFILL context menu option on TextViews.
- Added a canRequestAutofill() that is used to enable the context menu.
BUG: 35708229
Test: manual verification
Test: existing CtsAutoFillServiceTestCases pass
Test: android.autofillservice.cts.LoginActivityTest#testManualAutofill pass
Change-Id: I1a64d40da3373774451d178b1cabf20f11120e9d
The FillResponse was automatically adding the AutofillId of all Datasets to
the SaveInfo object, but that would cause problems when the AutofillService
is not able to save some data (for example, if it comes from a read-only
backend).
Bug: 36076444
Test: OptionalSaveActivityTest pass
Test: m update-api
Change-Id: I1d5faaddf29e1be0f357438c8485e07caf975293
Location of the model files have moved to etc/textclassifier
Test: cts-tradefed run cts-dev -m CtsViewTestCases -t
android.view.textclassifier.cts.TextClassificationManagerTest
Bug: 34865247
Change-Id: I1e9b3a6588b37ce9a35fb5146a3e6dca921510ed
throw and handle errors if the wrong value is set for a view
Test: android.autofillservice.cts.AutofillValueTest
Change-Id: Ida80da7913a210bede6c47d6b7a6f215a012a84c
1. Ensure clicking on a focused view brings up autofill if needed
2. Notify the autofill manager in a couple of cases we missed
3. Renamed the AutofillManager app facing APIs to better reflect what
they do and added a API for the app to cancel the autofill interaction
4. Fix view structure dispatch where the ordering of children for autofill
was mixed with ordering of direct view children - the autofill children
may be indirect as views can be marked not important for autofill
5. Show scrollbars only if there are more fill options than want is shown
6. Show only three fill options and the rest can be accessed with a scroll
7. Remove the list divider to allow fill items to control all fill window content
8. Renamed the autofill manager internal service classes to xxAutofillxx
9. Fixed a comment that was not addressed in a previous CL
10. Showing max three fill options - rest needs a scroll
11. Make sure fill UI shown when filter with no matches is changed
to filter with some matches
12. Make sure the fill window has a shadow
Test: Autofill CTS tests pass and manual
bug:36038929
bug:36040101
bug:36149166
bug:36034681
bug:36126001
bug:36035654
Change-Id: Ic8726146fc3c0a19d3e536becdd63fb65622136e
Displays can be rotated separately and rotation watcher clients
are only interested in rotation of some specific display. This CL
adds displayId to rotation watchers and only informs them about
changes on their display.
Bug: 34242678
Test: Manual and debug.
Change-Id: If0f03804da0392c2b14a4e7c2d6a06068ad8760b
This allows to avoid A11yManager -> A11yManagerService IPC, when there's no
subscribers to a given event
Test: steps:
- Enable A11yManager.DEBUG
- Navigate through a few random activities
- In logcat, ensure log messages are present, notifying that certain events
won't be dispatched
Change-Id: Ia019fb66053f10095b3651407d09de8e89cdd227
This restores the N behavior where RT synchronization
was broken for buffer size changes.
Bug: 36180927
Bug: 28866173
Test: Manual. Will follow up once dechaselisted.
Change-Id: I31c4f83858a096af0dd73611ed120861911fc9d9
This CL moves rotation tracking from WindowManagerService to
DisplayContent. This way displays can be rotated independently and
rotation of the main display won't affect rotation of secondary
ones.
Bug: 34242678
Test: android.server.cts.ActivityManagerDisplayTests
Test: testRotationNotAffectingSecondaryScreen
Change-Id: Ic46aaa523482b31ff5ec77f0c2908ceda1156fc0
Exposing actions from the PIP InputConsumer to accessibility,
stripping all actions from a covered PIP app, and adding the
InputConsumer's actions on the PIP app's root view.
We were also using an "undefined" accessibility ID to mean
three different things: a root view, a host view of a virtual
view hierarchy, and a truly undefined view. I've introduced
new values for cases where the id could be defined.
Also gathering all window IDs into one place to reduce the
chance of collisions.
Bug: 34773134
Test: In progress. Current cts passes.
Change-Id: I97269741a292cf406272bf02359c76c396f84640