diff options
author | Michael Jurka <mikejurka@google.com> | 2010-10-15 18:07:21 -0700 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2010-10-15 18:19:49 -0700 |
commit | 3adcb0c4a32d14ed1f59a4520d08f75ff833af1f (patch) | |
tree | 085857558285a6f052ecf8a2120942076913ccff /src/com/android/launcher2 | |
parent | ab1d8b96f74fd0653fcbec0cd64ad7dad95d9cc5 (diff) | |
download | packages_apps_trebuchet-3adcb0c4a32d14ed1f59a4520d08f75ff833af1f.zip packages_apps_trebuchet-3adcb0c4a32d14ed1f59a4520d08f75ff833af1f.tar.gz packages_apps_trebuchet-3adcb0c4a32d14ed1f59a4520d08f75ff833af1f.tar.bz2 |
making size of delete zone & info button larger
- only on XLarge devices
- make application info button inactive when its not visible
- making scroll right "dead" zone bigger so users don't trigger accidental scroll when deleting items
Change-Id: I474de710a80b165d2ce1553c9231a829679132b2
Diffstat (limited to 'src/com/android/launcher2')
-rw-r--r-- | src/com/android/launcher2/ApplicationInfoDropTarget.java | 17 | ||||
-rw-r--r-- | src/com/android/launcher2/DeleteZone.java | 31 |
2 files changed, 39 insertions, 9 deletions
diff --git a/src/com/android/launcher2/ApplicationInfoDropTarget.java b/src/com/android/launcher2/ApplicationInfoDropTarget.java index cb45b3a..c4aa98c 100644 --- a/src/com/android/launcher2/ApplicationInfoDropTarget.java +++ b/src/com/android/launcher2/ApplicationInfoDropTarget.java @@ -21,6 +21,7 @@ import android.content.Context; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; @@ -98,9 +99,8 @@ public class ApplicationInfoDropTarget extends ImageView implements DropTarget, public void onDragStart(DragSource source, Object info, int dragAction) { if (info != null) { - mActive = true; - if (mManageVisibility) { + mActive = true; // Only show the info icon when an application is selected if (((ItemInfo)info).itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION) { setVisibility(VISIBLE); @@ -111,7 +111,7 @@ public class ApplicationInfoDropTarget extends ImageView implements DropTarget, } public boolean isDropEnabled() { - return true; + return mActive; } public void onDragEnd() { @@ -124,6 +124,17 @@ public class ApplicationInfoDropTarget extends ImageView implements DropTarget, } } + @Override + public void getHitRect(Rect outRect) { + super.getHitRect(outRect); + if (LauncherApplication.isScreenXLarge()) { + outRect.top -= 50; + outRect.left -= 50; + outRect.bottom += 50; + outRect.right += 50; + } + } + void setLauncher(Launcher launcher) { mLauncher = launcher; } diff --git a/src/com/android/launcher2/DeleteZone.java b/src/com/android/launcher2/DeleteZone.java index 1f54b36..e8f160f 100644 --- a/src/com/android/launcher2/DeleteZone.java +++ b/src/com/android/launcher2/DeleteZone.java @@ -23,6 +23,7 @@ import android.content.res.TypedArray; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.TransitionDrawable; import android.util.AttributeSet; @@ -59,7 +60,8 @@ public class DeleteZone extends ImageView implements DropTarget, DragController. private int mOrientation; private DragController mDragController; - private final RectF mRegion = new RectF(); + private final RectF mRegionF = new RectF(); + private final Rect mRegion = new Rect(); private TransitionDrawable mTransition; private final Paint mTrashPaint = new Paint(); @@ -158,11 +160,17 @@ public class DeleteZone extends ImageView implements DropTarget, DragController. final ItemInfo item = (ItemInfo) info; if (item != null) { mTrashMode = true; - final int[] location = mLocation; - getLocationOnScreen(location); - mRegion.set(location[0], location[1], location[0] + mRight - mLeft, - location[1] + mBottom - mTop); - mDragController.setDeleteRegion(mRegion); + getHitRect(mRegion); + mRegionF.set(mRegion); + + if (LauncherApplication.isScreenXLarge()) { + // This region will be a "dead zone" for scrolling; make it extend to the edge of + // the screen so users don't accidentally trigger a scroll while deleting items + mRegionF.top = mLauncher.getWorkspace().getTop(); + mRegionF.right = mLauncher.getWorkspace().getRight(); + } + + mDragController.setDeleteRegion(mRegionF); // Make sure the icon is set to the default drawable, not the hover drawable mTransition.resetTransition(); @@ -194,6 +202,17 @@ public class DeleteZone extends ImageView implements DropTarget, DragController. return true; } + @Override + public void getHitRect(Rect outRect) { + super.getHitRect(outRect); + if (LauncherApplication.isScreenXLarge()) { + outRect.top -= 50; + outRect.left -= 50; + outRect.bottom += 50; + outRect.right += 50; + } + } + private void createAnimations() { if (mInAnimation == null) { mInAnimation = new FastAnimationSet(); |