From 94e0d37f53e699364ebff732cf75ab81a577fb91 Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 11 Sep 2015 12:17:48 -0700 Subject: [PATCH] Initial spring loaded workspace. It is a bit clunky and doesn't have the App Info drag bar at the bottom yet, but it is a start. Also removed page hints because they are no longer used. Change-Id: I1f8f82d33e6694cab1f1c762e78852ac0d40ab33 --- res/drawable-hdpi/page_hover_left.9.png | Bin 102 -> 0 bytes .../page_hover_left_active.9.png | Bin 102 -> 0 bytes res/drawable-hdpi/page_hover_right.9.png | Bin 100 -> 0 bytes .../page_hover_right_active.9.png | Bin 100 -> 0 bytes res/drawable-mdpi/page_hover_left.9.png | Bin 99 -> 0 bytes .../page_hover_left_active.9.png | Bin 99 -> 0 bytes res/drawable-mdpi/page_hover_right.9.png | Bin 97 -> 0 bytes .../page_hover_right_active.9.png | Bin 98 -> 0 bytes res/drawable-xhdpi/page_hover_left.9.png | Bin 104 -> 0 bytes .../page_hover_left_active.9.png | Bin 104 -> 0 bytes res/drawable-xhdpi/page_hover_right.9.png | Bin 108 -> 0 bytes .../page_hover_right_active.9.png | Bin 108 -> 0 bytes res/drawable-xxhdpi/page_hover_left.9.png | Bin 116 -> 0 bytes .../page_hover_left_active.9.png | Bin 116 -> 0 bytes res/drawable-xxhdpi/page_hover_right.9.png | Bin 122 -> 0 bytes .../page_hover_right_active.9.png | Bin 122 -> 0 bytes src/com/android/launcher3/Launcher.java | 25 ++++-- src/com/android/launcher3/Workspace.java | 13 +-- .../allapps/AllAppsContainerView.java | 2 - .../launcher3/dragndrop/DragController.java | 69 ---------------- .../launcher3/dragndrop/DragLayer.java | 74 +----------------- 21 files changed, 27 insertions(+), 156 deletions(-) delete mode 100644 res/drawable-hdpi/page_hover_left.9.png delete mode 100644 res/drawable-hdpi/page_hover_left_active.9.png delete mode 100644 res/drawable-hdpi/page_hover_right.9.png delete mode 100644 res/drawable-hdpi/page_hover_right_active.9.png delete mode 100644 res/drawable-mdpi/page_hover_left.9.png delete mode 100644 res/drawable-mdpi/page_hover_left_active.9.png delete mode 100644 res/drawable-mdpi/page_hover_right.9.png delete mode 100644 res/drawable-mdpi/page_hover_right_active.9.png delete mode 100644 res/drawable-xhdpi/page_hover_left.9.png delete mode 100644 res/drawable-xhdpi/page_hover_left_active.9.png delete mode 100644 res/drawable-xhdpi/page_hover_right.9.png delete mode 100644 res/drawable-xhdpi/page_hover_right_active.9.png delete mode 100644 res/drawable-xxhdpi/page_hover_left.9.png delete mode 100644 res/drawable-xxhdpi/page_hover_left_active.9.png delete mode 100644 res/drawable-xxhdpi/page_hover_right.9.png delete mode 100644 res/drawable-xxhdpi/page_hover_right_active.9.png diff --git a/res/drawable-hdpi/page_hover_left.9.png b/res/drawable-hdpi/page_hover_left.9.png deleted file mode 100644 index 3f11d0b33dd91dcea948106329ccb8964027ee63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eQ!2%@X47W}MQo5cljv*C{$qY^ZJtk;;kY_fy z!TdF8YQaHeMxlNehdDxvg`TwN&FfI&37E{naNw=uMh4*@d_av1p00i_>zopr0KCr| A?f?J) diff --git a/res/drawable-hdpi/page_hover_left_active.9.png b/res/drawable-hdpi/page_hover_left_active.9.png deleted file mode 100644 index abe4c31a97611d422a31bc8f32e21b52816d3d44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eQ!2%@X47W}MQo5cljv*C{$qY^ZJtk;;kY_fy z!TdF8YQaHeMxp!t4Hl|yswX&OZ3JB<7N~JD{4k44oL=#&52%sB)78&qol`;+0Iz%- AzyJUM diff --git a/res/drawable-hdpi/page_hover_right.9.png b/res/drawable-hdpi/page_hover_right.9.png deleted file mode 100644 index 3bcf191958abeea6a7bfd8fd12a00b96714b37bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eQ!2%@X47W}MQrey_jv*C{$qr2aCo0q>{Fj$? y__|}F#z%QQ!OjK=p~XT^TJ+v^9OB-f%ETak+3{kiT0$dG8-u5-pUXO@geCx-;v4J$ diff --git a/res/drawable-hdpi/page_hover_right_active.9.png b/res/drawable-hdpi/page_hover_right_active.9.png deleted file mode 100644 index 101e4dc0f69fd7ba51ecb4fda4389205196e7f92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eQ!2%@X47W}MQrey_jv*C{$qr2aCo0q>{Fj$? y__|}F#z%R*jq;3!DsHMLIAiY!wu&csvoK`##x<61KJE|H#^CAd=d#Wzp$PzY0UGrH diff --git a/res/drawable-mdpi/page_hover_left.9.png b/res/drawable-mdpi/page_hover_left.9.png deleted file mode 100644 index 2b6094cf65491623d9208b874f73c9f9cc44b4d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^oIotV!2%@n9Os?@Qd*uajv*C{$qY^Z13JY2xHIwa xIb6+f(sNK;;Gx38r>E$%Jn6H5Tmy#!LrT(&eUWdzTnFl6@O1TaS?83{1OO=C8U+9V diff --git a/res/drawable-mdpi/page_hover_left_active.9.png b/res/drawable-mdpi/page_hover_left_active.9.png deleted file mode 100644 index 9eb00a28205b45ae9c0794b0f78e4858be2f036d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^oIotV!2%@n9Os?@Qd*uajv*C{$qY^Z13JY2xHIwa wIb6+f(sNK;aH5VwCdO%o-_d7^HVlFe3}U;M)@{D+12Tfa)78&qol`;+07cds3jhEB diff --git a/res/drawable-mdpi/page_hover_right.9.png b/res/drawable-mdpi/page_hover_right.9.png deleted file mode 100644 index c2e598351b7498188b4673763b8a2b23af4082d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^oIotV!2%@n9Os?@QW~Bvjv*C{$qmi_13I`Z{<$-( vure=M_&;Ew2ZxM~(+t0(&lF`COd}XxX3V&vv{+>uP!EHrtDnm{r-UW|SWg>3 diff --git a/res/drawable-mdpi/page_hover_right_active.9.png b/res/drawable-mdpi/page_hover_right_active.9.png deleted file mode 100644 index d2771a1a54e75c6585d49322ad454a8791f82ca0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^oIotV!2%@n9Os?@QktGFjv*C{$qmi_13I`Z{<$-( wure=M_&;FbUjd7V7K6E6XPqq=vNkX<_&Y3}vg@08A5as6r>mdKI;Vst0GNdwrvLx| diff --git a/res/drawable-xhdpi/page_hover_left.9.png b/res/drawable-xhdpi/page_hover_left.9.png deleted file mode 100644 index dbcc0abd2d2bddd7f6c3b0d23c4c784943674afd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+r!2%@jAN&^xr1U*q978G?lNp-+XH1y&z@G0w z!r2e<^S5v>y`*r{Bg7(Ssr%B*IWss^Q-m1O;+Pr2ebvA5FU_z7YGv?r^>bP0l+XkK Ds+S)e diff --git a/res/drawable-xhdpi/page_hover_left_active.9.png b/res/drawable-xhdpi/page_hover_left_active.9.png deleted file mode 100644 index 3233efe281c4ae0b037eddd77a9e1ffb07f99bc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+r!2%@jAN&^xr1U*q978G?lNp-+XH1y&z@G0w z!r2e<^S5v>y`*sS?}~yOUj1H|Eer*{PN*=P*~7-L{aMsE&W3%{fm#_nUHx3vIVCg! E01<>E8UO$Q diff --git a/res/drawable-xhdpi/page_hover_right.9.png b/res/drawable-xhdpi/page_hover_right.9.png deleted file mode 100644 index d82f809bfdc67a31e711e57b54f7fef06631013c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+r!2%@jAN&^xq>MdX978G?lN}iUUsMonI9vaQ zA#0CzU8XtLlK;w{?u!m3YS?P|T5O##SAbP0 Hl+XkK@`fM~ diff --git a/res/drawable-xhdpi/page_hover_right_active.9.png b/res/drawable-xhdpi/page_hover_right_active.9.png deleted file mode 100644 index 819ea195ce9999129d57e97a09489ee3f94c37db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+r!2%@jAN&^xq>MdX978G?lN}iUUsMonI9vaQ zA#0CzU8XtLlK;w{@7-Gu2ULa3D#%i_))ewN(Zcv{4l9F)Q?$}%o;8br+8I1u{an^L HB{Ts54QC*c diff --git a/res/drawable-xxhdpi/page_hover_left.9.png b/res/drawable-xxhdpi/page_hover_left.9.png deleted file mode 100644 index c81f86c023ba177be8357e4aea23b206fe5e00c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^VnD3T!2%?&MQ%6@q^vz%978G?lNp-+TPV~XtXE=a z)^8R$T%RPm+)#tx_o%|wi53dW9t9p<+~qFXuO-LGs+@WC$O6_K+0hIRhFhgSO=>m( P8pGh}>gTe~DWM4f#NHxR diff --git a/res/drawable-xxhdpi/page_hover_left_active.9.png b/res/drawable-xxhdpi/page_hover_left_active.9.png deleted file mode 100644 index 858a3b2ab0820fb0416301d1872f4f078c0ca273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^VnD3T!2%?&MQ%6@q^vz%978G?lNp-+TPV~XtXE=a z)^8R$T%RPm+)#tx_o%|w--Ql7M;CXwi}q{Dh1xK2xm{Y->BwDheH%k%llm)9A>JuK PV;DSL{an^LB{Ts5!QmnP diff --git a/res/drawable-xxhdpi/page_hover_right.9.png b/res/drawable-xxhdpi/page_hover_right.9.png deleted file mode 100644 index c5297703e06abe68a15b8e1c00c9a4250b894b8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^VnD3T!2%?&MQ%6@q#Qk6978G?lMgWcd)#2cX2i4a zKPU4F=MafY9pP(EO|Uy6^8a{%Os8z07Tck~ql>%TMfrbi>icwP&X%mC0LDjIAqBCFK4%0P#^CAd=d#Wzp$PzcAt^Ng diff --git a/res/drawable-xxhdpi/page_hover_right_active.9.png b/res/drawable-xxhdpi/page_hover_right_active.9.png deleted file mode 100644 index 99005536b2c44ca1f216452d605077db59f7beff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^VnD3T!2%?&MQ%6@q#Qk6978G?lMgWcd)#2cX2i4a zKPU4F=MafY9pP(EO|Uy6^8a|i9(ik-P@a~>UGAd&T5?}fWuLZMW?ntAfa%E96$~2! WH3Hh2w{idtWAJqKb6Mw<&;$Th6ev&t diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index fd744dc85d..a2f26a33a1 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -199,7 +199,8 @@ public class Launcher extends Activity public static final String USER_HAS_MIGRATED = "launcher.user_migrated_from_old_data"; /** The different states that Launcher can be in. */ - enum State { NONE, WORKSPACE, APPS, APPS_SPRING_LOADED, WIDGETS, WIDGETS_SPRING_LOADED } + enum State { NONE, WORKSPACE, WORKSPACE_SPRING_LOADED, APPS, APPS_SPRING_LOADED, + WIDGETS, WIDGETS_SPRING_LOADED } @Thunk State mState = State.WORKSPACE; @Thunk LauncherStateTransitionAnimation mStateTransitionAnimation; @@ -1380,7 +1381,6 @@ public class Launcher extends Activity // Setup the drag controller (drop targets have to be added in reverse order in priority) dragController.setDragScoller(mWorkspace); - dragController.setScrollView(mDragLayer); dragController.setMoveTarget(mWorkspace); dragController.addDropTarget(mWorkspace); if (mSearchDropTargetBar != null) { @@ -3332,20 +3332,26 @@ public class Launcher extends Activity public void enterSpringLoadedDragMode() { if (LOGD) Log.d(TAG, String.format("enterSpringLoadedDragMode [mState=%s", mState.name())); - if (mState == State.WORKSPACE || mState == State.APPS_SPRING_LOADED || - mState == State.WIDGETS_SPRING_LOADED) { + if (isStateSpringLoaded()) { return; } mStateTransitionAnimation.startAnimationToWorkspace(mState, mWorkspace.getState(), Workspace.State.SPRING_LOADED, true /* animated */, null /* onCompleteRunnable */); - mState = isAppsViewVisible() ? State.APPS_SPRING_LOADED : State.WIDGETS_SPRING_LOADED; + + if (isAppsViewVisible()) { + mState = State.APPS_SPRING_LOADED; + } else if (isWidgetsViewVisible()) { + mState = State.WIDGETS_SPRING_LOADED; + } else { + mState = State.WORKSPACE_SPRING_LOADED; + } } public void exitSpringLoadedDragModeDelayed(final boolean successfulDrop, int delay, final Runnable onCompleteRunnable) { - if (mState != State.APPS_SPRING_LOADED && mState != State.WIDGETS_SPRING_LOADED) return; + if (!isStateSpringLoaded()) return; mHandler.postDelayed(new Runnable() { @Override @@ -3365,12 +3371,19 @@ public class Launcher extends Activity }, delay); } + private boolean isStateSpringLoaded() { + return mState == State.WORKSPACE_SPRING_LOADED || mState == State.APPS_SPRING_LOADED + || mState == State.WIDGETS_SPRING_LOADED; + } + void exitSpringLoadedDragMode() { if (mState == State.APPS_SPRING_LOADED) { showAppsView(true /* animated */, false /* resetListToTop */, false /* updatePredictedApps */, false /* focusSearchBar */); } else if (mState == State.WIDGETS_SPRING_LOADED) { showWidgetsView(true, false); + } else if (mState == State.WORKSPACE_SPRING_LOADED) { + showWorkspace(true); } } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 14fb3fc59c..fa149a9d0d 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2356,6 +2356,8 @@ public class Workspace extends PagedView dv.setIntrinsicIconScaleFactor(source.getIntrinsicIconScaleFactor()); b.recycle(); + + mLauncher.enterSpringLoadedDragMode(); } public void beginExternalDragShared(View child, DragSource source) { @@ -2404,6 +2406,8 @@ public class Workspace extends PagedView // Recycle temporary bitmaps tmpB.recycle(); + + mLauncher.enterSpringLoadedDragMode(); } public boolean transitionStateShouldAllowDrop() { @@ -2861,10 +2865,6 @@ public class Workspace extends PagedView CellLayout layout = getCurrentDropLayout(); setCurrentDropLayout(layout); setCurrentDragOverlappingLayout(layout); - - if (!workspaceInModalState()) { - mLauncher.getDragLayer().showPageHints(); - } } @Override @@ -2899,8 +2899,6 @@ public class Workspace extends PagedView setCurrentDragOverlappingLayout(null); mSpringLoadedDragController.cancel(); - - mLauncher.getDragLayer().hidePageHints(); } private void enfoceDragParity(String event, int update, int expectedValue) { @@ -3735,6 +3733,9 @@ public class Workspace extends PagedView } mDragOutline = null; mDragInfo = null; + + mLauncher.exitSpringLoadedDragModeDelayed(success, + Launcher.EXIT_SPRINGLOADED_MODE_SHORT_TIMEOUT, null); } /** diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index 41b4e047c7..979a7332b3 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -477,8 +477,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc // Start the drag mLauncher.getWorkspace().beginDragShared(v, mIconLastTouchPos, this, false); - // Enter spring loaded mode - mLauncher.enterSpringLoadedDragMode(); return false; } diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java index 8777dc6aeb..e72f3415a8 100644 --- a/src/com/android/launcher3/dragndrop/DragController.java +++ b/src/com/android/launcher3/dragndrop/DragController.java @@ -82,7 +82,6 @@ public class DragController implements DragDriver.EventListener { // temporaries to avoid gc thrash private Rect mRectTemp = new Rect(); private final int[] mCoordinatesTemp = new int[2]; - private final boolean mIsRtl; /** * Drag driver for the current drag/drop operation, or null if there is no active DND operation. @@ -99,11 +98,6 @@ public class DragController implements DragDriver.EventListener { /** Y coordinate of the down event. */ private int mMotionDownY; - /** the area at the edge of the screen that makes the workspace go left - * or right while you're dragging. - */ - private final int mScrollZone; - private DropTarget.DragObject mDragObject; /** Who can receive drop events */ @@ -114,9 +108,6 @@ public class DragController implements DragDriver.EventListener { /** The window token used as the parent for the DragView. */ private IBinder mWindowToken; - /** The view that will be scrolled when dragging to the left and right edges of the screen. */ - private View mScrollView; - private View mMoveTarget; @Thunk DragScroller mDragScroller; @@ -129,7 +120,6 @@ public class DragController implements DragDriver.EventListener { @Thunk int mLastTouch[] = new int[2]; @Thunk long mLastTouchUpTime = -1; - @Thunk int mDistanceSinceScroll = 0; private int mTmpPoint[] = new int[2]; private Rect mDragLayerRect = new Rect(); @@ -159,19 +149,15 @@ public class DragController implements DragDriver.EventListener { /** * Used to create a new DragLayer from XML. - * - * @param context The application's context. */ public DragController(Launcher launcher) { Resources r = launcher.getResources(); mLauncher = launcher; mHandler = new Handler(); - mScrollZone = r.getDimensionPixelSize(R.dimen.scroll_zone); mVelocityTracker = VelocityTracker.obtain(); mFlingToDeleteThresholdVelocity = r.getDimensionPixelSize(R.dimen.drag_flingToDeleteMinVelocity); - mIsRtl = Utilities.isRtl(r); } /** @@ -559,7 +545,6 @@ public class DragController implements DragDriver.EventListener { mScrollState = SCROLL_OUTSIDE_ZONE; mScrollRunnable.setDirection(SCROLL_RIGHT); mDragScroller.onExitScrollArea(); - mLauncher.getDragLayer().onExitScrollArea(); } } @@ -573,11 +558,8 @@ public class DragController implements DragDriver.EventListener { mDragObject.y = coordinates[1]; checkTouchMove(dropTarget); - // Check if we are hovering over the scroll areas - mDistanceSinceScroll += Math.hypot(mLastTouch[0] - x, mLastTouch[1] - y); mLastTouch[0] = x; mLastTouch[1] = y; - checkScrollState(x, y); } public void forceTouchMove() { @@ -605,36 +587,6 @@ public class DragController implements DragDriver.EventListener { mLastDropTarget = dropTarget; } - @Thunk void checkScrollState(int x, int y) { - final int slop = ViewConfiguration.get(mLauncher).getScaledWindowTouchSlop(); - final int delay = mDistanceSinceScroll < slop ? RESCROLL_DELAY : SCROLL_DELAY; - final DragLayer dragLayer = mLauncher.getDragLayer(); - final int forwardDirection = mIsRtl ? SCROLL_RIGHT : SCROLL_LEFT; - final int backwardsDirection = mIsRtl ? SCROLL_LEFT : SCROLL_RIGHT; - - if (x < mScrollZone) { - if (mScrollState == SCROLL_OUTSIDE_ZONE) { - mScrollState = SCROLL_WAITING_IN_ZONE; - if (mDragScroller.onEnterScrollArea(x, y, forwardDirection)) { - dragLayer.onEnterScrollArea(forwardDirection); - mScrollRunnable.setDirection(forwardDirection); - mHandler.postDelayed(mScrollRunnable, delay); - } - } - } else if (x > mScrollView.getWidth() - mScrollZone) { - if (mScrollState == SCROLL_OUTSIDE_ZONE) { - mScrollState = SCROLL_WAITING_IN_ZONE; - if (mDragScroller.onEnterScrollArea(x, y, backwardsDirection)) { - dragLayer.onEnterScrollArea(backwardsDirection); - mScrollRunnable.setDirection(backwardsDirection); - mHandler.postDelayed(mScrollRunnable, delay); - } - } - } else { - clearScrollRunnable(); - } - } - /** * Call this from a drag source view. */ @@ -656,13 +608,6 @@ public class DragController implements DragDriver.EventListener { // Remember where the motion event started mMotionDownX = dragLayerX; mMotionDownY = dragLayerY; - - if ((dragLayerX < mScrollZone) || (dragLayerX > mScrollView.getWidth() - mScrollZone)) { - mScrollState = SCROLL_WAITING_IN_ZONE; - mHandler.postDelayed(mScrollRunnable, SCROLL_DELAY); - } else { - mScrollState = SCROLL_OUTSIDE_ZONE; - } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: @@ -847,13 +792,6 @@ public class DragController implements DragDriver.EventListener { } } - /** - * Set which view scrolls for touch events near the edge of the screen. - */ - public void setScrollView(View v) { - mScrollView = v; - } - private class ScrollRunnable implements Runnable { private int mDirection; @@ -868,14 +806,7 @@ public class DragController implements DragDriver.EventListener { mDragScroller.scrollRight(); } mScrollState = SCROLL_OUTSIDE_ZONE; - mDistanceSinceScroll = 0; mDragScroller.onExitScrollArea(); - mLauncher.getDragLayer().onExitScrollArea(); - - if (isDragging()) { - // Check the scroll again so that we can requeue the scroller if necessary - checkScrollState(mLastTouch[0], mLastTouch[1]); - } } } diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index 741d5e6629..6b6bef42fc 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -102,15 +102,6 @@ public class DragLayer extends InsettableFrameLayout { // Darkening scrim private float mBackgroundAlpha = 0; - // Related to adjacent page hints - private final Rect mScrollChildPosition = new Rect(); - private boolean mInScrollArea; - private boolean mShowPageHints; - private Drawable mLeftHoverDrawable; - private Drawable mRightHoverDrawable; - private Drawable mLeftHoverDrawableActive; - private Drawable mRightHoverDrawableActive; - private boolean mBlockTouches = false; /** @@ -126,12 +117,7 @@ public class DragLayer extends InsettableFrameLayout { setMotionEventSplittingEnabled(false); setChildrenDrawingOrderEnabled(true); - final Resources res = getResources(); - 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); - mIsRtl = Utilities.isRtl(res); + mIsRtl = Utilities.isRtl(getResources()); } public void setup(Launcher launcher, DragController controller) { @@ -895,29 +881,6 @@ public class DragLayer extends InsettableFrameLayout { } } - void onEnterScrollArea(int direction) { - mInScrollArea = true; - invalidate(); - } - - void onExitScrollArea() { - mInScrollArea = false; - invalidate(); - } - - public void showPageHints() { - mShowPageHints = true; - Workspace workspace = mLauncher.getWorkspace(); - getDescendantRectRelativeToSelf(workspace.getChildAt(workspace.numCustomPages()), - mScrollChildPosition); - invalidate(); - } - - public void hidePageHints() { - mShowPageHints = false; - invalidate(); - } - @Override protected void dispatchDraw(Canvas canvas) { // Draw the background below children. @@ -929,41 +892,6 @@ public class DragLayer extends InsettableFrameLayout { super.dispatchDraw(canvas); } - private void drawPageHints(Canvas canvas) { - if (mShowPageHints) { - Workspace workspace = mLauncher.getWorkspace(); - int width = getMeasuredWidth(); - int page = workspace.getNextPage(); - CellLayout leftPage = (CellLayout) workspace.getChildAt(mIsRtl ? page + 1 : page - 1); - CellLayout rightPage = (CellLayout) workspace.getChildAt(mIsRtl ? page - 1 : page + 1); - - if (leftPage != null && leftPage.isDragTarget()) { - Drawable left = mInScrollArea && leftPage.getIsDragOverlapping() ? - mLeftHoverDrawableActive : mLeftHoverDrawable; - left.setBounds(0, mScrollChildPosition.top, - left.getIntrinsicWidth(), mScrollChildPosition.bottom); - left.draw(canvas); - } - if (rightPage != null && rightPage.isDragTarget()) { - Drawable right = mInScrollArea && rightPage.getIsDragOverlapping() ? - mRightHoverDrawableActive : mRightHoverDrawable; - right.setBounds(width - right.getIntrinsicWidth(), - mScrollChildPosition.top, width, mScrollChildPosition.bottom); - right.draw(canvas); - } - } - } - - protected boolean drawChild(Canvas canvas, View child, long drawingTime) { - boolean ret = super.drawChild(canvas, child, drawingTime); - - // We want to draw the page hints above the workspace, but below the drag view. - if (child instanceof Workspace) { - drawPageHints(canvas); - } - return ret; - } - public void setBackgroundAlpha(float alpha) { if (alpha != mBackgroundAlpha) { mBackgroundAlpha = alpha;