From 8f006edba228622422088a358aafee069e1d9cfb Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Thu, 3 Apr 2014 18:12:34 -0700 Subject: [PATCH] Prevent exception in production when icons collide during bind -> We only need to throw an exception for dogfooders so we can track the issue -> Worst case, an icon is ignored, does not warrant a crash. issue 12106766 Change-Id: I054a849eb3d65762dc5e1bf699c76655f687c3e8 --- src/com/android/launcher3/Launcher.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 5bdd7eb33..6474d26b8 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -3982,7 +3982,15 @@ public class Launcher extends Activity if (item.container == LauncherSettings.Favorites.CONTAINER_DESKTOP) { CellLayout cl = mWorkspace.getScreenWithId(item.screenId); if (cl != null && cl.isOccupied(item.cellX, item.cellY)) { - throw new RuntimeException("OCCUPIED"); + View v = cl.getChildAt(item.cellX, item.cellY); + Object tag = v.getTag(); + String desc = "Collision while binding workspace item: " + item + + ". Collides with " + tag; + if (LauncherAppState.isDogfoodBuild()) { + throw (new RuntimeException(desc)); + } else { + Log.d(TAG, desc); + } } } -- 2.11.0