diff options
author | Adam Cohen <adamcohen@google.com> | 2014-08-22 18:32:15 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2014-08-22 18:34:07 -0700 |
commit | 8cc05507150fea5282b7581e1a268967a702bcc9 (patch) | |
tree | e44b60b5f83b0b37f1034de6d5664e7a76232bad /src/com/android/launcher3/DragLayer.java | |
parent | c50438c802355dff714b04f42a32e518cb9e91d8 (diff) | |
download | android_packages_apps_Trebuchet-8cc05507150fea5282b7581e1a268967a702bcc9.tar.gz android_packages_apps_Trebuchet-8cc05507150fea5282b7581e1a268967a702bcc9.tar.bz2 android_packages_apps_Trebuchet-8cc05507150fea5282b7581e1a268967a702bcc9.zip |
Update adjacent page hints
-> draw the hints immediately above the workspace
Change-Id: Id09070e3876516daf9650132052ab61d02a2cf4d
Diffstat (limited to 'src/com/android/launcher3/DragLayer.java')
-rw-r--r-- | src/com/android/launcher3/DragLayer.java | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index 72d33dae8..79cb1f9c4 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -81,6 +81,14 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang private Drawable mBackground; private float mBackgroundAlpha = 0; + // Related to adjacent page hints + private boolean mInScrollArea; + private boolean mShowPageHints; + private Drawable mLeftHoverDrawable; + private Drawable mRightHoverDrawable; + private Drawable mLeftHoverDrawableActive; + private Drawable mRightHoverDrawableActive; + /** * Used to create a new DragLayer from XML. * @@ -851,13 +859,6 @@ 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; invalidate(); @@ -896,8 +897,9 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang } super.dispatchDraw(canvas); + } - // Draw screen hover indicators above children. + private void drawPageHints(Canvas canvas) { if (mShowPageHints) { Workspace workspace = mLauncher.getWorkspace(); int width = getMeasuredWidth(); @@ -920,7 +922,6 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang if (rightPage != null && rightPage.isDragTarget()) { Drawable right = mInScrollArea && rightPage.getIsDragOverlapping() ? mRightHoverDrawableActive : mRightHoverDrawable; - right.setBounds(width - right.getIntrinsicWidth(), childRect.top, width, childRect.bottom); right.draw(canvas); @@ -928,6 +929,16 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang } } + 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; |