diff options
author | Adam Cohen <adamcohen@google.com> | 2011-08-03 11:38:27 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-03 11:38:27 -0700 |
commit | 375b01e38fd61db81162a4ffaddd4d7a7c337f7d (patch) | |
tree | 2ce9491b1430564db6cf6364aae1a3b601d6fc39 | |
parent | e5885b587c708162246225c9168ea14bc99b7ae4 (diff) | |
parent | 9932a9b1e66fed4b5f38ce50f13d56331bbdcd7e (diff) | |
download | android_packages_apps_Trebuchet-375b01e38fd61db81162a4ffaddd4d7a7c337f7d.tar.gz android_packages_apps_Trebuchet-375b01e38fd61db81162a4ffaddd4d7a7c337f7d.tar.bz2 android_packages_apps_Trebuchet-375b01e38fd61db81162a4ffaddd4d7a7c337f7d.zip |
Merge "Fixing weird deferred click events after deleting folder"
-rw-r--r-- | src/com/android/launcher2/DragController.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 13 | ||||
-rw-r--r-- | src/com/android/launcher2/LauncherModel.java | 2 |
3 files changed, 16 insertions, 4 deletions
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java index 28c53d163..647a425e6 100644 --- a/src/com/android/launcher2/DragController.java +++ b/src/com/android/launcher2/DragController.java @@ -31,6 +31,7 @@ import android.view.ViewConfiguration; import android.view.inputmethod.InputMethodManager; import com.android.launcher.R; +import com.android.launcher2.DropTarget.DragObject; import java.util.ArrayList; @@ -81,7 +82,7 @@ public class DragController { */ private int mScrollZone; - private DropTarget.DragObject mDragObject = new DropTarget.DragObject(); + private DropTarget.DragObject mDragObject; /** Who can receive drop events */ private ArrayList<DropTarget> mDropTargets = new ArrayList<DropTarget>(); @@ -275,6 +276,8 @@ public class DragController { mDragging = true; + mDragObject = new DropTarget.DragObject(); + mDragObject.dragComplete = false; mDragObject.xOffset = mMotionDownX - (dragLayerX + dragRegionLeft); mDragObject.yOffset = mMotionDownY - (dragLayerY + dragRegionTop); diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index a8782ba81..ac85f98ab 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -1533,8 +1533,15 @@ public final class Launcher extends Activity * @param v The view representing the clicked shortcut. */ public void onClick(View v) { - // Make sure that rogue clicks don't get through while allapps is launching - if (mWorkspace.isSwitchingState()) return; + // Make sure that rogue clicks don't get through while allapps is launching, or after the + // view has detached (it's possible for this to happen if the view is removed mid touch). + if (v.getWindowToken() == null) { + return; + } + + if (mWorkspace.isSwitchingState()) { + return; + } Object tag = v.getTag(); if (tag instanceof ShortcutInfo) { @@ -1692,6 +1699,7 @@ public final class Launcher extends Activity } private void growAndFadeOutFolderIcon(FolderIcon fi) { + if (fi == null) return; PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0); PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.5f); PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.5f); @@ -1708,6 +1716,7 @@ public final class Launcher extends Activity } private void shrinkAndFadeInFolderIcon(FolderIcon fi) { + if (fi == null) return; PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 1.0f); PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.0f); PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.0f); diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java index c8cf1f832..6658f07c2 100644 --- a/src/com/android/launcher2/LauncherModel.java +++ b/src/com/android/launcher2/LauncherModel.java @@ -506,7 +506,7 @@ public class LauncherModel extends BroadcastReceiver { sFolders.remove(info.id); sWorkspaceItems.remove(info); - cr.delete(LauncherSettings.Favorites.CONTENT_URI, + cr.delete(LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION, LauncherSettings.Favorites.CONTAINER + "=" + info.id, null); for (ItemInfo childInfo : info.contents) { sItemsIdMap.remove(childInfo.id); |