From: Adam Cohen Date: Fri, 4 Apr 2014 01:12:34 +0000 (-0700) Subject: Prevent exception in production when icons collide during bind X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=8f006edb;p=android-x86%2Fpackages-apps-Trebuchet.git 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 --- 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); + } } }