- RecentsWindowManager/FallbackWindowInterface should be accessed through the respecitve REPOSITORY_INSTANCE or through Dagger
- RecentsDisplayModel is no longer needed as PerDisplayRepository manages lifecycle of all per-display objects
Fix: 410224937
Test: manual and presubmit
Flag: EXEMPT refactor
Change-Id: Iddfddbdcbe15be5075c038d98d02aa79ab55117b
TasksRepository.setVisibleTasks can add/remove listeners while HighResLoadingState.updateState iterates over them.
Bug: 408978565
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: SwitchBackToSplitFromRecentGesturalNavLandscape#switchBackToSplitFromRecent
Test: Manual - made exception extremely likely by constantly adding/removing listeners. Could easily repro exceptions, then added this CL and could no longer repro.
Change-Id: Ic04717527fcbdb9301a6e313f9e666e2f5135b3e
1. Add [DisplayDeskConfig] when `onDeskAdded` if there is no config yet.
As the display might start without any desks.
2. Trigger the task bar enter or exit on desktop mode changes inside
`onActiveDeskChanged` instead, which is also transition based.
Bug: 408060477
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I6f77f2a8d9fe660175b739f44dc241937a6bcc7a
Bug: 394355070
Test: Verified locally that everything works. Check out bug for video test.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: Ief4b895d8eb31e6ed53b05aad4b733e8de41e4d9
Previously, they were simply included in PageIndicatorDots via Canvas
drawing. This worked well to keep behavior encapsulated within
PageIndicatorDots class. But it didn't work for Accessibility Services
which require an actual view in order to focus properly.
Bug: 409629978
Test: Verified manually. See video on bug comment: https://b.corp.google.com/issues/394355070#comment23
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: I212bf3dbee82e449088536fa841b02a3644df7d3
- Refactors FolderAnimationManager into several classes including new FolderSpringBuilderAnimationManager
- Changes Folder animations to use animators resembling SpringAnimation
- Split up calculations from creating AnimatorSet
Bug: 387543793
Test: tested opening closing folders of different sizes
Flag: com.android.launcher3.enable_launcher_icon_shapes
Flag: com.android.launcher3.enable_expressive_folder_expansion
Change-Id: Idf1f21374f987389979ad45544ade1506b26fc0c
Aiai will send a broadcast to Launcher and will animate the stashHandleView and nudgeView accordingly.
Verified on large screen device that transient taskbar is not affected as its not in scope at the moment.
bug:409121556
Test: manual - video in bug
Flag: com.android.launcher3.nudge_pill
Change-Id: I740e5d81dd008a230aa089f311d38bac665fc227
- Without this annotation, everytime the PerDisplayRepository is requested, a new PerDisplayRepository is created effectively not functioning as a repositroy.
- This caused RotationTouchHelper to be created whenever get() is called, thus losing its state across the swipe gesture
Fix: 409722063
Fix: 409258907
Test: manual
Flag: EXEMPT bug fix
Change-Id: Ibde4c6ce18b96bafea1c40d8c69a4552f371501a
TaskbarViewController set window height to the too low value, so bubble
bar was not visible in 3 - buttons navigation mode on foldable device.
Fixes: 407708503
Test: Manual.
Use foldable device, set navigation mode to the 3 buttons. Fold the
device and trigger bubble. Lock screen. Unfold. Unlock screen. The
bubble remains visible.
Flag: EXEMPT bugfix
Change-Id: I516eab4121c39fc2bec5e49cc3c9b0ad8e640f8b
* Previously we had duplicated classes because of some
launcher3 and quickstep package separation. That got refactored
so now we can conslidate to only use one class. Yay!
Bug: 254378592
Test: Compiles, manual
Flag: EXEMPT refactor
Change-Id: Ifea3358ac38c1d2881cb19bb88cf14ef9c0aaa29
If recents view is not attached to window when applyLoadPlan is called, then the taskviews will never update until mTaskListChangeId is invalidated. This mainly affects RecentsWindowManager, so added a callback to only initialize after recents view has attached to window.
Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 377678992
Test: pre/post-submit tests; opened overview several times
Change-Id: Ie430fb5b0b2b6870c12fed1c6a394088cad1ac17
- ag/32861507 changed getWindowCornerRadius to use DisplayContext, which does not get updated on configuartion changes, this caused potentially regression of having wrong corner radius after configuration changes
- ag/32896744 attempted to fix this with window context, get is rolled back due to perfroamcne regression
- This CL is a temp fix to make DEFAULT_DISPLAY continue usign AplicationContext for getWindowCornerRadius, if the AplicationContext is associated to a display, and otherwise fallback to displayContext
Bug: 408988616
Test: manual
Flag: EXEMPT bug fix
Change-Id: I72dbcfb7cd6cdc6783e96768b4f4b51b76d9a245
- Also limit usage of displayContext on getWindowCornerRadius only, any other usage causes perf regression
- Note that displayContext does not respond to configuration changes, there might be existing functionality bug already that resources are stale after configuration changes, keeping b/408988616 open to handle it in the future
Bug: 408988616
Fix: 409222870
Fix: 409252967
Test: presubmit and ABTD
Flag: EXEMPT refactor
Change-Id: I024c76326a2deb1ecc035de8319976e31887486b
Bug: 406452076
Test: atest NexusLauncherTests:QuickstepKeyGestureEventsHandlerTest
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Test: atest NexusLauncherOutOfProcTests:com.google.android.apps.nexuslauncher.TaplTestsNexus
Test: Verfiy manually that meta key event triggered all apps if the display focused is the default display.
Flag: com.android.window.flags.enable_key_gesture_handler_for_recents
Change-Id: I654cdf527670fddc0bd6eb4d8cab18a9e1206ec1
Previously snapToPageImmediately was used, but that was the wrong method.
Bug: 408227356
Test: Verified that the animation runs well locally on device.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: Iedee458e61de2d3542137615d3ff86cb42bdfb02