summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2011-11-17 14:58:51 -0800
committerWinson Chung <winsonc@google.com>2011-11-18 10:13:04 -0800
commit3f4e1423804d64a38cb69e4511d7b80783564827 (patch)
tree005900e0f74f6c4cecd43a594df46141a31b7276 /src
parentb0736fac73b0df95f18234a0494aea3f3fc6c735 (diff)
downloadandroid_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.java34
-rw-r--r--src/com/android/launcher2/AppsCustomizeTabHost.java3
-rw-r--r--src/com/android/launcher2/DragController.java20
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;
}