diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 7269d140a6..dbe5bd621e 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -44,6 +44,7 @@ import static com.android.launcher3.Utilities.postAsyncCallback; import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.getSupportedActions; import static com.android.launcher3.anim.Interpolators.EMPHASIZED; import static com.android.launcher3.config.FeatureFlags.SHOW_DELIGHTFUL_PAGINATION; +import static com.android.launcher3.config.FeatureFlags.SHOW_DOT_PAGINATION; import static com.android.launcher3.logging.StatsLogManager.EventEnum; import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_BACKGROUND; import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_HOME; @@ -1300,7 +1301,7 @@ public class Launcher extends StatefulActivity @Override public View onCreateView(View parent, String name, Context context, AttributeSet attrs) { - if (SHOW_DELIGHTFUL_PAGINATION.get() + if ((SHOW_DOT_PAGINATION.get() || SHOW_DELIGHTFUL_PAGINATION.get()) && WorkspacePageIndicator.class.getName().equals(name)) { return LayoutInflater.from(context).inflate(R.layout.page_indicator_dots, (ViewGroup) parent, false); diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java index 3770de8eb2..e9b660626b 100644 --- a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java +++ b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java @@ -17,6 +17,7 @@ package com.android.launcher3.pageindicators; import static com.android.launcher3.config.FeatureFlags.SHOW_DELIGHTFUL_PAGINATION; +import static com.android.launcher3.config.FeatureFlags.SHOW_DOT_PAGINATION; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; @@ -182,7 +183,9 @@ public class PageIndicatorDots extends View implements Insettable, PageIndicator @Override public void setScroll(int currentScroll, int totalScroll) { - animatePaginationToAlpha(VISIBLE_ALPHA); + if (SHOW_DELIGHTFUL_PAGINATION.get() || SHOW_DOT_PAGINATION.get()) { + animatePaginationToAlpha(VISIBLE_ALPHA); + } if (mNumPages <= 1) { mCurrentScroll = 0; @@ -193,9 +196,9 @@ public class PageIndicatorDots extends View implements Insettable, PageIndicator currentScroll = totalScroll - currentScroll; } + mTotalScroll = totalScroll; if (SHOW_DELIGHTFUL_PAGINATION.get()) { mCurrentScroll = currentScroll; - mTotalScroll = totalScroll; invalidate(); if (mShouldAutoHide @@ -214,9 +217,15 @@ public class PageIndicatorDots extends View implements Insettable, PageIndicator if (currentScroll < pageToLeftScroll + scrollThreshold) { // scroll is within the left page's threshold animateToPosition(pageToLeft); + if (SHOW_DOT_PAGINATION.get()) { + hideAfterDelay(); + } } else if (currentScroll > pageToRightScroll - scrollThreshold) { // scroll is far enough from left page to go to the right page animateToPosition(pageToLeft + 1); + if (SHOW_DOT_PAGINATION.get()) { + hideAfterDelay(); + } } else { // scroll is between left and right page animateToPosition(pageToLeft + SHIFT_PER_ANIMATION);