Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5aff893a authored by Dan Sandler's avatar Dan Sandler Committed by Android Git Automerger
Browse files

am 5ab7187d: am a40916d5: Merge "Size hotseat data structure appropriately." into jb-ub-now-kermit

* commit '5ab7187d':
  Size hotseat data structure appropriately.
parents 6effa1e3 5ab7187d
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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) {
            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
Original line number Diff line number Diff line
@@ -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 {