The very first state of touch mode is obtained from addToDisplay. It
should be applied in the first performTraversal regardless of mStopped.
In this way, when an app window is re-created at the background, the
touch mode state can still be up-to-date.
Fix: 227843343
Test: 1. Open Chrome and go to the homepage.
2. Change the theme via the 3-dot menu > Settings > Theme.
3. Go back to the homepage and see if any button is focused.
Expected behavior: no button looks focused.
Change-Id: I2681e2436dd265abe9cd9bdd56ee5799fa30d89b
We could process an earlier scheduled MSG_RESIZED after
a later executed relayoutWindow. In this case we might
accidentally move the seqId backwards, which could mess
up our logic. While we are touching this area, we
take the opportunity to ensure SyncHandlers execute
in the order they were added.
Bug: 161810301
Bug: 227561299
Test: Existing tests pass
Change-Id: I8e5ceea1ef34e4da94807582c89a33df95772c04
This reverts commit 253696fea3.
Reason for revert: remove from tm-dev
Bug: 206649452
Change-Id: I013f08dfba89eb89e7713dddc1f4f894e335df62
(cherry picked from commit 608a679783)
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
View#getHandwritingArea mistakenly returned a non-null Rect even for
view's which never calls setHandwritingArea. As a result, handwriting
is not properly initation for views other than EditText.
Bug: 227278641
Test: atest android.view.inputmethod.cts.StylusHandwritingTest
Change-Id: I45700f2684a2f4138f73eaa843d3019e6c26d2f6
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
With shell transition, there won't be task info if the transition
is launching activity in the same task. ActivityLaunchAnimator
assumed the task info is non-null, which causes NPE.
Bug: 223397404
Test: adb shell setprop persist.wm.debug.shell_transit 1; reboot
Long press quick settings tile from notification multiple
time. Especially launch the same tile twice, systemui
should not crash.
Change-Id: I0ad1fef17653d72162d430339ac7e8a716aa9bfe
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