Some apps have an payment screen with a scan card button.
When a text field's text is set in this scenario, the autofill
service is never triggered because no field gets focused.
Currently this new behavior is implemented for normal view.
Add the check logic in these two functions of AutofillManager
(notifyValueChanged/notifyViewVisibilityChanged)
to check if it should trigger autofill automatically.
Bug: 142821537
Test: atest CtsAutoFillServiceTestCases
Change-Id: Ibde94791f49772dc19cb8566a9c3a48dfbf16a58
This reverts commit 0ffa15ab5f.
Reason for revert: Checking treehugger to see if this fixes instagram
input handling.
Bug: 144619551
Change-Id: I606c651f7ec1ea8c26ecc92fc5e94994a480950b
We want to eventually migrate some of these APIs to be @SystemApi for mainline modules.
The #dumpDebug name is more appropriate than #writeToProto.
Bug: 142279786
Test: Manual
Change-Id: I60793e91cedf6b720d4ecef6a8484f4fed4ff30f
This action is used to do support distinct behaviour depends on how long
it's pressed and hold. The view declares this action should not expose
ACTION_LONG_CLICK.
Bug: 139506603
Test: The API Builds, there is no executable code here.
Change-Id: Ic3cf37677dd8bee2faf22f2f57feef4c9bb7cc22
With the parent CL that allows the topmost fullscreen activity to set
the display rotation when freeform windows are visible, OEMs may need
this method to easily regulate the display rotation behavior on external
displays, or primary displays when a keyboard is attached. Therefore
let's expose it to for SysUI to use it.
Also change its name for consistency, especially to differentiate this
and mIgnoreRotateForApps in DisplayContent.
Bug: 144185986
Test: Command line can still set it.
Change-Id: Id1233869c30b66bde3550267dbb21a84076c223d
This is the first step of eliminating SynchronizedPool for a11y ojbects.
The patch doesn't stop recycling, but allows service developers to
choose whether or not to.
Since recycling a11y node info is stopped in the cache, but the nodes
are still holding pooled collection/item/range info objects. Here it
goes away with public constructors except those refreshed one.
Bug: 117999988
Test: m update-api; m checkapi; m ds-docs
Test: atest --test-mapping $ANDROID_BUILD_TOP/frameworks/base/core/java/android/view/accessibility:postsubmit
Change-Id: I12304662f216b5e443785939f231893abdfa07d5
If app requests to show IME as soon as app resumes, the animation is
prepared and IME window is set visibile/invisible at start of the
animation. Also, control is set to the window when it receives focus.
This results in control showing the IME before even animation starts
creating a flicker.
Solution is to not applyVisibility when control is set if IME (or
another side) is already animating.
Fix: 144503524
Test: Manually using steps in bug.
atest InsetsControllerTest InsetsSourceConsumerTest
Change-Id: I5271d906772510cd819f75dc8eed141f4248b34f
It says it's set when the tool type is a mouse or trackpad, but the fact
is the tool type is TOOL_TYPE_FINGER on trackpads. Therefore remove
trackpad from Android doc.
Bug: 145135609
Test: N/A
Change-Id: Ife91ba032f9f0a8e7359425b415409ac609cdb25
This adds other parts of the window lifecycle (eg. ViewRoot
death, window removal, layout update). Some of the lifecycle
controls are just utilities, but are needed so that they
can be performed out-of-package.
It also shows/hides the surface based on underlying view
visibility. In actual WM, the surface is actually created/
destroyed based on visibility, but this breaks continuity
in WWM because the WWM user should have full control over
it.
Also made this public so it can be subclassed.
Bug: 133381284
Test: manual test in later CLs
Change-Id: Ibd7792c3f52c216089d9b498e3770e100ff24642
Interpret port as unsigned byte for consistency with uint8_t in SF/IF,
and clarify signedness in doc comments.
Bug: 143713778
Test: adb shell dumpsys display | grep physicalPort
Test: LocalDisplayAdapterTest
Test: DisplayWindowSettingsTests
Change-Id: I56ce0067367372a3a747fde783a1956975e833a0
Bug: 142507213
Test: 1. Manually verified refresh rate switching behavior on a phone
with refresh rate switching.
2. Wrote a new test file, DisplayModeDirectorTest.java, to verify the
behavior of the display mode voting algorithm.
Change-Id: Iceac6fd74e6528ddb2302f4d7eb926753e4ffd19
Adds reporting per-display configuration changes to
hierarchy listeners. On system-ui's side, the
DisplayWindowController then dispatches to other registrants
within the process.
Bug: 133381284
Test: Added testDisplayWindowListener
Change-Id: I68c4e9e229b97a9e91ad0d4f5276447a947c413b
Adds support for restoring the PiP size along with its snap fraction.
Modifies PipBoundsHandler logic to use both the previous size and
position (snap fraction) when calculaing the bounds for re-entry.
Additionally, some phone-specific logic is added to ensure that the
re-entry size that is restored is the non-expanded size (i.e. the
size before the bounds are animated to expand when pip is clicked).
Bug: 143641277
Test: enter pip, move it, touch to expand, restore. Then re-enter
pip. Pip should retain its size and position.
Test: atest PinnedStackTests
Change-Id: I21b7e4bf9360cd7da9faf2015c04d12d37c0241f
This CL adds the following trace points.
1) a synchronous trace point for "deliverInputEvent", which can include
some additional metadata w/o spamming systrace and perfetto UI. Note
this trace ends when either an asynchornous input stage defers the input
event, which is earlier than the asynchronous "deliverInputEvent".
2) a trace point for consistency verifier and unhandled key manager
each.
3) onProcess() of each input stage. It doesn't include the actual
process time of asynchronous input stages, but it's not hard to get a
sense of it when looking at all trace points together.
Bug: 142003033
Test: systrace includes traces for input stages for both touch events
(touchscreen) and key events (keyboard).
Change-Id: I1b416423d37486df9ff23856c676bc7dab7765be
Read framework resources and call the new SurfaceControl#setGlobalShadowSettings
API to set global shadow settings. Some of these settings can be overrided by
apps but for shadows drawn by SurfaceFlinger to be applied on surfaces, as opposed
to app content, we will keep all settings constant.
Bug: 136561771
Test: go/wm-smoke
Change-Id: I6f759479352e6923b883cae67f9b089d82978d30
go/cleanup-greylist-txt
These have already been greylisted, however due to bugs/omissions in the tooling have been kept in go/greylist-txt instead of being annotated in the code.
This is partial merge of aosp/Id6c1f5e403a0e66edb1102ee45f3bf19f244fb09. Telephony greylist cleanup has been done separately. Note that annotations outside of frameworks/base/ have been merged from AOSP.
Bug: 137350495
Test: m
Exempt-From-Owner-Approval: merge
Change-Id: I015c466e8b69cc0fed5e9d394ba865aad11d8ba6
Refactor the insets APIs:
- Remove top/side in the names of types
- Add a type for the caption bar
- Rename InsetSide to InternalInsetsSide which is a enumeration, so that
we can have a public @InsetsSide which is a bit-wise variable
- Fix the naming about insets: inset --> insets
Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
InsetsPolicyTest WindowStateTests CommandQueueTest
RegisterStatusBarResultTest InsetsFlagsTest
LightBarControllerTest RegisterStatusBarResultTest
Change-Id: I27a066299eea9927ce61f6cb5d489ad79bca42ba
This is to address the concern from API council for accessibility state
api. See b/143652980 for more details.
Bug: 143652980
Test: not needed for javadoc change
Change-Id: I3f219b7838b72fda86a957ebd14c063175657d47