@Override public void onAnimationUpdate(ValueAnimator animation) { int dragPosition = (Integer) animation.getAnimatedValue(); int dragOffset = dragPosition - mOldDragPosition; mOldDragPosition = dragPosition; if (!isFakeDragging()) { beginFakeDrag(); } fakeDragBy(-dragOffset); } }
@Override public void onAnimationCancel(Animator animation) { endFakeDrag(); } });
private void showBenefit(int index, boolean isLastBenefit) { mActionButton.setText(isLastBenefit ? R.string.finish_uppercase : R.string.next_uppercase); if (index == mPager.getCurrentItem()) { return; } mPager.smoothScrollNext(getResources().getInteger(android.R.integer.config_mediumAnimTime)); }
public void smoothScrollNext(int duration) { if (mDragAnimator != null) { mDragAnimator.end(); } mDragAnimator = ValueAnimator.ofInt(0, getWidth()); mDragAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { endFakeDrag(); } @Override public void onAnimationCancel(Animator animation) { endFakeDrag(); } }); mDragAnimator.setInterpolator(new LinearOutSlowInInterpolator()); mDragAnimator.addUpdateListener(new FakeDragUpdateListener()); mDragAnimator.setDuration(duration); beginFakeDrag(); mDragAnimator.start(); }
@Override public void endFakeDrag() { if (isFakeDragging()) { super.endFakeDrag(); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_walkthrough); ButterKnife.bind(this); mPager.setAdapter(new WalkthroughAdapter(getFragmentManager(), getBenefits())); mPager.setOnPageChangedListener(this); mActionButton.setText(R.string.next_uppercase); if (PreferenceUtils.isWalkthroughPassed()) { startAuthActivity(); } /** * TODO : task * * Refactor this screen using MVP pattern * * Hint: there are no requests on this screen, so it's good place to start * * You can simply go through each line of code and decide if it should be in View or in Presenter */ }
@Override protected void onDetachedFromWindow() { removeOnPageChangeListener(mChangeListener); super.onDetachedFromWindow(); }
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); addOnPageChangeListener(mChangeListener); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_walkthrough); ButterKnife.bind(this); mPager.setOnPageChangedListener(this); mPresenter = new WalkthroughPresenter(this); mPresenter.init(); }
@Override public void scrollToNextBenefit() { mPager.smoothScrollNext(getResources().getInteger(android.R.integer.config_mediumAnimTime)); }
@Override public void showBenefits(@NonNull List<Benefit> benefits) { mPager.setAdapter(new WalkthroughAdapter(getFragmentManager(), benefits)); }
public void smoothScrollNext(int duration) { if (mDragAnimator != null) { mDragAnimator.end(); } mDragAnimator = ValueAnimator.ofInt(0, getWidth()); mDragAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { endFakeDrag(); } @Override public void onAnimationCancel(Animator animation) { endFakeDrag(); } }); mDragAnimator.setInterpolator(new LinearOutSlowInInterpolator()); mDragAnimator.addUpdateListener(new FakeDragUpdateListener()); mDragAnimator.setDuration(duration); beginFakeDrag(); mDragAnimator.start(); }
@Override public void endFakeDrag() { if (isFakeDragging()) { super.endFakeDrag(); } }
@Override protected void onDetachedFromWindow() { removeOnPageChangeListener(mChangeListener); super.onDetachedFromWindow(); }
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); addOnPageChangeListener(mChangeListener); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_walkthrough); ButterKnife.bind(this); mPager.setOnPageChangedListener(this); AppDelegate.getAppComponent().injectWalkthroughActivity(this); mPresenter = new WalkthroughPresenter(mKeyValueStorage, this); mPresenter.init(); }
@Override public void scrollToNextBenefit() { mPager.smoothScrollNext(getResources().getInteger(android.R.integer.config_mediumAnimTime)); }
@Override public void showBenefits(@NonNull List<Benefit> benefits) { mPager.setAdapter(new WalkthroughAdapter(getFragmentManager(), benefits)); }
@Override public void onAnimationUpdate(ValueAnimator animation) { int dragPosition = (Integer) animation.getAnimatedValue(); int dragOffset = dragPosition - mOldDragPosition; mOldDragPosition = dragPosition; if (!isFakeDragging()) { beginFakeDrag(); } fakeDragBy(-dragOffset); } }
public void smoothScrollNext(int duration) { if (mDragAnimator != null) { mDragAnimator.end(); } mDragAnimator = ValueAnimator.ofInt(0, getWidth()); mDragAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { endFakeDrag(); } @Override public void onAnimationCancel(Animator animation) { endFakeDrag(); } }); mDragAnimator.setInterpolator(new LinearOutSlowInInterpolator()); mDragAnimator.addUpdateListener(new FakeDragUpdateListener()); mDragAnimator.setDuration(duration); beginFakeDrag(); mDragAnimator.start(); }