summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/dimens.xml4
-rw-r--r--src/com/android/launcher2/DragController.java17
2 files changed, 17 insertions, 4 deletions
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 790f83599..c83986be2 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -37,4 +37,8 @@
<!-- delete_zone_size_full - button_bar_height_portrait -->
<dimen name="delete_zone_padding">14dip</dimen>
+
+ <!-- the area at the edge of the screen that makes the workspace go left
+ or right while you're dragging. -->
+ <dimen name="scroll_zone">20dp</dimen>
</resources>
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java
index b4f972bb2..b453061df 100644
--- a/src/com/android/launcher2/DragController.java
+++ b/src/com/android/launcher2/DragController.java
@@ -33,6 +33,8 @@ import android.view.inputmethod.InputMethodManager;
import java.util.ArrayList;
+import com.android.launcher.R;
+
/**
* Class for initiating a drag within a view or across multiple views.
*/
@@ -47,7 +49,6 @@ public class DragController {
public static int DRAG_ACTION_COPY = 1;
private static final int SCROLL_DELAY = 600;
- private static final int SCROLL_ZONE = 20;
private static final int VIBRATE_DURATION = 35;
private static final boolean PROFILE_DRAWING_DURING_DRAG = false;
@@ -87,6 +88,11 @@ public class DragController {
/** Y offset from the upper-left corner of the cell to where we touched. */
private float mTouchOffsetY;
+ /** the area at the edge of the screen that makes the workspace go left
+ * or right while you're dragging.
+ */
+ private int mScrollZone;
+
/** Where the drag originated */
private DragSource mDragSource;
@@ -147,6 +153,7 @@ public class DragController {
public DragController(Context context) {
mContext = context;
mHandler = new Handler();
+ mScrollZone = context.getResources().getDimensionPixelSize(R.dimen.scroll_zone);
}
/**
@@ -378,7 +385,7 @@ public class DragController {
mMotionDownX = screenX;
mMotionDownY = screenY;
- if ((screenX < SCROLL_ZONE) || (screenX > scrollView.getWidth() - SCROLL_ZONE)) {
+ if ((screenX < mScrollZone) || (screenX > scrollView.getWidth() - mScrollZone)) {
mScrollState = SCROLL_WAITING_IN_ZONE;
mHandler.postDelayed(mScrollRunnable, SCROLL_DELAY);
} else {
@@ -419,13 +426,15 @@ public class DragController {
if (mDeleteRegion != null) {
inDeleteRegion = mDeleteRegion.contains(screenX, screenY);
}
- if (!inDeleteRegion && screenX < SCROLL_ZONE) {
+ //Log.d(Launcher.TAG, "inDeleteRegion=" + inDeleteRegion + " screenX=" + screenX
+ // + " mScrollZone=" + mScrollZone);
+ if (!inDeleteRegion && screenX < mScrollZone) {
if (mScrollState == SCROLL_OUTSIDE_ZONE) {
mScrollState = SCROLL_WAITING_IN_ZONE;
mScrollRunnable.setDirection(SCROLL_LEFT);
mHandler.postDelayed(mScrollRunnable, SCROLL_DELAY);
}
- } else if (!inDeleteRegion && screenX > scrollView.getWidth() - SCROLL_ZONE) {
+ } else if (!inDeleteRegion && screenX > scrollView.getWidth() - mScrollZone) {
if (mScrollState == SCROLL_OUTSIDE_ZONE) {
mScrollState = SCROLL_WAITING_IN_ZONE;
mScrollRunnable.setDirection(SCROLL_RIGHT);