This fixes test LauncherJankTests#testWidgetsContainerFling which sends
this keycode as a part of opening a widget container.
Bug: 72967764
Test: atest google/perf/jank/SystemUI/UbSystemUIJankTests:android.platform.systemui.tests.jank.LauncherJankTests#testWidgetsContainerFling
Change-Id: Ia10f0306712187a526a3e9041ec67af2e3cbef77
> Creating the launcher animation after first draw, so that the UI is in correct state
> Using correct workspace size, when layout is not valid
> Snapping pagedView to correct page when page size changes
> Resoting to correct workspace page on rebind
Change-Id: I74e61a05aae3a3c4912d4c5c8eb4d5d036d9005a
> Adding a listener for device profile changes
> Updating various controllers instead of recreating them
> Clearing all-apps icon
Bug: 71709920
Change-Id: Ief7db199eb7494ebd8fb433198f333cd2e8e661d
Previously we attempted to disable the app closing transition
in multi-window. However, that didn't work because the registered
remote animation was still registered on the ActivityRecord, even
if the activity was restarted, leading to passing a null handler
into post, and then the animation never started.
Enable it in multi-window and also fix the transition.
Test: Enter multi-window, go home
Change-Id: I4d5d46688310b61365ba954fb41811efa29e41a5
Fixes: 72525431
* Add start delay when launcher resumes from all apps or landscape.
* Track the last app transition animator and cancel it before beginning a new one,
otherwise the animators can conflict with each other.
ie. Opening an app from all apps and then immediately pressing back to return to
all apps.
* Use class overrride instead of UiFactory.
Bug: 70220260
Change-Id: I4755d45d820f9d551e443d6c4a148e8789c5bc57
Notification badges are applied only to the icons which are already
bound. So even if some notification changes in the middle of binding
it will get applied properly.
Change-Id: Icc77981688206b61ea4b9c9d311dff2c72fa8f18
Apply model updates as son as they arrive instead of waiting for onResume.
Various workspace items do not use any configuration dependent resources.
For Widgets, we wait until the host starts lietening before inflating the actual view.
Change-Id: Icb2f5e5940c1ce6c27062ccd34eff87e80af5ab1
> Using workspace scale and translation for all-apps
> Without quickstep, workspace has the parallex effect as before
> With quickstep, workspace scales down to match the recents card width
> Using a single animator for recents views in case of state transtion and
controlled transition to prevent going into inconsistant state.
Change-Id: I1864de6892052ca771f4d0062e3d60c28840a72d
> Removing the clickable bar from pageIndicator in portrait view
> Moving onClick logic to respective classes
Change-Id: I83a8df90d8c5442890bc09fdda17a82b9d134b8a
Some callbacks can come after onDestory, depending on the order in which
they were added. Setting properties to null can cause excptions in such cases.
Bug: 69812172
Change-Id: Ia812e6a074ad65591a6b5c963677a9182c45c153
> Using a single linearLayout instead of multiple nested views
> Using clipToOutline for rounded corners instead of using canvas.saveLayer
> Removing nested view elevations and overdraw
> Using LayoutTransition for animating layout changes, instead of manually creating animators
Change-Id: I8e57092f52ca5a032a2756594fdd39788acc5a0d
> Removing duplicate state handling on onCreate and onNewInetnt when InternalStateHandler is active
> Changing PinItemDragListener to use IntenalStateHandler
Change-Id: I42dcf82d1180c49430c6cf0b85d47072c4498ecc
Instead of creating workspace view larger than the screen size (so that it can be
zoomed out), restricting the size to the parent size and bypassing the drag events
directly to Workspace (since the workspace is smaller when zoomed out, it might not
qualify for all events otherwise).
Change-Id: I45e213dd6d16bec5feb6e7cf90bc6f7de4c6d305
When the touch passes a threashold, we take a snapshot and start the launcher
activity. The launcher displays the snapshot on top of its UI.
As we get further touch events, we move this snapshot and the hotseat in reponse.
Change-Id: I4623676227000afd52805a414a4de499081feced
> Creating ShareHandlers for managing UI
> In normal build, hotseat is hidden in overview, while in QuickStepBuild, it is visible
Change-Id: I5f8d35c75b861d912d93fce186b5dd74106184c3
In QuickStep, adding a placeholder ScrollView and changing the state logic
appropriately to handle that
Change-Id: I10223c0692788d6e5dbf8c408c01cafb4e39bd2c