This adds support for registering a single DisplayRotationController
to WMS. It gives a chance for the controller to suggest some
task changes to be executed along with a display rotation. There
is only one because it's a 2-way communication and there is only
intended to be one client for now.
This allows us to move Split and PiP presentation/layout logic out
of WM into systemui because WM no-longer needs to be the one
calculating the new bounds of everything during rotation.
This uses the windowcontainer transaction because all the
configuration changes and the display rotation need to happen
synchronously; otherwise, relayouts can occur after the display
is rotated, but before the configuration changes are applied.
When this happens, apps get incorrect bounds/insets which can
trigger erroneous lifecycle events in the app.
The flow is like this:
1. DisplayContent/Rotation freezes screen
2. DisplayRotationController is notified of a rotation and provided a
callback.
3. The Controller then evaluates/queues some task changes in
a transaction and, when done, fires the provided callback.
4. The callback applies the config change transaction and continues
the rest of the rotation synchronously.
The DisplayWindowController is sys-ui piece that serves as an
interface between system-ui components and display-related wm
logic. For now it just facilitates the rotation calculation, but
in the future it will have more general utility for display logic
like inset/bounds calculation.
Bug: 124011688
Bug: 133381284
Test: Added some wmtests and coretests.
Change-Id: If10695f44fa076725ba17746842f6fbd64da5d20
Any window that sets FLAG_NOT_FOCUSABLE should not be considered IME target.
IME subsystem starts input on a window when it receives focus, if window never
intended to receive focus, it should not considered an IME target either.
Also, fix the broken javadoc for ALT_FOCUSABLE_IM.
Fix: 143898978
Bug: 140641950
Test: atest WindowStateTests
atest FocusHandlingTest
atest WindowManager_LayoutParamsTest
Also manually using steps:
1. Launch gmail compose activity
2. start typing in receipient field
3. verify that suggestions popup window w/ FLAG_NOT_FOCUSABLE doesn't
become IME target.
Change-Id: Ifa8e7345c2c9ad3730df86100003918b12fb533e
See go/UnsupportedAppUsage for more details.
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.
Bug: 137350495
Test: m
Change-Id: I5aa29a49b193db47aaee4d3a756c17f48cc9f0b1
Merged-In: I5aa29a49b193db47aaee4d3a756c17f48cc9f0b1
ANR - If embedded windows are slow in handling inputs the system should blame the embedded app.
PointerDownOutsideFocus - if a user taps outside the currently focused window onto an
embedded window, treat it as if the host window was tapped.
Rename blessInputSurface -> grantInputChannel and add a name to embedded windows.
Bug: 134365580
Test: b WindowlessWmTest
Test: atest CtsWindowManagerDeviceTestCases:WindowlessWmTests
Change-Id: If88970cf6ce17669b41fec995535151a492fab12
This patch will update the task description when the app calls
setStatusBarColor or setNavigationBarColor. The status bar is updated
but the information is not reflected in the task description without
this patch.
Bug: 132756841
Bug: 113253712
Test: Test with the test app in b/132756841. The task description is
updated as expected.
Test: go/wm-smoke
Change-Id: I4ba1e5e7dd0f096cba40221450a8861e3d578e3c
Enables multiple links for URLSpan on description TextViews. Also fixes
issue about cannot restore the save UI while back from the activity which
URLSpan launched.
Bug: 133515042
Test: manual
Test: atest CtsAutoFillServiceTestCases
Change-Id: I8a97c2eaccdde78622b5b5432c9b00ce19d871df
1. Define a trust TextClassifierService list which contains ExtService. And
also define a DeviceConfig flag which can be set to the TextClassifierService
we would like to use. Because the TextClassfierService can be set to a side-load
app, e.g. CTS tests. If the override flag is not one of the packages in the
trust TextClassifierService list, it should be able to see only text from
its own UID.
2. Made TextClassifierService available for testing.
3. Fix the incoreect order for onConnected().
4. Fix API Lint errors.
Bug: 141111813
Bug: 143249163
Test: atest FrameworksCoreTests:android.view.textclassifier
Test: Manual. dumpsys to check current TextClassifierService. Change flag
to another service, and then check TextClassifierService changing to
expected TextClassifierService.
Test: Manual. Use local TextClassifierService to make sure the service
call order of connection callback and API call is correct.
Change-Id: I37ff298f0c65ae0469bd54e30f1ebf48b77c126c
Currently, format is used to check for opaque but is not sent to
SurfaceFlinger to use when creating the SurfaceControl.
Test: format is set for WindowlessWindowManager
Bug: 134365580
Change-Id: Ia0707e49fa635313d3d54ca825173c71d2b17f14