Increase initial delay for auto-advancing on quickscrub.
- Also reduce the number of quickscrub sections
Change-Id: I34334d2bf79bd7e720f8b4efa4ac18c6be894704
diff --git a/quickstep/src/com/android/quickstep/QuickScrubController.java b/quickstep/src/com/android/quickstep/QuickScrubController.java
index bc7647a..bda9688 100644
--- a/quickstep/src/com/android/quickstep/QuickScrubController.java
+++ b/quickstep/src/com/android/quickstep/QuickScrubController.java
@@ -33,7 +33,9 @@
public static final int QUICK_SWITCH_START_DURATION = 133;
public static final int QUICK_SWITCH_SNAP_DURATION = 120;
- private static final int NUM_QUICK_SCRUB_SECTIONS = 5;
+ private static final boolean ENABLE_AUTO_ADVANCE = true;
+ private static final int NUM_QUICK_SCRUB_SECTIONS = 3;
+ private static final long INITIAL_AUTO_ADVANCE_DELAY = 1000;
private static final long AUTO_ADVANCE_DELAY = 500;
private static final int QUICKSCRUB_SNAP_DURATION_PER_PAGE = 325;
private static final int QUICKSCRUB_END_SNAP_DURATION_PER_PAGE = 60;
@@ -44,22 +46,28 @@
private boolean mInQuickScrub;
private int mQuickScrubSection;
private int mStartPage;
+ private boolean mHasAlarmRun;
public QuickScrubController(RecentsView recentsView) {
mRecentsView = recentsView;
- mAutoAdvanceAlarm = new Alarm();
- mAutoAdvanceAlarm.setOnAlarmListener(this);
+ if (ENABLE_AUTO_ADVANCE) {
+ mAutoAdvanceAlarm = new Alarm();
+ mAutoAdvanceAlarm.setOnAlarmListener(this);
+ }
}
public void onQuickScrubStart(boolean startingFromHome) {
mInQuickScrub = true;
mStartPage = startingFromHome ? 0 : mRecentsView.getFirstTaskIndex();
mQuickScrubSection = 0;
+ mHasAlarmRun = false;
}
public void onQuickScrubEnd() {
mInQuickScrub = false;
- mAutoAdvanceAlarm.cancelAlarm();
+ if (ENABLE_AUTO_ADVANCE) {
+ mAutoAdvanceAlarm.cancelAlarm();
+ }
int page = mRecentsView.getNextPage();
Runnable launchTaskRunnable = () -> {
if (page < mRecentsView.getFirstTaskIndex()) {
@@ -84,10 +92,13 @@
if (quickScrubSection != mQuickScrubSection) {
int pageToGoTo = mRecentsView.getNextPage() + quickScrubSection - mQuickScrubSection;
goToPageWithHaptic(pageToGoTo);
- if (quickScrubSection == NUM_QUICK_SCRUB_SECTIONS || quickScrubSection == 0) {
- mAutoAdvanceAlarm.setAlarm(AUTO_ADVANCE_DELAY);
- } else {
- mAutoAdvanceAlarm.cancelAlarm();
+ if (ENABLE_AUTO_ADVANCE) {
+ if (quickScrubSection == NUM_QUICK_SCRUB_SECTIONS || quickScrubSection == 0) {
+ mAutoAdvanceAlarm.setAlarm(mHasAlarmRun
+ ? AUTO_ADVANCE_DELAY : INITIAL_AUTO_ADVANCE_DELAY);
+ } else {
+ mAutoAdvanceAlarm.cancelAlarm();
+ }
}
mQuickScrubSection = quickScrubSection;
}
@@ -136,6 +147,9 @@
} else if (mQuickScrubSection == 0 && currPage > mStartPage) {
goToPageWithHaptic(currPage - 1);
}
- mAutoAdvanceAlarm.setAlarm(AUTO_ADVANCE_DELAY);
+ mHasAlarmRun = true;
+ if (ENABLE_AUTO_ADVANCE) {
+ mAutoAdvanceAlarm.setAlarm(AUTO_ADVANCE_DELAY);
+ }
}
}