This partially reverts the logic to compute the stackEndHeight, as it doesn't make the shelf stick at the bottom when scrolling notifications. This might reintroduce the bug of trimmed notifications on lockscreen, that will be addressed in another cl.
Bug: 227733494
Bug: 214504318
Fixes: 226054279
Test: Test: atest ShelfInvisibleWithLowNotifications && atest ShelfVisibleAtTheBottom
Change-Id: I20286eb961d46439a0d80980c085a41b93241cb8
This adds tests for the behaviour of the notification shelf when there is an overflow of notifications.
Test: atest ShelfInvisibleWithLowNotifications && atest ShelfVisibleAtTheBottom
Bug: 227733494
Change-Id: I67eb243c4d1745a9f61bd4a7f2f785bce8d1c095
This reverts commit 2b4d25be789ae2c4148d12fa7aa894bd5ff484d3.
Reason for revert: Crashes when the returned ref is a global ref (i.e. for all Java Binders), see b/227719836
Bug: 227719836
Bug: 225287201
Change-Id: I374a09f33821c7404f3d16d3d9e25aebd8eab1b0
The file size was starting to grow for this class, so started extracting
some of it.
Also implemented dumpable for the new classes for better tracking of state
in bug reports.
Bug: 227604286
Test: LockscreenShadeTransitionControllerTest.kt
Test: adb shell dumpsys activity service SystemUIService
Test: Manually
Change-Id: Iebd36726ebffdb9b6a37e742f69d7e5a80f25e6e
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
Before, we register remote animation per organizer, and assume it only
organizes in one Task. Now, we register per organizer Task if there is a
rule that supports split in the Task width.
Bug: 207720388
Test: atest WMJetpackUnitTests
Change-Id: Iac4e10af9aa0e7846c81b036b2cf708b6cbe627e
Using parent view's adapter to prevent getting incorrect item after
filtering the list.
Bug: 227447626
Bug: 227289977
Bug: 227279371
Test: By manual
Change-Id: Ic7dde57cdc0dd44adf803317f836131d578f044b
(cherry picked from commit d3df5bdf8436f320f1370922a52cf7d8e38d809b)
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
shade.
Currently, since the bouncer and notification shade utilize the same
panel, we see the bouncer appear when swiping down the shade. With this
fix, we only allow the bouncer to expand if the shade is not expanded.
Bug: 226419441
Bug: 224996347
Test: locally on device
Change-Id: I6f702cc1d262bb3a0397fadf7f14b8f3c683900d