Hotseat apps would not migrate to a new grid if the new grid already had
hosteat filled out. This resolves the issue and addresses the issue of
workspace spots showing up as occuppied when they should be available
Bug: 395786587
Test: GridSizeMigrationTest, GridMigrationTest, ValidGridMigrationTest
Flag: EXEMPT bugfix
Change-Id: I79613986702c7dddf15a9a31c29b4ef59eac2b3a
.toList() was only introduced to android in api level 34, which is newer than
this module's min_sdk_version. Replace it with .collect().
This was found while updating android lint.
Flag: EXEMPT refactor
Bug: 394096385
Test: Presubmits
Change-Id: Id8d1de1531b67a7daf448e45592b7ef78f685fc2
We just migrate them using the special case where everything shifts up
if we meet the criteria
Bug: 392978014
Test: GridSizeMigrationTest
Flag: com.android.launcher3.one_grid_specs
Change-Id: I4efda781d6fbe6f3e1854b22685abd1b923c3dc4
We decided to always shift the cells down, so that the new row always
shows up at the top
Bug: 391697719
Test: GridMigrationTest
Flag: com.android.launcher3.one_grid_specs
Change-Id: Id093e0d64e437bf218f942bfdf6d2f14ee875776
onGridMigrationComplete is invoked when grid migration
successfully completes.
ModelDelegate's can choose to observe this by overriding
the callback.
Test: manual, existing
Flag: com.android.launcher3.one_grid_specs
Bug: 386802204
Change-Id: Iaca2e61a95c3d3decc12b2cc54461dba441202a0
In this CL:
-Make GridsizeMigrationLogic functions pure (no side effects)
-Make it so GridSizeMigrationLogic contains the migration logic and does NOT interact with the database
-Let GridSizeMigrationUtil receive the results from the logic layer and use those results to interact with the database appropriately
In future CLs:
-Refactor GridSizeMigrationLogic to Kotlin
Bug: 358399271
Flag: com.android.launcher3.grid_migration_refactor
Test: GridSizeMigrationTest
Change-Id: Ifcc5ca356558a7463352580f2e89eef8c86ed16b