Don't animate tapped item if the target screen is full
diff --git a/src/com/android/launcher2/CustomizePagedView.java b/src/com/android/launcher2/CustomizePagedView.java
index 5672921..4eb852c 100644
--- a/src/com/android/launcher2/CustomizePagedView.java
+++ b/src/com/android/launcher2/CustomizePagedView.java
@@ -21,7 +21,7 @@
import org.xmlpull.v1.XmlPullParser;
import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
+import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.animation.TimeInterpolator;
@@ -40,7 +40,6 @@
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
-import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
@@ -378,11 +377,7 @@
posAnim.setInterpolator(mQuintEaseOutInterpolator);
posAnim.setDuration(ANIMATION_DURATION);
- posAnim.addListener(new AnimatorListener() {
- public void onAnimationCancel(Animator animation) {}
- public void onAnimationRepeat(Animator animation) {}
- public void onAnimationStart(Animator animation) {}
-
+ posAnim.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animation) {
dragLayer.removeView(dragCopy);
mLauncher.addExternalItemToScreen(info, layout);
@@ -443,7 +438,12 @@
animateClickFeedback(v, new Runnable() {
@Override
public void run() {
- animateItemOntoScreen(dragView, cl, itemInfo);
+ cl.calculateSpans(itemInfo);
+ if (cl.findCellForSpan(null, itemInfo.spanX, itemInfo.spanY)) {
+ animateItemOntoScreen(dragView, cl, itemInfo);
+ } else {
+ mLauncher.showOutOfSpaceMessage();
+ }
}
});
return;