diff options
Diffstat (limited to 'src/com/android/launcher2/DragLayer.java')
-rw-r--r-- | src/com/android/launcher2/DragLayer.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher2/DragLayer.java index c2b710ec7..7503dda72 100644 --- a/src/com/android/launcher2/DragLayer.java +++ b/src/com/android/launcher2/DragLayer.java @@ -42,6 +42,8 @@ public class DragLayer extends FrameLayout { new ArrayList<AppWidgetResizeFrame>(); private AppWidgetResizeFrame mCurrentResizeFrame; private int mXDown, mYDown; + private Folder mCurrentFolder = null; + private Launcher mLauncher; /** * Used to create a new DragLayer from XML. @@ -82,6 +84,18 @@ public class DragLayer extends FrameLayout { } } } + if (mCurrentFolder != null) { + mCurrentFolder.getHitRect(hitRect); + int[] screenPos = new int[2]; + View parent = (View) mCurrentFolder.getParent(); + if (parent != null) { + parent.getLocationOnScreen(screenPos); + hitRect.offset(screenPos[0], screenPos[1]); + if (!hitRect.contains(x, y)) { + mLauncher.closeFolder(); + } + } + } return false; } @@ -237,4 +251,12 @@ public class DragLayer extends FrameLayout { resizeFrame.snapToWidget(false); } + + public void setLauncher(Launcher l) { + mLauncher = l; + } + + public void setCurrentFolder(Folder f) { + mCurrentFolder = f; + } } |