This CL updates the color for the app pair background, and adds a way for an app pair icon to redraw as a different color when switching containers.
Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual
Change-Id: I615cb95d51f7c4c120ad306246d9491bf4452229
This CL substantially refactors folders to be able to take contents of type AppPairInfo. App pairs can now be moved in and out of folders, and launch from folders.
This CL contains only logic and model changes; animation and style changes (for dropping items into folders, color changes to app pair surfaces, etc.) will be in a following CL. Another CL (hopefully) will contain tests. I'm planning to submit them together, but this patch should also be able to stand alone with no issues (except janky transitions).
Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, more to follow in another CL.
Change-Id: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.
Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
Fix: 317170537
Test: manual testing, making sure to test the widget picker flow
and testing the reorder accessible flow.
Flag: NA
Change-Id: I94be43b8ef5c8cd8574178eec563324fc0dc08ad
When dropping a widget that requires an config activity, drop a
PendingAppWidgetHostView to workspace
Adb command to try the feature:
adb shell device_config put launcher com.android.launcher3.enable_add_app_widget_via_config_activity_v2 true
Fix: 284236964
Test: manual
Flag: aconfig launcher.enable_add_app_widget_via_config_activity_v2 DISABLED
Change-Id: Ifd0be5c607a388cf8a8f6d77b46c03112e3e599f
This will make it easier to test CellLayout, also we should avoid
circular dependencies as much as poisble.
This also allows the CellLayout to be created in other containers
that are not workspace.
Bug: 318417510
Test: creating HotseatReorderUnitTest in follow up cl
Test: TaplReorderWidgets
Test: ReorderAlgorithmUnitTest
Flag: NA
Change-Id: Ic45029a244cb11f8d6775c50b90af9c56f01eaa3
This is a no-op change ensure this we have ReorderAlgorithmUnitTest.
Flag: NA
Bug: 229292911
Test: ReorderAlgorithmUnitTest
Change-Id: I6ffe2a1260f869a4686a9f1e652dd1ab6d406269
Bug: 303471576
Test: try removing smartspace by going to home settings and turning it off
Flag: ENABLE_SMARTSPACE_REMOVAL
Change-Id: Idd95da1b302927885a8c469e38db6d3c5130f8c1
[App Pairs 4/?]
This patch includes:
- Ability to save and launch app pairs with custom 0.3, 0.7, or 0.5 split ratios
- App pairs now save with default name "App1 | App2"
- Grid migration, prediction, and other misc. flows should now work with app pairs
Flag: ENABLE_APP_PAIRS (set to false)
Bug: 274189428
Test: AppPairsControllerTest.java
Change-Id: I46dd3e30f8de03dd3e6d086c8ff9fc52e7e7fd2b
Flag: SMARTSPACE_AS_A_WIDGET
Test: verify that the smartspace gets replaced with a smartspace widget
Bug: 300140279
Change-Id: I42c170de5e2a9fd3d24d99bb8b09cf412c55e3a5
We where adding more CellLayouts but they where later
removed by removeExtraEmptyScreenDelayed but when rotated
the pagination animation is created before they are removed.
With this change the extra CellLayouts won't be added in the first
place.
Fix: 291822492
Test: RoerderWidgets
Test: FoldableItemsIntegrity
Change-Id: I561d2ce961a7ecc50f7a8c99c4acc44262b2e211
This reverts commit 76a1ceb5f2.
Reason for revert: Add flag back to turn it off for further testing
Bug: 270395274
Merged-In: I10b9e99734b14cbbe8d1190300493099a1f28a24
Change-Id: I10b9e99734b14cbbe8d1190300493099a1f28a24
Also fixing a race condition in model when an item update/delete task
gets queued and executed after the model has reloaded (making the old
data obsolete)
Bug: 277345535
Bug: 263079498
Test: Presubmit
Flag: N/A
Change-Id: Ibd4bdbb3eece05b38b73a22a4be5f368df3754f0
> Addition/removal of shortcus is already removed. This just
cleans up the unused code path
Bug: 275875209
Test: Updated tests
Flag: N/A
Change-Id: I8ab7f57b693f996920e50e8beecafcffab5167e9
- Edit Mode doesn't close after dragging / dropping an app
- Edit Mode can be entered through options popup menu, Spring Loaded still entered by dragging items
- Adds new onLeavingState call to launcher states to cleanup changes
Bug: 279590398
Flag: MULTI_SELECT_EDIT_MODE
Test: manually tested the new state with flag on/off
Change-Id: If4550037f9659dcb8cd8b1943388d1ec5d55fa29
For 1, when animateShift() is called shiftAnimation() is the only thing needed.
2, by having point saved in preDragCondition, we can use that to update the drag layers and not have to
modify registrationX/Y later
Removed dragVisualizedOffset since it does not do anything.
There is an issue that also needs to be fixed if user decides to long click
on a search result and let go, the icon flashes at the touch point when you let go.. so we check when mContent can be shown in DragView
depending on if there is dragOffset.
If there is dragOffset, set mContent to invisible.
If there is no dragOffset, set mContent to visible because it doesn't matter as the original content is at the same spot.
bug: 245659929
test: manual: video: https://drive.google.com/file/d/1JQ0pud31HU0WlrqecX0v1cdPKQ37jQCf/view?usp=sharing
Change-Id: I4d2276b9c43e1e92c45d8538b8dde70baa84a5e8
Removing default widget padding logic. Also widget padding it applied
at ShortcutAndWidgetContainer so that the widgetView always has the
correct size.
Bug: 274826296
Bug: 257589413
Test: Verified using screenshots
Flags: N/A
Change-Id: Id4b5e94db6ec7b2aa3dca87b1e9ccc831b608cac
We previously made a few CL's guarded under flags for the multi select feature. We ended up having to halt progress on this, and now that we're starting again, the design is different and we are using a new flag. Here we get rid of the unused code and flags
Bug: 277617038
Test: Verify everything still works normally, everything was guarded under flags that were off so there shouldn't be any changes
Change-Id: I2f57d1f67aa2a8cf83287f6f3df9fa6c46dbf0ab
> Allowing support for overring shortcut badge
> Updating pendingShortcutInfo so that the
handler can be easily overridden
Bug: 268253894
Test: Verified on device
Change-Id: I3184cb6494bc98c7eed33798b35b4e6e6a1e7ddc
Bug: 188081026
Test: no op change, should compile
Test: ReorderWidgets
Change-Id: I20367974e5a4cead406e18eb66dafd4d59651b2a
Merged-In: I20367974e5a4cead406e18eb66dafd4d59651b2a
Recording the screen to investigates flakes on ReorderWidgets
is really useful but it requires changing the code for that and
storing the video and most of the time the useful information
is just the end state so by logging the end state makes resolving
flakes easier
Fix: 261877803
Test: atest ReorderWidgets
Change-Id: If5d9745ebb57826a55b5df9d3599eed56c48298f
If the user is changing the X and Y of the reorder, wich requires
the user to move at least one Workspace cell from the previous
position, then it doesn't make sense to wait for the previous alarm to finish
to start a new reorder.
Also, I added a new test to run on foldable devices.
Fix: 259995663
Fix: 259295374
Test: atest ReorderWidgets (it mostly fails on postsubmit)
Test: modify ReorderWidgets.fullReorder to run 20 times and it should work, before the chagne it would fail.
Change-Id: Ic6b436ea1088f8092c849e9791862947e9035c9f
* changes:
Fixing the revert by not continuing the reorder if the solution is null.
Revert "Revert "Reorder widgets no longer overlaps when no space..."
The `+ getScrollX()` translation is a duplicate, because
`mapCoordInSelfToDescendant` also does it internally. Same for the `+
getScrollY()`.
This wasn't an issue in LTR because the top left corner of the root view
is the same as the top left corner of the first page. `getScrollX()`
returns 0 in that case.
In RTL, the second page is to the left of the first page. If the touch
is on the first page, `+ getScrollX()` translates it outside of the
first page. This incorrectly sets mIsEventOverFirstPagePinnedItem to
false, leading to the swipe being intercepted.
Bug: 240380590
Fix: 240380590
Test: manual
Change-Id: I51f534695401ce527da8d2158130a4d54b086f3d
Test: Manually move widgets and shortcuts around and the position should match the animation
Fix: 259502044
Change-Id: I20a98f9366394c840bb3cd0577de26a181a229ac
Revert "Revert "Reorder widgets no longer overlaps when no space..."
Revert submission 20479526-revert-20427045-258023561-BPDASTWITO
Reason for revert: Fix the issue that caused the first revert.
Reverted Changes:
Icecfd1d34:Revert "Reorder widgets no longer overlaps when no...
I4cc552588:Revert "Reorder widgets no longer overlaps when no...
Change-Id: I47c4cde42c19f50e2834660d843a8e2ae571c03c
Revert "Reorder widgets no longer overlaps when no space is avai..."
Revert submission 20427045-258023561
Reason for revert: Likely causing NPE while running launcher shortcut tests (Part of DM+Platinum monitor rotation. The revert won't be submitted if proven otherwise)
Bug: 259234533
Reverted Changes:
Ie599f7cb7:Reorder widgets no longer overlaps when no space i...
I04b262ecc:Reorder widgets no longer overlaps when no space i...
Change-Id: I4cc552588c8099356bc3f05c4c63d17a524f2a24
We were using the minimum span to calculate the cell position
of the widget and if you move slightly because the minimum is usually smaller than the current size it would calculate wrong cell positions
that are change more frequently because it's smaller.
Also, I went back and moved
performReorder(... CellLayout.MODE_SHOW_REORDER_HINT) with the
alarm if block as it was before one of my refactors, it still works
if they are separate but is harder to think about the logic if they
are divided so it's better to all be in one block.
Fix: 255421416
Test: manual testing, reordering and making sure the animation is playing well.
Test: atest ReorderWidgets (to make sure the reorder is not broken)
Change-Id: I3eff5bc9f21fda8f2f8908380397d8639ac15ff9
In the previous refactor I got confused between findNearestVacantArea
and findNearestArea thinking the later did the former. So it ignored the occupied spaces and treat it as a solution.
Changed the names to prevent further confusion.
Fix: 258023561
Test: manual, need to add this case to ReorderWidgets
Change-Id: I04b262ecce168d5c93a9d66ef62d5b0e148e38b6