From 291ad12232c98e383d44d76ffe09e97e204c61bc Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Mon, 24 May 2010 16:03:53 -0400 Subject: [PATCH] Ignore requests to add items to non-existant screens. Should avoid crashes when using Launcher2 alongside third-party launchers that add additional workspaces. Bug: 2709532 Change-Id: I7775b43e582346ba686524e357a2b262e9fc4dcd --- src/com/android/launcher2/Workspace.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index f65d956f0c..c337c3078e 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -36,6 +36,7 @@ import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; +import android.util.Log; import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; @@ -363,7 +364,9 @@ public class Workspace extends ViewGroup implements DropTarget, DragSource, Drag */ void addInScreen(View child, int screen, int x, int y, int spanX, int spanY, boolean insert) { if (screen < 0 || screen >= getChildCount()) { - throw new IllegalStateException("The screen must be >= 0 and < " + getChildCount()); + Log.e(TAG, "The screen must be >= 0 and < " + getChildCount() + + " (was " + screen + "); skipping child"); + return; } clearVacantCache();