Test: m -j update-api. Build and flash and test back behavior throughout
the system.
Bug: 227500290
Change-Id: Ibdb13d02e044741d05d99f1cad96e43dc0129fe4
- Better logging
- Remove method form OnBackInvokedDispatcher interface (but not the
implementation)
- Add test for ag/17211289
Bug: 222675481
Test: BackNavigationControllerTests#testUnregisterCallbacksWithSystemCallback
Change-Id: I6a3ae30da7e29dddda116acd8fa0c9af4b9faa6e
To make it easier for developer to migrate away from KEYCODE_BACK
without having to walk up the view hierachy in order to find an
OnBackDispatcher, introduce findOnBackInvokedDispatcher.
Bug: 227301455
Test: android.view.cts.OnBackInvokedDispatcherTest#testGetDispatcherOnView
Change-Id: I7f3e76df596d306fa26d72df8115d5b15d7ac564
In case the insets animation frame will not be scheduled by render
thread when the host window was not visible to user, added
ViewRootInsetsControllerHost#isVisibleToUser to check when invoking
applySurfaceParams to schedule the next frame, if the host was not
visible means we don't have to synchronize with the window host and
just apply the surface transaction on the UI thread directly.
Fix: 206992027
Test: manual as steps
1) Receive any incoming message
2) Tap on inline reply to show the keyboard
3) Tap on the voice input button on the keyboard
4) when permission dialogue prompts on the screen, expecting both
notification shade panel collpse animation and IME hiding animation
are working fine without any stucked frame.
Change-Id: I266587d5a3f136149d116214e2a49de92466ec2e
Caption is covering the app region and will take gesture and tap events
when the user interact with the caption. This change will make sure the
app can receive the caption as a part of the tappable element insets and
gesture insets to avoid the caption overlaps with interactive elements
inside the window.
Bug: 219987804
Bug: 209717743
Test: atest, see the bugs
Change-Id: I6e48f8df6eb8f73a2f62f34109f4d80d09021929
It's prefered to keep the API deprecated since the API was previously
deprecated and made a noop. Undeprecating it would lead to inconsistent
behavior across android versions. With the API not working on some
versions which can easily look like a bug from a developer's
perspective.
Instead we create a new API for the animation background effect refering
to an animation backdrop instead of a background. This also required
updating other API references of background in this context to backdrop.
Bug: 226122431
Test: atest CtsWindowManagerDeviceTestCases:ActivityTransitionTests
Merged-In: I4493d22a33606d639d498b6dc0f6f1bfa3d7f135
Change-Id: I4493d22a33606d639d498b6dc0f6f1bfa3d7f135
This was previously deprecated in favor of preferredDisplayModeId.
However, display modes include specific resolutions
so we would still need an API for the valid use-case
of specifying only a preferred refresh rate.
Bug: 227627158
Bug: 224915081
Test: built locally
Change-Id: Ic7c711d03d3ccc7a5193b26ca38159f048777927
Since we already have IWindowManager#syncInputTransactions, we can
remove the need to have an input injection API in the window manager
interface.
Bug: 227356680
Test: presubmit
Change-Id: I730d05eec85978d8813e0924ddb4dba26922ea9f
topFocussedWindowChanged() api.
- This is helpful when DisplaySystemBarsController needs to show/hide
the bars depending on what the window has requested.
Bug: 224883596
Test: atest DisplayInsetsControllerTest
Change-Id: If00231b96153c9c7830fd948003e00a93c8294cd
- Disable dimming for screenshot layer
This is to fix HDR flicker in picture-in-picture mode. Because the
screenshot layer of rotation is an SDR image containing
tone-mapping HDR content, and this would cause HDR part to be suddenly
dimmed during rotation along with the entire screenshot, even though
DisplayManager maintains different HDR and SDR while white points during
during rotation animation.
Therefore, we add a hidden api to allow to dim a particular layer. This
effectively sets the white point for that layer to be same as the
display brightness. Then the screenshot with this flag can be used a
part of the rotation animation in order to remove flikering effects.
Bug: 224860402
Test: check HDR vidoes when rotation
Change-Id: Ib5c02635928cb9779e6f7968d2ec0ac9e659420b
Merged-In: Ib5c02635928cb9779e6f7968d2ec0ac9e659420b
translations.
Bug: 192331240
Test: atest android.translation.cts.UiTranslationManagerTest
Test: Manually on device:
1. Kill Gboard
2. Open translatable Chat conversation, wait for Live Translate
4. Focus on chat input
5. Auto-translate on Gboard is opened, and debug logs show
"TranslationManagerServiceImpl: Triggering callback for..."
Change-Id: Ida82a947491e8157fac5cd43939d6d358fbe6c7b
Also introduce a system property to facilitate debugging of caption in
shell.
Bug: 165794636
Test: Caption shows when the property is unset. Caption goes away when
the property is set.
Change-Id: I57060778c46da217a957910f0cc9d1fe1592cfa1
Added a paragraph to be more descriptivea bout how the bounds are
loaded, and when they would be expected to change. In particular, added
a clause to state that the bounds should never be null so long as there
is a StatusBar window.
Fixes: 189190379
Test: read docs
Change-Id: I0392310d3a19ea6f6a74010266e90ffe5c1543e9
We might need to bring the legacy split-screen back. This CL restores
the logic of the fullscreen backdrop frame.
Bug: 161810301
Test: Drag the split-screen divider after setting
ActivityTaskManager#setSplitScreenResizing to true
Change-Id: Ifdc8b7695595e81e381b3311cf0d266f9af4be23
When ViewRootImpl is going to draw a frame due to a blast sync request,
we call forceDrawNextFrame to ensure we get a draw this vsync, even if
RT animation rendered a frame. This will ensure that we aren't required
to reschedule a draw either in rt thread or ui thread since we'll get a
frame back as long as there's an available buffer.
We also disable rt animations if a sync set has started with Syncer and
then re-enable when the sync set is complete. This ensures we don't
continue to acquire buffers for a render thread scheduled animation
during a UI animation since we want the UI request to get the buffer.
Test: Open internet dialog from notification shade on 60hz device
Fixes: 217621394
Bug: 200284684
Change-Id: Ic1534d21b0ee2ad82f20ff34df4cbbbad87557fd
This logically relands the change [1] which added an @hide api
InputMethodManager#reportActivityView() with renaming as
reportVirtualDisplayGeometry().
Because ActivityView was removed, this API was removed [2] once.
However, because this API is useful for OEM customization, this change
adds the same API with a generalized method name.
Note that there was a change on how cross-display input connection
cursor update is blocked [3]. Thus, this CL adapts to it.
[1] Id0411a80456182111bb5b681c6d1230b58e7ec2e
[2] Idd60d96a39f827197d189beb5de016446576d9cd
[3] Iec12733d37e112b7271436bba15094ae2a55a450
Bug: 224424149
Test: manual. Cursor is updated in cross-display connection.
Change-Id: I35b491da5a340844e17542d7a6198f8152bbeda3
This logically relands the CL [1], which added an @hide method
CursorAnchorInfo#createForAdditionalParentMatrix().
The corresponding change was once removed in [2].
This is a preparation to reland a change that supports
InputMethodManager#reportActivityView() again.
[1] Ic7f9057623ffc61ec7a6121735dc39adecf4649d
[2] I0a05453eeed863db5bfe4b965ab4bcbad67f2783
Bug: 224424149
Test: CursorAnchorInfoTest
Change-Id: I0a411453c7c26795d28e913a96be8eb8fa3684d7
ViewRootImpl was removing the callback from the server after the
windowState was removed, which was consistently failing resulting in an
exception in the log.
Now the removal is done before the ViewRootImpl's window removal
Test: Manually check that the error is not appearing in the log
Bug: 226089354
Change-Id: Ie9cb9940791b16d6ae1b243079794583c87b1a5c