Second attempt at enabling this feature. See ag/25143701, linked bugs, and revert history for details. This patch is tested with mokey devices and does not crash!
This patch includes:
- Ability to "save app pair" from Overview Actions.
- Internally the actions bar is not longer hidden for GroupedTasks; instead the individual buttons for "Select", "Screenshot", and "Split screen" are toggled off and "Save app pair" is toggled on.
- "Save app pair" option does not appear in icon menu when it is visible in the Actions Bar.
- Addition to go/quickstep/res/layout/overview_actions_container.xml to support addition of the new button.
Note: This patch introduces a slight regression where users are now able to long-press to select text on task 1 of a paired GroupedTaskView (previously we did not let them select text on either task for consistency.) Will follow up with a fix -- see bug for details.
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Fixes: 315545418
Fixes: 315292030
Test: Manual, all action buttons still work and "Save app pair" appears and disappears correctly
Change-Id: I4b4ac525cfd5eb9cfcd757d0bffc7215b04f9a3d
Since the widget cells are is recycled, some times, the cell occupies
more space based on the previous cell that it was recycled from. So,
we request layout to update it.
The issue is easily reproducible by first expanding app that has
single item but with large spanY. Then, expanding app with one item
but with smaller spanY (e.g. settings or sheets apps).
* Before: http://screencast/cast/NDkwOTMwOTcyMzkzNDcyMHxjMDdmZDE1Yi05Yg
* After: http://screencast/cast/NTA0NzU3Nzc5MDY0NDIyNHw1NzhkZmM0MS04OA
Bug: 289147379
Flag: N/A
Test: Manual
Change-Id: I4d003024e1db437a50de759f9390190b038a114a
This CL fixes 2 issues with app pairs:
- When an app pair is incompatible with the screen size due to a non-resizeable app (e.g. Camera), the app pair will now be properly disabled and display an error message. If the user is on a foldable, it will prompt the user to unfold their phone.
- The app pair icon will now properly redraw with lower opacity when it is disabled.
Fixes: 323088270
Test: Manually paused and unpaused apps, created Camera app pairs and tested with foldable
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I66514c96bc19f480c9788661e4dffaa5b1cdc2ca
* TL;DR Loading workspace icons only requests high res icons for apps
on workspace or in hotseat, not for folders or app pairs. They need to
request that separately
* See notes on bug for root cause
Test: Created many app pairs, empty icons does not repro.
If I remove my change issue consistently repros, not a race condition
Fixes: 323106492
Change-Id: I05ba5e8e8b0eddd4041642f89d06deff85511e40
This bounds the widget view inside BaseLauncherAppWidgetHostView
to reduce the overlap
Bug: 322919716
Flag: N/A
Test: Manual
Change-Id: I270d94e3fff96724e95f9a38ab41f83beebd1271
This reverts commit 21ab3b979b.
Reason for revert: Culprit for b/326611479. Will be verifying through ABTD for confirmation and before submitting the revert.
Change-Id: Ib71791d159b3ac65ca332f58500341a1a0fe36e1
`persist.wm.debug.desktop_mode_2` is no longer needed as desktop
windowing now uses a runtime flag which can be modified using the command: `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode (true/false)`.
Flag: NONE
Fixes: 326060855
Bug: 304778354
Test: build & `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode true && adb
reboot` desktop windowing mode should be enabled.
Change-Id: I25d509c0912ab3266a32ad992333460332b8b0a2
This CL changes the way app pairs are saved. Previously, we saved the app pair using WorkspaceItemInfos directly from Recents, which caused certain apps to fail on launch because they weren't being launched with the correct Intent.
Now, we look up a proper launchable WorkspaceItemInfo from the AllAppsStore and save that to the app pair, which should fix the launch issues.
Bug: 323112914
Bug: 323110399
Test: Can launch Slides, Play Store, and Calendar when part of an app pair.
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I475afa1a237c50ffb0ffaf85af43912a803b8011
- In 3-button landscape/seascape, Launcher should always have nav insets regardless if it's initiated from fullscreen apps
- This avoid inset to change mid-way during app->overview transition via recents button
- This bug doesn't happen in portrait because bottomNav is always overriden in WindowManagerProxy, we're now applying the same fix in landscape/seascape
Test: Recents button from fullscreen app in 3-button landscape/seascape, and launch adjacent fullscreen app in Overview
Test: Homescreen and widget picker in 3-button landscape/seascape
Fix: 316085856
Flag: None
Change-Id: Ia4ae7948fe794b71c49f89c43dd2d1d14031abb9
This is because there is no click action for CellLayout during accessible drag, as only the individual cells need to be clickable.
Bug: 318312177
Test: locally
Flag: N/A
Change-Id: I26f18a948b77a0ee889dfafa626b9176d8481aeb
Replace use of `enable_desktop_windowing` flag with
`enable_desktop_windowing_mode` flag
Flag: NONE
Bug: 304778354
Fixes: 326060018
Test: build & `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode true && adb
reboot` desktop windowing mode should be enabled.
Change-Id: Idc44e2b7a8b738f15f8d3812a0c4fc1a4b4861c1
This "migration" feature was planned as an effort to reduce latency upon
startup. That being said, now that there is a loading screen being added
to pixel startup time, it doesn't make sense to perform a risky data
migration just to save a 100ms or so of startup time. Therefore, I am
removing this code as a clean up effort to make LauncherPrefs simpler.
Also, there was a cyclical dependency introduced in b/324670265 that
makes this cleanup effort especially worthwhile, as it resolves a bug
for other developers.
Bug: 324670265
Test: Installed this on a device and tested that nothing was broken.
Flag: NA
Change-Id: I81df710057d80fbd071bc26a53cb191d453e7dee
* LayoutParams are more single states and don't need to
be updated on each cycle of drawing
* Curious if this might also fix b/323128163
Fixes: 323128163
Test: Used logging, no more infinite calls to dispatchDraw()
Flag: None
Change-Id: Ic7211b26a7365e3fbbeef3768e4d6d9254e14ee7
Stash taskbar when
1) Software keybaord is docked
2) Input toolbar is placed at the taskbar area (stash so toolbar and taskbar would not overlap)
Testing result:
https://drive.google.com/file/d/1NMDexHl0FgyHFaOUh_GSEEUU2k08STJH/view?usp=sharing
Bug: 317251202
Test: TaplTestsQuickstep#testQuickSwitchToPreviousAppForTablet
Flag: N/A
Change-Id: I90662bc6e68f644e919f5c702059476b02519ed6