Widget migration now supports widgets and repeated elements in the worskpace.

The widget migration was using the variable DbEntry.mIntent as an
id for calculating the difference between two workspaces but widgets
don't have that variable, it's always null. So that had created some
bugs.

Also, the function GridSizeMigrationTaskV2.calcDiff didn't accounted for
repeated icons or repeated widgets. It's not a big deal not account
for repeated icons, but repeated widgets can be usefull for the user,
so now calcDiff keeps repeated icons and widgets.

Fix: 229701468
Test: Add multiple icons and widgets in the workspace and change the
grid size, this code only runs after the first time you change the
grid size, so try a couple of times. It should keep the widgets and
icons, even if they are repeated.

Change-Id: I5812445cec8364d8cc57cbcc3f1ae04ba9099932
1 file changed