Merge "Size hotseat data structure appropriately." into jb-ub-now-kermit

This commit is contained in:
Dan Sandler
2013-12-11 15:03:01 +00:00
committed by Android (Google) Code Review
2 changed files with 27 additions and 10 deletions
+11 -2
View File
@@ -4576,13 +4576,22 @@ public class Launcher extends Activity
}
public static void addDumpLog(String tag, String log, boolean debugLog) {
addDumpLog(tag, log, null, debugLog);
}
public static void addDumpLog(String tag, String log, Exception e, boolean debugLog) {
if (debugLog) {
Log.d(tag, log);
if (e != null) {
Log.d(tag, log, e);
} else {
Log.d(tag, log);
}
}
if (DEBUG_DUMP_LOG) {
sDateStamp.setTime(System.currentTimeMillis());
synchronized (sDumpLogs) {
sDumpLogs.add(sDateFormat.format(sDateStamp) + ": " + tag + ", " + log);
sDumpLogs.add(sDateFormat.format(sDateStamp) + ": " + tag + ", " + log
+ (e == null ? "" : (", Exception: " + e)));
}
}
}
+16 -8
View File
@@ -1544,8 +1544,8 @@ public class LauncherModel extends BroadcastReceiver {
AtomicBoolean deleteOnItemOverlap) {
LauncherAppState app = LauncherAppState.getInstance();
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
int countX = (int) grid.numColumns;
int countY = (int) grid.numRows;
final int countX = (int) grid.numColumns;
final int countY = (int) grid.numRows;
long containerIndex = item.screenId;
if (item.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
@@ -1553,21 +1553,29 @@ public class LauncherModel extends BroadcastReceiver {
if (mCallbacks == null ||
mCallbacks.get().isAllAppsButtonRank((int) item.screenId)) {
deleteOnItemOverlap.set(true);
Log.e(TAG, "Error loading shortcut into hotseat " + item
+ " into position (" + item.screenId + ":" + item.cellX + ","
+ item.cellY + ") occupied by all apps");
return false;
}
if (occupied.containsKey(LauncherSettings.Favorites.CONTAINER_HOTSEAT)) {
if (occupied.get(LauncherSettings.Favorites.CONTAINER_HOTSEAT)
[(int) item.screenId][0] != null) {
final ItemInfo[][] hotseatItems =
occupied.get((long) LauncherSettings.Favorites.CONTAINER_HOTSEAT);
if (hotseatItems != null) {
if (hotseatItems[(int) item.screenId][0] != null) {
Log.e(TAG, "Error loading shortcut into hotseat " + item
+ " into position (" + item.screenId + ":" + item.cellX + ","
+ item.cellY + ") occupied by "
+ occupied.get(LauncherSettings.Favorites.CONTAINER_HOTSEAT)
[(int) item.screenId][0]);
return false;
} else {
hotseatItems[(int) item.screenId][0] = item;
return true;
}
} else {
ItemInfo[][] items = new ItemInfo[countX + 1][countY + 1];
final ItemInfo[][] items = new ItemInfo[(int) grid.numHotseatIcons + 1][1];
items[(int) item.screenId][0] = item;
occupied.put((long) LauncherSettings.Favorites.CONTAINER_HOTSEAT, items);
return true;
@@ -1582,7 +1590,7 @@ public class LauncherModel extends BroadcastReceiver {
occupied.put(item.screenId, items);
}
ItemInfo[][] screens = occupied.get(item.screenId);
final ItemInfo[][] screens = occupied.get(item.screenId);
// Check if any workspace icons overlap with each other
for (int x = item.cellX; x < (item.cellX+item.spanX); x++) {
for (int y = item.cellY; y < (item.cellY+item.spanY); y++) {
@@ -1913,7 +1921,7 @@ public class LauncherModel extends BroadcastReceiver {
break;
}
} catch (Exception e) {
Launcher.addDumpLog(TAG, "Desktop items loading interrupted: " + e, true);
Launcher.addDumpLog(TAG, "Desktop items loading interrupted", e, true);
}
}
} finally {