summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/DragLayer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher2/DragLayer.java')
-rw-r--r--src/com/android/launcher2/DragLayer.java22
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;
+ }
}