diff options
43 files changed, 66 insertions, 32 deletions
diff --git a/res/drawable-hdpi/ic_pageindicator_add.png b/res/drawable-hdpi/ic_pageindicator_add.png Binary files differindex 4bb8bfa07..ab0e5dbd5 100644 --- a/res/drawable-hdpi/ic_pageindicator_add.png +++ b/res/drawable-hdpi/ic_pageindicator_add.png diff --git a/res/drawable-hdpi/ic_pageindicator_current.png b/res/drawable-hdpi/ic_pageindicator_current.png Binary files differindex bd15fb469..2e841f5f5 100644 --- a/res/drawable-hdpi/ic_pageindicator_current.png +++ b/res/drawable-hdpi/ic_pageindicator_current.png diff --git a/res/drawable-hdpi/ic_pageindicator_default.png b/res/drawable-hdpi/ic_pageindicator_default.png Binary files differindex 2386cd862..07ab94865 100644 --- a/res/drawable-hdpi/ic_pageindicator_default.png +++ b/res/drawable-hdpi/ic_pageindicator_default.png diff --git a/res/drawable-hdpi/page_hover_left.9.png b/res/drawable-hdpi/page_hover_left.9.png Binary files differnew file mode 100644 index 000000000..5f7087c88 --- /dev/null +++ b/res/drawable-hdpi/page_hover_left.9.png diff --git a/res/drawable-hdpi/page_hover_left_active.9.png b/res/drawable-hdpi/page_hover_left_active.9.png Binary files differnew file mode 100644 index 000000000..8787126d8 --- /dev/null +++ b/res/drawable-hdpi/page_hover_left_active.9.png diff --git a/res/drawable-hdpi/page_hover_left_holo.9.png b/res/drawable-hdpi/page_hover_left_holo.9.png Binary files differdeleted file mode 100644 index 8a1aa5fe8..000000000 --- a/res/drawable-hdpi/page_hover_left_holo.9.png +++ /dev/null diff --git a/res/drawable-hdpi/page_hover_right.9.png b/res/drawable-hdpi/page_hover_right.9.png Binary files differnew file mode 100644 index 000000000..ef991b702 --- /dev/null +++ b/res/drawable-hdpi/page_hover_right.9.png diff --git a/res/drawable-hdpi/page_hover_right_active.9.png b/res/drawable-hdpi/page_hover_right_active.9.png Binary files differnew file mode 100644 index 000000000..cd5b42db2 --- /dev/null +++ b/res/drawable-hdpi/page_hover_right_active.9.png diff --git a/res/drawable-hdpi/page_hover_right_holo.9.png b/res/drawable-hdpi/page_hover_right_holo.9.png Binary files differdeleted file mode 100644 index abf8f5173..000000000 --- a/res/drawable-hdpi/page_hover_right_holo.9.png +++ /dev/null diff --git a/res/drawable-hdpi/quantum_panel.9.png b/res/drawable-hdpi/quantum_panel.9.png Binary files differindex a005e0baa..914961a26 100644 --- a/res/drawable-hdpi/quantum_panel.9.png +++ b/res/drawable-hdpi/quantum_panel.9.png diff --git a/res/drawable-mdpi/ic_pageindicator_add.png b/res/drawable-mdpi/ic_pageindicator_add.png Binary files differindex e20ffa709..11659a3b2 100644 --- a/res/drawable-mdpi/ic_pageindicator_add.png +++ b/res/drawable-mdpi/ic_pageindicator_add.png diff --git a/res/drawable-mdpi/ic_pageindicator_current.png b/res/drawable-mdpi/ic_pageindicator_current.png Binary files differindex bb49d31e2..08f43b4c1 100644 --- a/res/drawable-mdpi/ic_pageindicator_current.png +++ b/res/drawable-mdpi/ic_pageindicator_current.png diff --git a/res/drawable-mdpi/ic_pageindicator_default.png b/res/drawable-mdpi/ic_pageindicator_default.png Binary files differindex 50d0989ab..635be4a37 100644 --- a/res/drawable-mdpi/ic_pageindicator_default.png +++ b/res/drawable-mdpi/ic_pageindicator_default.png diff --git a/res/drawable-mdpi/page_hover_left.9.png b/res/drawable-mdpi/page_hover_left.9.png Binary files differnew file mode 100644 index 000000000..0d537e6cb --- /dev/null +++ b/res/drawable-mdpi/page_hover_left.9.png diff --git a/res/drawable-mdpi/page_hover_left_active.9.png b/res/drawable-mdpi/page_hover_left_active.9.png Binary files differnew file mode 100644 index 000000000..3004f9e51 --- /dev/null +++ b/res/drawable-mdpi/page_hover_left_active.9.png diff --git a/res/drawable-mdpi/page_hover_left_holo.9.png b/res/drawable-mdpi/page_hover_left_holo.9.png Binary files differdeleted file mode 100644 index 561d3cd31..000000000 --- a/res/drawable-mdpi/page_hover_left_holo.9.png +++ /dev/null diff --git a/res/drawable-mdpi/page_hover_right.9.png b/res/drawable-mdpi/page_hover_right.9.png Binary files differnew file mode 100644 index 000000000..c0fbb7da6 --- /dev/null +++ b/res/drawable-mdpi/page_hover_right.9.png diff --git a/res/drawable-mdpi/page_hover_right_active.9.png b/res/drawable-mdpi/page_hover_right_active.9.png Binary files differnew file mode 100644 index 000000000..6d39687e4 --- /dev/null +++ b/res/drawable-mdpi/page_hover_right_active.9.png diff --git a/res/drawable-mdpi/page_hover_right_holo.9.png b/res/drawable-mdpi/page_hover_right_holo.9.png Binary files differdeleted file mode 100644 index 2681f23f0..000000000 --- a/res/drawable-mdpi/page_hover_right_holo.9.png +++ /dev/null diff --git a/res/drawable-mdpi/quantum_panel.9.png b/res/drawable-mdpi/quantum_panel.9.png Binary files differindex 785f573ee..b9b950644 100644 --- a/res/drawable-mdpi/quantum_panel.9.png +++ b/res/drawable-mdpi/quantum_panel.9.png diff --git a/res/drawable-xhdpi/ic_pageindicator_add.png b/res/drawable-xhdpi/ic_pageindicator_add.png Binary files differindex 9659e6fd8..af1da2d42 100644 --- a/res/drawable-xhdpi/ic_pageindicator_add.png +++ b/res/drawable-xhdpi/ic_pageindicator_add.png diff --git a/res/drawable-xhdpi/ic_pageindicator_current.png b/res/drawable-xhdpi/ic_pageindicator_current.png Binary files differindex 07b313760..0e9a52f6d 100644 --- a/res/drawable-xhdpi/ic_pageindicator_current.png +++ b/res/drawable-xhdpi/ic_pageindicator_current.png diff --git a/res/drawable-xhdpi/ic_pageindicator_default.png b/res/drawable-xhdpi/ic_pageindicator_default.png Binary files differindex 0351d57a4..d0f14cdfb 100644 --- a/res/drawable-xhdpi/ic_pageindicator_default.png +++ b/res/drawable-xhdpi/ic_pageindicator_default.png diff --git a/res/drawable-xhdpi/page_hover_left.9.png b/res/drawable-xhdpi/page_hover_left.9.png Binary files differnew file mode 100644 index 000000000..9b0def8bb --- /dev/null +++ b/res/drawable-xhdpi/page_hover_left.9.png diff --git a/res/drawable-xhdpi/page_hover_left_active.9.png b/res/drawable-xhdpi/page_hover_left_active.9.png Binary files differnew file mode 100644 index 000000000..6440bdf71 --- /dev/null +++ b/res/drawable-xhdpi/page_hover_left_active.9.png diff --git a/res/drawable-xhdpi/page_hover_left_holo.9.png b/res/drawable-xhdpi/page_hover_left_holo.9.png Binary files differdeleted file mode 100644 index 4972a2eeb..000000000 --- a/res/drawable-xhdpi/page_hover_left_holo.9.png +++ /dev/null diff --git a/res/drawable-xhdpi/page_hover_right.9.png b/res/drawable-xhdpi/page_hover_right.9.png Binary files differnew file mode 100644 index 000000000..c7bdfe929 --- /dev/null +++ b/res/drawable-xhdpi/page_hover_right.9.png diff --git a/res/drawable-xhdpi/page_hover_right_active.9.png b/res/drawable-xhdpi/page_hover_right_active.9.png Binary files differnew file mode 100644 index 000000000..43660e50f --- /dev/null +++ b/res/drawable-xhdpi/page_hover_right_active.9.png diff --git a/res/drawable-xhdpi/page_hover_right_holo.9.png b/res/drawable-xhdpi/page_hover_right_holo.9.png Binary files differdeleted file mode 100644 index b99461f69..000000000 --- a/res/drawable-xhdpi/page_hover_right_holo.9.png +++ /dev/null diff --git a/res/drawable-xhdpi/quantum_panel.9.png b/res/drawable-xhdpi/quantum_panel.9.png Binary files differindex 5726fd215..1bbb93729 100644 --- a/res/drawable-xhdpi/quantum_panel.9.png +++ b/res/drawable-xhdpi/quantum_panel.9.png diff --git a/res/drawable-xxhdpi/ic_pageindicator_add.png b/res/drawable-xxhdpi/ic_pageindicator_add.png Binary files differindex 591b18900..c28895229 100644 --- a/res/drawable-xxhdpi/ic_pageindicator_add.png +++ b/res/drawable-xxhdpi/ic_pageindicator_add.png diff --git a/res/drawable-xxhdpi/ic_pageindicator_current.png b/res/drawable-xxhdpi/ic_pageindicator_current.png Binary files differindex 4e4660fd1..b74e92ea7 100644 --- a/res/drawable-xxhdpi/ic_pageindicator_current.png +++ b/res/drawable-xxhdpi/ic_pageindicator_current.png diff --git a/res/drawable-xxhdpi/ic_pageindicator_default.png b/res/drawable-xxhdpi/ic_pageindicator_default.png Binary files differindex 1cccb17e1..e362ece71 100644 --- a/res/drawable-xxhdpi/ic_pageindicator_default.png +++ b/res/drawable-xxhdpi/ic_pageindicator_default.png diff --git a/res/drawable-xxhdpi/page_hover_left.9.png b/res/drawable-xxhdpi/page_hover_left.9.png Binary files differnew file mode 100644 index 000000000..0c0eddda1 --- /dev/null +++ b/res/drawable-xxhdpi/page_hover_left.9.png diff --git a/res/drawable-xxhdpi/page_hover_left_active.9.png b/res/drawable-xxhdpi/page_hover_left_active.9.png Binary files differnew file mode 100644 index 000000000..a9ae22222 --- /dev/null +++ b/res/drawable-xxhdpi/page_hover_left_active.9.png diff --git a/res/drawable-xxhdpi/page_hover_left_holo.9.png b/res/drawable-xxhdpi/page_hover_left_holo.9.png Binary files differdeleted file mode 100644 index 626aafb55..000000000 --- a/res/drawable-xxhdpi/page_hover_left_holo.9.png +++ /dev/null diff --git a/res/drawable-xxhdpi/page_hover_right.9.png b/res/drawable-xxhdpi/page_hover_right.9.png Binary files differnew file mode 100644 index 000000000..d61f94f95 --- /dev/null +++ b/res/drawable-xxhdpi/page_hover_right.9.png diff --git a/res/drawable-xxhdpi/page_hover_right_active.9.png b/res/drawable-xxhdpi/page_hover_right_active.9.png Binary files differnew file mode 100644 index 000000000..079ee1ef1 --- /dev/null +++ b/res/drawable-xxhdpi/page_hover_right_active.9.png diff --git a/res/drawable-xxhdpi/page_hover_right_holo.9.png b/res/drawable-xxhdpi/page_hover_right_holo.9.png Binary files differdeleted file mode 100644 index 66257dc8e..000000000 --- a/res/drawable-xxhdpi/page_hover_right_holo.9.png +++ /dev/null diff --git a/res/drawable-xxhdpi/quantum_panel.9.png b/res/drawable-xxhdpi/quantum_panel.9.png Binary files differindex 035cdc4ad..4392aa02a 100644 --- a/res/drawable-xxhdpi/quantum_panel.9.png +++ b/res/drawable-xxhdpi/quantum_panel.9.png diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index 93006b3f5..89473c8b1 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -72,6 +72,7 @@ public class CellLayout extends ViewGroup { private int mHeightGap; private int mMaxGap; private boolean mDropPending = false; + private boolean mIsDragTarget = true; // These are temporary variables to prevent having to allocate a new object just to // return an (x, y) value from helper functions. Do NOT use them to maintain other state. @@ -367,14 +368,6 @@ public class CellLayout extends ViewGroup { } } - void setIsDragOverlapping(boolean isDragOverlapping) { - if (mIsDragOverlapping != isDragOverlapping) { - mIsDragOverlapping = isDragOverlapping; - setUseActiveGlowBackground(mIsDragOverlapping); - invalidate(); - } - } - void setUseActiveGlowBackground(boolean use) { mUseActiveGlowBackground = use; } @@ -383,6 +376,22 @@ public class CellLayout extends ViewGroup { mDrawBackground = false; } + void disableDragTarget() { + mIsDragTarget = false; + } + + boolean isDragTarget() { + return mIsDragTarget; + } + + void setIsDragOverlapping(boolean isDragOverlapping) { + if (mIsDragOverlapping != isDragOverlapping) { + mIsDragOverlapping = isDragOverlapping; + setUseActiveGlowBackground(mIsDragOverlapping); + invalidate(); + } + } + boolean getIsDragOverlapping() { return mIsDragOverlapping; } @@ -946,6 +955,7 @@ public class CellLayout extends ViewGroup { } public void setBackgroundAlphaMultiplier(float multiplier) { + if (mBackgroundAlphaMultiplier != multiplier) { mBackgroundAlphaMultiplier = multiplier; invalidate(); diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index 80f8dfce8..72d33dae8 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -96,8 +96,10 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang setOnHierarchyChangeListener(this); final Resources res = getResources(); - mLeftHoverDrawable = res.getDrawable(R.drawable.page_hover_left_holo); - mRightHoverDrawable = res.getDrawable(R.drawable.page_hover_right_holo); + mLeftHoverDrawable = res.getDrawable(R.drawable.page_hover_left); + mRightHoverDrawable = res.getDrawable(R.drawable.page_hover_right); + mLeftHoverDrawableActive = res.getDrawable(R.drawable.page_hover_left_active); + mRightHoverDrawableActive = res.getDrawable(R.drawable.page_hover_right_active); mBackground = res.getDrawable(R.drawable.apps_customize_bg); } @@ -850,8 +852,11 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang } private boolean mInScrollArea; + private boolean mShowPageHints; private Drawable mLeftHoverDrawable; private Drawable mRightHoverDrawable; + private Drawable mLeftHoverDrawableActive; + private Drawable mRightHoverDrawableActive; void onEnterScrollArea(int direction) { mInScrollArea = true; @@ -863,6 +868,16 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang invalidate(); } + void showPageHints() { + mShowPageHints = true; + invalidate(); + } + + void hidePageHints() { + mShowPageHints = false; + invalidate(); + } + /** * Note: this is a reimplementation of View.isLayoutRtl() since that is currently hidden api. */ @@ -883,25 +898,32 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang super.dispatchDraw(canvas); // Draw screen hover indicators above children. - if (mInScrollArea && !LauncherAppState.getInstance().isScreenLarge()) { + if (mShowPageHints) { Workspace workspace = mLauncher.getWorkspace(); int width = getMeasuredWidth(); Rect childRect = new Rect(); - getDescendantRectRelativeToSelf(workspace.getChildAt(0), childRect); + getDescendantRectRelativeToSelf(workspace.getChildAt(workspace.getChildCount() - 1), + childRect); int page = workspace.getNextPage(); final boolean isRtl = isLayoutRtl(); CellLayout leftPage = (CellLayout) workspace.getChildAt(isRtl ? page + 1 : page - 1); CellLayout rightPage = (CellLayout) workspace.getChildAt(isRtl ? page - 1 : page + 1); - if (leftPage != null && leftPage.getIsDragOverlapping()) { - mLeftHoverDrawable.setBounds(0, childRect.top, - mLeftHoverDrawable.getIntrinsicWidth(), childRect.bottom); - mLeftHoverDrawable.draw(canvas); - } else if (rightPage != null && rightPage.getIsDragOverlapping()) { - mRightHoverDrawable.setBounds(width - mRightHoverDrawable.getIntrinsicWidth(), + if (leftPage != null && leftPage.isDragTarget()) { + Drawable left = mInScrollArea && leftPage.getIsDragOverlapping() ? + mLeftHoverDrawableActive : mLeftHoverDrawable; + left.setBounds(0, childRect.top, + left.getIntrinsicWidth(), childRect.bottom); + left.draw(canvas); + } + if (rightPage != null && rightPage.isDragTarget()) { + Drawable right = mInScrollArea && rightPage.getIsDragOverlapping() ? + mRightHoverDrawableActive : mRightHoverDrawable; + + right.setBounds(width - right.getIntrinsicWidth(), childRect.top, width, childRect.bottom); - mRightHoverDrawable.draw(canvas); + right.draw(canvas); } } } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 53a3f948d..a6cce9346 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -585,6 +585,7 @@ public class Workspace extends SmoothPagedView CellLayout customScreen = (CellLayout) mLauncher.getLayoutInflater().inflate(R.layout.workspace_screen, null); customScreen.disableBackground(); + customScreen.disableDragTarget(); mWorkspaceScreens.put(CUSTOM_CONTENT_SCREEN_ID, customScreen); mScreenOrder.add(0, CUSTOM_CONTENT_SCREEN_ID); @@ -1583,7 +1584,7 @@ public class Workspace extends SmoothPagedView private void updatePageAlphaValues(int screenCenter) { boolean isInOverscroll = mOverScrollX < 0 || mOverScrollX > mMaxScrollX; if (mWorkspaceFadeInAdjacentScreens && - mState == State.NORMAL && + !workspaceInModalState() && !mIsSwitchingState && !isInOverscroll) { for (int i = numCustomPages(); i < getChildCount(); i++) { @@ -1592,6 +1593,7 @@ public class Workspace extends SmoothPagedView float scrollProgress = getScrollProgress(screenCenter, child, i); float alpha = 1 - Math.abs(scrollProgress); child.getShortcutsAndWidgets().setAlpha(alpha); + //child.setBackgroundAlphaMultiplier(1 - alpha); } } } @@ -1685,8 +1687,7 @@ public class Workspace extends SmoothPagedView updateStateForCustomContent(screenCenter); enableHwLayersOnVisiblePages(); - boolean shouldOverScroll = (mOverScrollEffect < 0 && (!hasCustomContent() || isLayoutRtl())) || - (mOverScrollEffect > 0 && (!hasCustomContent() || !isLayoutRtl())); + boolean shouldOverScroll = mOverScrollX < 0 || mOverScrollX > mMaxScrollX; if (shouldOverScroll) { int index = 0; @@ -1710,14 +1711,16 @@ public class Workspace extends SmoothPagedView } } - private void computeOverScrollEffect(float amount) { - mOverScrollEffect = acceleratedOverFactor(amount); - } - @Override protected void overScroll(float amount) { - computeOverScrollEffect(amount); - dampedOverScroll(amount); + boolean shouldOverScroll = (amount < 0 && (!hasCustomContent() || isLayoutRtl())) || + (amount > 0 && (!hasCustomContent() || !isLayoutRtl())); + if (shouldOverScroll) { + dampedOverScroll(amount); + mOverScrollEffect = acceleratedOverFactor(amount); + } else { + mOverScrollEffect = 0; + } } protected void onAttachedToWindow() { @@ -3242,10 +3245,8 @@ public class Workspace extends SmoothPagedView setCurrentDropLayout(layout); setCurrentDragOverlappingLayout(layout); - // Because we don't have space in the Phone UI (the CellLayouts run to the edge) we - // don't need to show the outlines - if (LauncherAppState.getInstance().isScreenLarge()) { - showOutlines(); + if (!workspaceInModalState()) { + mLauncher.getDragLayer().showPageHints(); } } @@ -3320,6 +3321,7 @@ public class Workspace extends SmoothPagedView if (!mIsPageMoving) { hideOutlines(); } + mLauncher.getDragLayer().hidePageHints(); } void setCurrentDropLayout(CellLayout layout) { |