Commit 77ad42cf authored by gogerald's avatar gogerald Committed by Commit bot

Disable swipe gesture and smoothly scroll

Smoothly scroll effect also triggers TalkBack read previous screen after navigate to new screen.

BUG=602373, 628255

Review-Url: https://codereview.chromium.org/2166383002
Cr-Commit-Position: refs/heads/master@{#407149}
parent 7d311afc
......@@ -8,7 +8,6 @@ import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
......@@ -84,7 +83,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
private boolean mNativeSideIsInitialized;
private ProfileDataCache mProfileDataCache;
private ViewPager mPager;
private FirstRunViewPager mPager;
private Bundle mFreProperties;
......@@ -147,7 +146,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
return;
}
mPager = new ViewPager(this);
mPager = new FirstRunViewPager(this);
mPager.setId(R.id.fre_pager);
setContentView(mPager);
......@@ -234,7 +233,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
if (mPager.getCurrentItem() == 0) {
abortFirstRunExperience();
} else {
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
mPager.setCurrentItem(mPager.getCurrentItem() - 1, false);
}
}
......@@ -247,7 +246,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
@Override
public void advanceToNextPage() {
jumpToPage(mPager.getCurrentItem() + 1, true);
jumpToPage(mPager.getCurrentItem() + 1);
}
@Override
......@@ -356,7 +355,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
FirstRunStatus.setSkipWelcomePage(FirstRunActivity.this, true);
flushPersistentData();
stopProgressionIfNotAcceptedTermsOfService();
jumpToPage(mPager.getCurrentItem() + 1, true);
jumpToPage(mPager.getCurrentItem() + 1);
}
@Override
......@@ -389,9 +388,8 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
* Transitions to a given page.
* @return Whether the transition to a given page was allowed.
* @param position A page index to transition to.
* @param smooth Whether the transition should be smooth.
*/
private boolean jumpToPage(int position, boolean smooth) {
private boolean jumpToPage(int position) {
if (mShowWelcomePage && !didAcceptTermsOfService()) {
return position == 0;
}
......@@ -399,7 +397,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
completeFirstRunExperience();
return false;
}
mPager.setCurrentItem(position, smooth);
mPager.setCurrentItem(position, false);
return true;
}
......@@ -415,7 +413,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
while (currentPageIndex < mPagerAdapter.getCount()) {
FirstRunPage currentPage = (FirstRunPage) mPagerAdapter.getItem(currentPageIndex);
if (!currentPage.shouldSkipPageOnCreate(getApplicationContext())) return;
if (!jumpToPage(currentPageIndex + 1, false)) return;
if (!jumpToPage(currentPageIndex + 1)) return;
currentPageIndex = mPager.getCurrentItem();
}
}
......
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.firstrun;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.view.MotionEvent;
/**
* ViewPager without swipe gesture.
*/
public class FirstRunViewPager extends ViewPager {
FirstRunViewPager(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return false;
}
}
......@@ -347,6 +347,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java",
"java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java",
"java/src/org/chromium/chrome/browser/firstrun/FirstRunView.java",
"java/src/org/chromium/chrome/browser/firstrun/FirstRunViewPager.java",
"java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java",
"java/src/org/chromium/chrome/browser/firstrun/ProfileDataCache.java",
"java/src/org/chromium/chrome/browser/firstrun/ToSAckedReceiver.java",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment