This CL allows for a Trusted Display to specify not only whether the IME
should show on itself or the fallback Display, but also whether the IME
should not show at all.
This behavior is useful if interacting with a display that has a built
in IME; it will prevent an IME from also showing on the default Display.
Bug: 170233231
Test: atest MultiDisplaySystemDecorationTests#testDisplayPolicyImeHideImeOperation
Change-Id: Id86db922e8f2c3ca065f830ee371cccaa7c36101
Allow DA organizer to create new TaskDisplayArea.
Fix: 173455508
Test: atest WmTests:DisplayAreaOrganizerTest
Change-Id: I7d4e88f43ae14561720c6942ca0e9f82dc28e9f6
Settings application needs the previleged permission to
get AoD supression status by using PowerManager API
Bug: 173425264
Change-Id: I5da006b7c88dc36d3eefebc559f2a2f3ab50823f
Test: Manual & bootup device
AppTransitionController#getTransitionCompatType scans app transition
requests being set in the setup stage, and decides the app transition
animation.
Bug: 166736358
Test: Changes are behind a flag. No logic change yet.
Change-Id: I4320b04da2569d555369e6698f084d9514e36590
Current tracked changes include bounds, visibility, and
"existence".
bounds and visibility are fairly straightforward, call
collect() before doing operations and it will record the
state. Once the transition is finished, it will compare
that recorded state with the finished state.
"existence" is more complicated. It's the difference
between show/hide vs open/close. Because Task instances
are basically always around, their existence depends on
the circumstances around when/how activities are started.
For that we have to explicitly indicate when a container
is going to change its existence via
collectExistenceChange().
Bug: 169035306
Test: atest TransitionTests
Change-Id: I78d4cda6b726202507b757f93c742d49e51e2d7b
Previously was just using whatever the legacy transition system
used. However, that system would wait too late (until after
round-trips to the client) in order to prepare some transitions.
Since the new transitions utilize "snapshots", they need to
collect earlier in the lifecycle to work properly.
This first CL deals mostly with activity start/finish and
task to-front/to-back. It also adds some utilities like the
ability to abort a transition (needed because activitystarter
works this way) and the ability to un-ready a transition/
sync transaction to enable trampolines.
This also switches the transit types to the new constants.
Bug: 169035022
Test: Existing tests (TransitionTests) pass
Change-Id: I05f3a2e8e27ccaed7077d648daf033aeabc333f9
systemui crashes when style is applied with work profile active
Test: manual
Fixes: 172666423
Fixes: 170515704
Fixes: 162480130
Fixes: 170425666
Change-Id: I35a865ccd80422cb03cb6208f7db36216a220da0
Revert "Add Noto scripts for revival languages"
Revert submission 12916075-Noto-revival-languages
Reason for revert: Potential root cause for build breakage (b/171905161)
Reverted Changes:
I6bbf6bc87:Add Noto scripts for revival languages
Ife41ff9df:Add Noto scripts for revival languages
Change-Id: I46b9dc1bafafa36f9d9ae7467e1911ac7adb7397
Currently some of the information about a task created by createRootTask
is returned with the method and the rest like leash is return in
onTaskAppear. Mixing both async and sync infromation return styles
complicates the mental model for this. So, we will have this be
completely aync for now.
Also, fixed an issue where the windowing mode for organizer created
task was not set correctly before the organizer gets the first task
appear signal.
Bug: 169266958
Test: Split-screen works!
Change-Id: Ia4180d5a42838bf566fbf75f40466dfd8237e0f1
Added also a AIDL method Launcher would issue when the entering pip
animation is completed on Launcher side and WM should update the task
surface when doing cleanup.
Bug: 143965596
Test: see ag/12838262
Change-Id: I5396f9637b4760df014f63b46543d4f399229bba
This dependency is fictitious: hidl manager actually contains a static
copy of hidl base for convenience. Separate libraries were created
later (e.g. android.hidl.manager-java-shallow) in order for users of
these libraries to specify the exact deps they need.
Fixes: 170710203
Test: boot and check logs
:) adb logcat | grep android.hidl.manager-V1.0-java.jar
10-21 00:42:53.173 328 328 D ApplicationLoaders: Created zygote-cached class loader: /system/framework/android.hidl.manager-V1.0-java.jar
10-21 00:43:17.322 329 329 D ApplicationLoaders: Created zygote-cached class loader: /system/framework/android.hidl.manager-V1.0-java.jar
10-21 00:43:31.920 2250 2250 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.hidl.manager-V1.0-java.jar
10-21 00:43:38.884 2847 2847 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.hidl.manager-V1.0-java.jar
10-21 00:43:41.010 2923 2923 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.hidl.manager-V1.0-java.jar
10-21 00:43:42.146 3044 3044 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.hidl.manager-V1.0-java.jar
Change-Id: I024a1b16570bdceb7bef5b2e718c65155c675b4a
The CL adds background blur to the WindowManager LayoutParams as a
hidden API. The background blur is then passed on to the SurfaceControl
in WindowStateAnimator.prepareSurfaces.
Bug: 167166562
Test: m && flash && start app that requests background blur && verify it
works
Change-Id: I5dad3d8d5c75e1feff8fa035452dfe5c90efaa88
Needed to give KitchenSink control over enabling/disabling rotary
functionality.
Bug: 170232080
Test: manual
Change-Id: Ic69222642884444597e7411b17b6c6f363076981
SyncEngine's requirements are getting more demanding as it is
used in transitions as-well as more-complicated interractions
in Shell. In order to meet the requirements, this converts
BLASTSyncEngine to work mostly by polling during surface-placement.
The previous set-up was already gated on surface-placement, so
there shouldn't be any additional latency.
There is now only one SyncEngine (instead of many) and it manages
SyncGroups which must not overlap. Whenever a container is added
to a sync group, the SyncEngine will monitor the subtree rooted at
that container. When a child receives finishDrawing: instead of
immediately reporting to the engine, it simply remembers that it
is now READY for sync. On each surface-placement pass, SyncEngine
will check the subtrees to see if everything is finished syncing.
This enabled the following:
- Now handles visibility changes and new children (since it is
always checking the full subtree). This is needed to deal with
opening transitions.
- Doesn't wait for occluded siblings. This is needed to deal with
starting windows.
- Handles parenting changes: immediately applies sync transactions
on subtrees exiting the sync-group, requests updates/waits
on subtrees entering, and re-requests updates for subtrees moving
within the group.
- Includes removals in sync transaction
Bug: 161710818
Test: SyncEngineTests
Change-Id: Ic3fdc091d5656b3eaea45bce449e098ee9d2aabb
1. Move the mIgnoreOrientationRequest to DisplayArea so that one can set
it on DisplayContent and DisplayAreaGroup to ignore orientation request
from non-app windows.
2. Have the DisplayContent to return SCREEN_ORIENTATION_UNSPECIFIED when
it is SCREEN_ORIENTATION_UNSET so that the display respects sensor
rotation.
3. Move the logic of using last orientation back to TDA, otherwise when
TDA returns UNSET because ignore is set, DC may incorrectly uses the
last orientation.
Bug: 170725334
Bug: 155431879
Test: manual: test with setting TDA and DC to ignore
Test: atest WmTests:TaskDisplayAreaTests
Test: atest WmTests:WindowOrganizerTests
Test: atest WmTests:DisplayAreaTest
Test: atest WmTests:DisplayContentTests
Change-Id: Ie92b059c453204799a58efd39dc9b23f7d62816d