summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/LauncherModel.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2012-04-11 18:06:28 -0700
committerAdam Cohen <adamcohen@google.com>2012-04-12 11:25:34 -0700
commitbebf042666cffe52039b875a549a582abd78a431 (patch)
tree1be2a200dadc8ab77c28b98b3c65b927309c509e /src/com/android/launcher2/LauncherModel.java
parentc6cc61d45836e4081920883cc4d448ccb0bb8417 (diff)
downloadandroid_packages_apps_Trebuchet-bebf042666cffe52039b875a549a582abd78a431.tar.gz
android_packages_apps_Trebuchet-bebf042666cffe52039b875a549a582abd78a431.tar.bz2
android_packages_apps_Trebuchet-bebf042666cffe52039b875a549a582abd78a431.zip
Widget resizing can now displace items
Change-Id: I005c9aebf64b2d01debe59f86a208075d19476ea
Diffstat (limited to 'src/com/android/launcher2/LauncherModel.java')
-rw-r--r--src/com/android/launcher2/LauncherModel.java34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index a9c4970e3..d29e2e68a 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -248,6 +248,7 @@ public class LauncherModel extends BroadcastReceiver {
sWorker.post(r);
}
}
+
/**
* Move an item in the DB to a new <container, screen, cellX, cellY>
*/
@@ -276,24 +277,35 @@ public class LauncherModel extends BroadcastReceiver {
}
/**
- * Resize an item in the DB to a new <spanX, spanY, cellX, cellY>
+ * Move and/or resize item in the DB to a new <container, screen, cellX, cellY, spanX, spanY>
*/
- static void resizeItemInDatabase(Context context, final ItemInfo item, final int cellX,
- final int cellY, final int spanX, final int spanY) {
- item.spanX = spanX;
- item.spanY = spanY;
+ static void modifyItemInDatabase(Context context, final ItemInfo item, final long container,
+ final int screen, final int cellX, final int cellY, final int spanX, final int spanY) {
+ item.container = container;
item.cellX = cellX;
item.cellY = cellY;
+ item.spanX = spanX;
+ item.spanY = spanY;
+
+ // We store hotseat items in canonical form which is this orientation invariant position
+ // in the hotseat
+ if (context instanceof Launcher && screen < 0 &&
+ container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
+ item.screen = ((Launcher) context).getHotseat().getOrderInHotseat(cellX, cellY);
+ } else {
+ item.screen = screen;
+ }
final ContentValues values = new ContentValues();
values.put(LauncherSettings.Favorites.CONTAINER, item.container);
- values.put(LauncherSettings.Favorites.SPANX, spanX);
- values.put(LauncherSettings.Favorites.SPANY, spanY);
- values.put(LauncherSettings.Favorites.CELLX, cellX);
- values.put(LauncherSettings.Favorites.CELLY, cellY);
- updateItemInDatabaseHelper(context, values, item, "resizeItemInDatabase");
- }
+ values.put(LauncherSettings.Favorites.CELLX, item.cellX);
+ values.put(LauncherSettings.Favorites.CELLY, item.cellY);
+ values.put(LauncherSettings.Favorites.SPANX, item.spanX);
+ values.put(LauncherSettings.Favorites.SPANY, item.spanY);
+ values.put(LauncherSettings.Favorites.SCREEN, item.screen);
+ updateItemInDatabaseHelper(context, values, item, "moveItemInDatabase");
+ }
/**
* Update an item to the database in a specified container.