diff options
author | Tony Wickham <twickham@google.com> | 2016-06-01 00:38:22 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-06-01 00:38:22 +0000 |
commit | 33bcbb021fc78c66a310981becfc4cac3e7c62dd (patch) | |
tree | 3f008bbe090ff455681c52a5938e6cf78c5720eb | |
parent | e3abc39ce02394824dcba5cb8439b0a3b754ab95 (diff) | |
parent | d4b28d2e1bb73fcdb1e46bb06e1666e27af2e643 (diff) | |
download | android_packages_apps_Trebuchet-33bcbb021fc78c66a310981becfc4cac3e7c62dd.tar.gz android_packages_apps_Trebuchet-33bcbb021fc78c66a310981becfc4cac3e7c62dd.tar.bz2 android_packages_apps_Trebuchet-33bcbb021fc78c66a310981becfc4cac3e7c62dd.zip |
Only show workspace page indicator when scrolling or in spring-loaded mode.
am: d4b28d2e1b
* commit 'd4b28d2e1bb73fcdb1e46bb06e1666e27af2e643':
Only show workspace page indicator when scrolling or in spring-loaded mode.
Change-Id: I3afc27e84f81862eb1d7f2e0ec9b285f21406b47
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 10 | ||||
-rw-r--r-- | src/com/android/launcher3/pageindicators/PageIndicatorLine.java | 25 |
2 files changed, 27 insertions, 8 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 6f81f59cf..44392663a 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -73,6 +73,7 @@ import com.android.launcher3.dragndrop.SpringLoadedDragController; import com.android.launcher3.folder.Folder; import com.android.launcher3.folder.FolderIcon; import com.android.launcher3.logging.UserEventDispatcher; +import com.android.launcher3.pageindicators.PageIndicatorLine; import com.android.launcher3.userevent.nano.LauncherLogProto; import com.android.launcher3.userevent.nano.LauncherLogProto.Target; import com.android.launcher3.util.LongArrayMap; @@ -803,6 +804,8 @@ public class Workspace extends PagedView if (stripEmptyScreens) { stripEmptyScreens(); } + // Update the page indicator to reflect the removed page. + showPageIndicatorAtCurrentScroll(); } } }; @@ -1642,8 +1645,6 @@ public class Workspace extends PagedView if (listener != null) { getPageIndicator().setOnClickListener(listener); } - - showPageIndicatorAtCurrentScroll(); } // Update wallpaper dimensions if they were changed since last onResume @@ -2048,6 +2049,9 @@ public class Workspace extends PagedView @Override public void onLauncherTransitionStart(Launcher l, boolean animated, boolean toWorkspace) { + if (mPageIndicator instanceof PageIndicatorLine) { + ((PageIndicatorLine) mPageIndicator).setShouldAutoHide(mState != State.SPRING_LOADED); + } } @Override @@ -2061,7 +2065,7 @@ public class Workspace extends PagedView updateChildrenLayersEnabled(false); showCustomContentIfNecessary(); mForceDrawAdjacentPages = false; - if (mState == State.NORMAL || mState == State.SPRING_LOADED) { + if (mState == State.SPRING_LOADED) { showPageIndicatorAtCurrentScroll(); } } diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorLine.java b/src/com/android/launcher3/pageindicators/PageIndicatorLine.java index a358e7be0..bfb4f331e 100644 --- a/src/com/android/launcher3/pageindicators/PageIndicatorLine.java +++ b/src/com/android/launcher3/pageindicators/PageIndicatorLine.java @@ -14,7 +14,6 @@ import android.support.v4.graphics.ColorUtils; import android.util.AttributeSet; import android.util.Log; import android.util.Property; -import android.view.View; import android.view.ViewConfiguration; import com.android.launcher3.Utilities; @@ -33,7 +32,9 @@ public class PageIndicatorLine extends PageIndicator { public static final int WHITE_ALPHA = (int) (0.70f * 255); public static final int BLACK_ALPHA = (int) (0.65f * 255); - private final Handler mHandler = new Handler(Looper.getMainLooper()); + private final Handler mDelayedLineFadeHandler = new Handler(Looper.getMainLooper()); + + private boolean mShouldAutoHide = true; private ValueAnimator mLineAlphaAnimator; private int mAlpha = 0; @@ -97,9 +98,14 @@ public class PageIndicatorLine extends PageIndicator { mProgress = Utilities.boundToRange(((float) currentScroll) / totalScroll, 0f, 1f);; invalidate(); - // Hide after a brief period. - mHandler.removeCallbacksAndMessages(null); - mHandler.postDelayed(mHideLineRunnable, LINE_FADE_DELAY); + if (mShouldAutoHide) { + hideAfterDelay(); + } + } + + private void hideAfterDelay() { + mDelayedLineFadeHandler.removeCallbacksAndMessages(null); + mDelayedLineFadeHandler.postDelayed(mHideLineRunnable, LINE_FADE_DELAY); } @Override @@ -111,6 +117,15 @@ public class PageIndicatorLine extends PageIndicator { invalidate(); } + public void setShouldAutoHide(boolean shouldAutoHide) { + mShouldAutoHide = shouldAutoHide; + if (shouldAutoHide && mLinePaint.getAlpha() > 0) { + hideAfterDelay(); + } else if (!shouldAutoHide) { + mDelayedLineFadeHandler.removeCallbacksAndMessages(null); + } + } + /** * The line's color will be: * - mostly opaque white if the hotseat is white (ignoring alpha) |