Extending the grid migration logic to handle density changes

For hotseat migratino, we simply drop the items with least weight
If the workspace row/column decreases by 2 or more, we clear the whole workspace

Bug: 25958224
Change-Id: I7131b955023d185ed10955f593184b9238546dc8
This commit is contained in:
Sunny Goyal
2015-12-14 14:27:38 -08:00
parent 52279f3bc3
commit f862a26347
6 changed files with 240 additions and 57 deletions

View File

@@ -24,7 +24,7 @@ import android.database.Cursor;
import android.os.ParcelFileDescriptor;
import android.util.Log;
import com.android.launcher3.model.MigrateFromRestoreTask;
import com.android.launcher3.model.GridSizeMigrationTask;
import java.io.IOException;
@@ -101,8 +101,9 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper {
LauncherSettings.Settings.METHOD_UPDATE_FOLDER_ITEMS_RANK);
}
if (MigrateFromRestoreTask.ENABLED && mHelper.shouldAttemptWorkspaceMigration()) {
MigrateFromRestoreTask.markForMigration(getApplicationContext(),
// TODO: Update this logic to handle grid difference of 2. as well as hotseat difference
if (GridSizeMigrationTask.ENABLED && mHelper.shouldAttemptWorkspaceMigration()) {
GridSizeMigrationTask.markForMigration(getApplicationContext(),
(int) mHelper.migrationCompatibleProfileData.desktopCols,
(int) mHelper.migrationCompatibleProfileData.desktopRows,
mHelper.widgetSizes);