Bug: 312816372
Test: perinflate large number of App Icons then rotate screen. Verified 1) preinflation runnable is cancelled and 2) no ViewHolder created from this cancelled runnable is added to RecyclerViewPool
Flag: LEGACY ENABLE_ALL_APPS_RV_PREINFLATION ENABLED
Change-Id: I1a6110278e1af2b32387ab27273106d30513886f
Fully reverted the change in ag/24840504, and instead make use of
prefixOrderIndex to ensure translucent overlays launch on top of
the underlying task.
Test: Swipe up from an app to Overview (phone), scroll over one
task, click on the live tile you came from; ensure animates well
Test: Open an app, launch a translucent overlay, e.g. Volume
Dialog, swipe up to Overview and relaunch the live tasks; ensure
the overlay stays on top throughout the animation
Fixes: 310765248
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Change-Id: I0708bf3c060ba84089722d0bd9480a4f4bd2b8e2
In small screen, we use 48dp for nav bar height, while it's 60dp for task bar.
Bug: 230395757
Test: manual
Change-Id: Ia7083a1b2246981466e1163404c63b645a6bf5b1
Don't reinflate from LauncherAppWidgetHostView#onConfigurat#onConfigurationChanged because Launcher activity will rebind app widgets on configuraiton change. This will reduce lock contention to inflate complex widget views and reduce flicker.
Bug: 285279824
Flag: None
Test: Rotate screen and verify widget are rendered correctly
Change-Id: I69abc7f1fe0ca5704ac887142c73b8d245fead4e
So we recreate task bars when configuration is changed, if ENABLE_TASKBAR_NAVBAR_UNIFICATION = true. In order for unstashed state to propagate, we need to save STASHED_IN_APP_AUTO in TaskbarSharedState.
Fixes: 311429718
Test: Unstash the task bar in app, rotate, make sure the task bar stays unstashed
Change-Id: I7db773725ea89976612e9e91af5b6911d0ec5fc0
This fixes the bug where the flag gets set when user taps on nav handle, which
results in the taskbar animation playing.
Flag: N/A
Test: open app
wait for taskbar to finish stashing*
tap on nav handle
nothing happens (desired affect)
* I will address tapping on taskbar while its animating in a separate change
Bug: 292108880
Change-Id: I75870050225bdd951c69224d272d0bd5a3d6d4ea
There are test failures when using ConstraintLayout without a known solution, see https://chat.google.com/room/AAAACwktJi8/2OogGWfbLvI. Switching back to a relativelayout to resolve those issues.
Bug: 301918659
Test: WidgetPickerImageTest
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker DEVELOPMENT
Change-Id: I004c2d77ca308d85b29217d4f1e548067126556f
This issue happens when restoring the data from a phone to a tablet or vice-versa. When Launcher is restoring the data, it allows the device to load a disabled or invalid grid temporarly for the migration. This leads to a crash when the responsive grid is enabled.
The hotseat spec has only WIDTH or HEIGHT specs in a certain posture. When the user restores the data from a phone to a tablet, the Launcher loads a handheld spec that doesn't have HEIGHT specs for the hotseat in landscape (spec_handheld_hotseat_[grid].xml). However, the tablet, in landscape, tries to retrieve the hotseat HEIGHT spec.
It also prevent crash when responsive grid is used with multi window mode. isVerticalBarLayout becomes false. Then, the responsive grid tries to load a hotseat spec that doesn't exist (using DimensionType.HEIGHT). Phones have hotseat specs only for DimensionType.WIDTH.
Bug: 315548992
Fix: 315069300
Fix: 315377544
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: v2/android-crystalball-eng/health/microbench/systemui/main/systemui-notification-3-jank-suite
Test: atest CtsWindowManagerDeviceDisplay:android.server.wm.display.MultiDisplaySystemDecorationTests#testSendPrimaryHomeIntentActivityOnDisplayWithDecorations -- --abi x86_64
Change-Id: Ibd6537e0528868da9a1b7672c43b5455fa6a8184