diff options
author | Winson Chung <winsonc@google.com> | 2011-11-17 14:58:51 -0800 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2011-11-18 10:13:04 -0800 |
commit | 3f4e1423804d64a38cb69e4511d7b80783564827 (patch) | |
tree | 005900e0f74f6c4cecd43a594df46141a31b7276 /src | |
parent | b0736fac73b0df95f18234a0494aea3f3fc6c735 (diff) | |
download | android_packages_apps_Trebuchet-3f4e1423804d64a38cb69e4511d7b80783564827.tar.gz android_packages_apps_Trebuchet-3f4e1423804d64a38cb69e4511d7b80783564827.tar.bz2 android_packages_apps_Trebuchet-3f4e1423804d64a38cb69e4511d7b80783564827.zip |
Minor fixes to Launcher
- Tweaking the AllApps tab padding
- Fixing issue where the cling punch out might be in the wrong location
- Removing unused dragging code related to drop/scroll area overlap
- Tweaking padding so that picking up an icon on the top row does not automatically hover over delete (Bug 5636264)
- Fixing issue where multiple bgs in AllApps tab bar line makes it look blurry (Bug 5523822)
Change-Id: I707397c231188a9feee8c0856374e0483cf37296
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher2/AppsCustomizePagedView.java | 34 | ||||
-rw-r--r-- | src/com/android/launcher2/AppsCustomizeTabHost.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/DragController.java | 20 |
3 files changed, 31 insertions, 26 deletions
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 2cdd16a49..0189d6c35 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -193,6 +193,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen private ArrayList<Object> mWidgets; // Cling + private boolean mHasShownAllAppsCling; private int mClingFocusedX; private int mClingFocusedY; @@ -396,14 +397,33 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen int page = getPageForComponent(mSaveInstanceStateItemIndex); invalidatePageData(Math.max(0, page)); - // Calculate the position for the cling punch through - int[] offset = new int[2]; - int[] pos = mWidgetSpacingLayout.estimateCellPosition(mClingFocusedX, mClingFocusedY); - mLauncher.getDragLayer().getLocationInDragLayer(this, offset); - pos[0] += (getMeasuredWidth() - mWidgetSpacingLayout.getMeasuredWidth()) / 2 + offset[0]; - pos[1] += (getMeasuredHeight() - mWidgetSpacingLayout.getMeasuredHeight()) / 2 + offset[1]; - mLauncher.showFirstRunAllAppsCling(pos); + // Show All Apps cling if we are finished transitioning, otherwise, we will try again when + // the transition completes in AppsCustomizeTabHost (otherwise the wrong offsets will be + // returned while animating) + AppsCustomizeTabHost host = (AppsCustomizeTabHost) getTabHost(); + if (!host.isTransitioning()) { + post(new Runnable() { + @Override + public void run() { + showAllAppsCling(); + } + }); + } + } + void showAllAppsCling() { + if (!mHasShownAllAppsCling && isDataReady() && testDataReady()) { + mHasShownAllAppsCling = true; + // Calculate the position for the cling punch through + int[] offset = new int[2]; + int[] pos = mWidgetSpacingLayout.estimateCellPosition(mClingFocusedX, mClingFocusedY); + mLauncher.getDragLayer().getLocationInDragLayer(this, offset); + // PagedViews are centered horizontally but top aligned + pos[0] += (getMeasuredWidth() - mWidgetSpacingLayout.getMeasuredWidth()) / 2 + + offset[0]; + pos[1] += offset[1]; + mLauncher.showFirstRunAllAppsCling(pos); + } } @Override diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher2/AppsCustomizeTabHost.java index 897a7fb51..778d6bc75 100644 --- a/src/com/android/launcher2/AppsCustomizeTabHost.java +++ b/src/com/android/launcher2/AppsCustomizeTabHost.java @@ -388,8 +388,9 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona } if (!toWorkspace) { - // Dismiss the cling if necessary + // Dismiss the workspace cling and show the all apps cling (if not already shown) l.dismissWorkspaceCling(null); + mAppsCustomizePane.showAllAppsCling(); if (!LauncherApplication.isScreenLarge()) { mAppsCustomizePane.hideScrollingIndicator(false); diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java index ee054abcc..286e2fe6d 100644 --- a/src/com/android/launcher2/DragController.java +++ b/src/com/android/launcher2/DragController.java @@ -101,7 +101,6 @@ public class DragController { private int mScrollState = SCROLL_OUTSIDE_ZONE; private ScrollRunnable mScrollRunnable = new ScrollRunnable(); - private RectF mDeleteRegion; private DropTarget mLastDropTarget; private InputMethodManager mInputMethodManager; @@ -486,12 +485,6 @@ public class DragController { } mLastDropTarget = dropTarget; - // Scroll, maybe, but not if we're in the delete region. - boolean inDeleteRegion = false; - if (mDeleteRegion != null) { - inDeleteRegion = mDeleteRegion.contains(x, y); - } - // After a scroll, the touch point will still be in the scroll region. // Rather than scrolling immediately, require a bit of twiddling to scroll again final int slop = ViewConfiguration.get(mLauncher).getScaledWindowTouchSlop(); @@ -500,7 +493,7 @@ public class DragController { mLastTouch[0] = x; mLastTouch[1] = y; - if (!inDeleteRegion && x < mScrollZone) { + if (x < mScrollZone) { if (mScrollState == SCROLL_OUTSIDE_ZONE && mDistanceSinceScroll > slop) { mScrollState = SCROLL_WAITING_IN_ZONE; if (mDragScroller.onEnterScrollArea(x, y, SCROLL_LEFT)) { @@ -508,7 +501,7 @@ public class DragController { mHandler.postDelayed(mScrollRunnable, SCROLL_DELAY); } } - } else if (!inDeleteRegion && x > mScrollView.getWidth() - mScrollZone) { + } else if (x > mScrollView.getWidth() - mScrollZone) { if (mScrollState == SCROLL_OUTSIDE_ZONE && mDistanceSinceScroll > slop) { mScrollState = SCROLL_WAITING_IN_ZONE; if (mDragScroller.onEnterScrollArea(x, y, SCROLL_RIGHT)) { @@ -669,15 +662,6 @@ public class DragController { mScrollView = v; } - /** - * Specifies the delete region. We won't scroll on touch events over the delete region. - * - * @param region The rectangle in DragLayer coordinates of the delete region. - */ - void setDeleteRegion(RectF region) { - mDeleteRegion = region; - } - DragView getDragView() { return mDragObject.dragView; } |