There are no behavioral changes (other than we no longer are recycling
objects while processing workspace items), but this refactor will setup
the next change to load the first workspace page before other workspace
pages.
Bug: 251502424
Test: Workspace, app widgets, and containers loaded properly.
Change-Id: I437aab40000d841d7fcc4380d05ab4a8f5d5c2ad
The bottom scrim should be shown for the Pixel Launcher, other third
party launchers show it when the 3 bottom navigation is activated.
The existing condition for 3 bottom navigation is no longer valid
because the insets at the bottom can be greather than 0 in other
situations other than 3 bottom navigation.
Test: the scrom should not show at all
Test: It appears in some situations where the taskbar is showing
and the scrim gets updates which not always happens so it's hard to
manually recreate, but there is a test that is flaky because of it
HomeScreenImageTabletTest#comparePixelTablet2023HomeScreen.
Fix: 267614579
Change-Id: Iacaf93011aa3f2f643186560fe34b4b26ce52314
WidgetsListSearchHeaderHolder was the only file that remained after all the redundant widget search header logic got removed. It is dead code now so this CL deletes it.
Bug: 268646258
Test: Verified on device
Change-Id: I670364bd7c2d5ce46d2c8837ef483e5ac2315547
Preparatory change for adding the KeyboardQuickSwitchView and associated flows.
Test: Manually tested alt-tab and alt-shift-tab in and out of overview on a tablet and phone
Bug: 258854035
Change-Id: I468481a023e82d3ef7c7d4d44c5b9435173b49ae
The wrong widget would appear in tablets because we were finding the widgets by PackageUserKey title instead of comparing the PackageUserKey objects themselves.
Fix: 269160189
Test: Turn on LARGE_SCREEN_WIDGET_PICKER and verify that in landscape mode in tablet clicking the battery header shows the correct widget
Change-Id: I4f17ba057d9287fc83e3b1e0072cacf0eee3deef
used for all entries
This helps reduce launcher memory by avoiding multuple duplicate
drawable generation
Bug: 268646258
Test: Verified on device
Change-Id: I829750f081cfce65063b35a614b903066d9a4bed
Before this cl, both Launcher and System UI processes were registering for hinge angle and device state (e.g. folded/unfolded) change events to calculate the current unfold animation progress. In some cases, launcher ui thread was busy, delaying the progress calculation from the hinge angle value (that was received ~at the same time by both processes). This resulted in launcher and sysui unfold animation not being synchronized in some cases.
With this cl, System UI process uses OverviewProxyService to send the unfold events to Launcher. In this way, both process always have the exact same progress (+- 1 frame)
This is currently guarded by a launcher flag, by default with the new behaviour, to allow devs to compare the experience and easily debug potential regressions.
Bug: 268490854
Test: Analysed perfetto trace + RemoteUnfoldTransitionProgressProviderTest + manual
Change-Id: If15fd6fe39abb3d922c5fdb327100206dfa3665d
This allows for custom animations in classes inheriting from
QuickstepLauncher
Bug: 260637266
Test: flashed device and verified animation
Change-Id: I21fa112851e9ce43037151fc4c2fd21e90056712
Scale down bottom sheet background during predictive back on tablet
Test: manual
Bug: b/267226579, b/267226556
Change-Id: Ie67689a05d631a480bcc2ae602b5caf4feaf8182
The widget picker design is currently not optimized for large screen form factor devices.
We resolve that by adding a two pane widget picker like that of the design in go/widget-picker-2023.
Bug: 256684299
Test: Make sure to be on a tablet in landscape mode.
1.Turn on flag LARGE_SCREEN_WIDGET_PICKER.
2. Press and hold on an empty spot in workspace until the popup menu appears.
3. Click widgets.
4. Notice the new two pane layout
Change-Id: Ia3ea17dc320f72f9bc5dea52399ff51d9161602b
Extract DeviceProfileTest to Launcher3 so it can be used in other tests as well, and change name of previous base test to be more descriptive.
Bug: 241386436
Test: WorkspaceSpecsTest
Change-Id: I64613bb5a23c374ed15fb6d936192236a541ab9b
Notes:
* the reason why 0.6 -> 1 never happened was because of AllAppsSwipeController where
it had a clampToProgress. By changing lowerbound to 0 the progress actually shows fully 0->1
- composed the haptics in the constructor
- added new listener class in AATransitionController
Added featureflag
bug: 233751149
test: Manually - presubmit, ran “make -j7 Launcher3” from master branch photo: https://screenshot.googleplex.com/8r5FZh6buzkQMjk
Change-Id: I5e1a24170fdbfdd35b8d8f24af0ec5e8586641a2
Currently rotation for IME rotates the whole view, including the background.
Fix: 266874111
Test: manual.
Change-Id: Iea310c99d0714d98ce534a0170316a0fb351f57d
This is necessary because otherwise those are included in several gradle projects. Gradle doesn't support the same files imported in different projects, and it removes them from a random one if it happens, resulting in missing symbols.
This extracts the shared files in a new target, and adds it as dep of the original target.
Test: Build launcher + execute a few tests manually with gradle + verify that Launcher.java can resolve all symbols with gradle config
Bug: 262267728
Change-Id: Ida5b25c45320d517603834112f4699e4d3344c03