summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/trebuchet/LauncherProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/LauncherProvider.java')
-rw-r--r--src/com/cyanogenmod/trebuchet/LauncherProvider.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/com/cyanogenmod/trebuchet/LauncherProvider.java b/src/com/cyanogenmod/trebuchet/LauncherProvider.java
index 260a16a6b..823221f80 100644
--- a/src/com/cyanogenmod/trebuchet/LauncherProvider.java
+++ b/src/com/cyanogenmod/trebuchet/LauncherProvider.java
@@ -615,6 +615,13 @@ public class LauncherProvider extends ContentProvider {
final int depth = parser.getDepth();
+ LauncherApplication app = ((LauncherApplication) mContext);
+ final ItemInfo occupied[][][] =
+ new ItemInfo[Launcher.MAX_SCREEN_COUNT][Math.max(
+ LauncherModel.getWorkspaceCellCountX(), LauncherModel.getHotseatCellCount())]
+ [Math.max(LauncherModel.getWorkspaceCellCountX(),
+ LauncherModel.getHotseatCellCount())];
+
int type;
while (((type = parser.next()) != XmlPullParser.END_TAG ||
parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
@@ -643,6 +650,27 @@ public class LauncherProvider extends ContentProvider {
values.put(LauncherSettings.Favorites.CELLX, x);
values.put(LauncherSettings.Favorites.CELLY, y);
+ ItemInfo info = new ItemInfo();
+ info.container = container;
+ info.cellX = values.getAsInteger(LauncherSettings.Favorites.CELLX);
+ info.cellY = values.getAsInteger(LauncherSettings.Favorites.CELLY);
+ info.screen = values.getAsInteger(LauncherSettings.Favorites.SCREEN);
+
+ if (values.containsKey(LauncherSettings.Favorites.SPANX)) {
+ info.spanX = values.getAsInteger(LauncherSettings.Favorites.SPANX);
+ } else {
+ info.spanX = 1;
+ }
+ if (values.containsKey(LauncherSettings.Favorites.SPANY)) {
+ info.spanY = values.getAsInteger(LauncherSettings.Favorites.SPANY);
+ } else {
+ info.spanY = 1;
+ }
+
+ if (!app.getModel().checkItemPlacement(occupied, info)) {
+ continue;
+ }
+
if (TAG_FAVORITE.equals(name)) {
long id = addAppShortcut(db, values, a, packageManager, intent);
added = id >= 0;