Skip to content

Commit c5903b1

Browse files
committed
Little changes and optimization.
1 parent 5f70750 commit c5903b1

File tree

3 files changed

+19
-24
lines changed

3 files changed

+19
-24
lines changed

autoimageslider/src/main/java/com/smarteist/autoimageslider/CircularSliderHandle.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ class CircularSliderHandle implements ViewPager.OnPageChangeListener {
66

77
private CurrentPageListener currentPageListener;
88
private ViewPager mViewPager;
9-
private boolean mIsEndOfCycle = false;
109
private int mCurrentPosition;
1110
private int mPreviousPosition;
11+
private boolean mIsEndOfCycle;
1212

1313
CircularSliderHandle(final ViewPager viewPager) {
1414
this.mViewPager = viewPager;
@@ -29,26 +29,22 @@ public void onPageSelected(final int position) {
2929
@Override
3030
public void onPageScrollStateChanged(int state) {
3131

32-
int itemsCount = getAdapterItemsCount();
33-
3432
if (state == ViewPager.SCROLL_STATE_IDLE) {
3533

3634
if (mPreviousPosition == mCurrentPosition && !mIsEndOfCycle) {
3735

3836
if (mCurrentPosition == 0) {
39-
mViewPager.setCurrentItem(itemsCount - 1);
40-
mIsEndOfCycle = true;
41-
37+
mViewPager.setCurrentItem(getAdapterItemsCount() - 1);
4238
} else {
4339
mViewPager.setCurrentItem(0);
44-
mIsEndOfCycle = true;
4540
}
4641

42+
mIsEndOfCycle = true;
4743
} else {
4844
mIsEndOfCycle = false;
4945
}
5046

51-
mPreviousPosition = mViewPager.getCurrentItem();
47+
mPreviousPosition = mCurrentPosition;
5248
}
5349

5450
}

autoimageslider/src/main/java/com/smarteist/autoimageslider/SliderView.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@
33
import android.content.Context;
44
import android.database.DataSetObserver;
55
import android.os.Handler;
6-
76
import androidx.viewpager.widget.PagerAdapter;
87
import androidx.viewpager.widget.ViewPager;
9-
108
import android.util.AttributeSet;
119
import android.view.LayoutInflater;
1210
import android.view.View;
1311
import android.widget.FrameLayout;
14-
1512
import com.smarteist.autoimageslider.IndicatorView.PageIndicatorView;
1613
import com.smarteist.autoimageslider.IndicatorView.animation.type.AnimationType;
1714
import com.smarteist.autoimageslider.IndicatorView.draw.controller.DrawController;
@@ -42,8 +39,8 @@
4239
public class SliderView extends FrameLayout {
4340

4441
private final Handler mHandler = new Handler();
45-
private boolean isAutoCycle = true;
46-
private int scrollTimeInSec = 2;
42+
private boolean mIsAutoCycle = true;
43+
private int mScrollTimeInSec = 2;
4744
private CircularSliderHandle mCircularSliderHandle;
4845
private PageIndicatorView mPagerIndicator;
4946
private DataSetObserver mDataSetObserver;
@@ -119,23 +116,23 @@ public PagerAdapter getSliderAdapter() {
119116
}
120117

121118
public boolean isAutoCycle() {
122-
return isAutoCycle;
119+
return mIsAutoCycle;
123120
}
124121

125122
public void setAutoCycle(boolean autoCycle) {
126-
this.isAutoCycle = autoCycle;
127-
if (!isAutoCycle && mSliderRunnable != null) {
123+
this.mIsAutoCycle = autoCycle;
124+
if (!mIsAutoCycle && mSliderRunnable != null) {
128125
mHandler.removeCallbacks(mSliderRunnable);
129126
mSliderRunnable = null;
130127
}
131128
}
132129

133130
public int getScrollTimeInSec() {
134-
return scrollTimeInSec;
131+
return mScrollTimeInSec;
135132
}
136133

137134
public void setScrollTimeInSec(int time) {
138-
scrollTimeInSec = time;
135+
mScrollTimeInSec = time;
139136
}
140137

141138
public void setSliderTransformAnimation(SliderAnimations animation) {
@@ -310,7 +307,7 @@ public void run() {
310307

311308
try {
312309
// check is on auto scroll mode
313-
if (!isAutoCycle) {
310+
if (!mIsAutoCycle) {
314311
return;
315312
}
316313

@@ -325,14 +322,14 @@ public void run() {
325322
}
326323

327324
} finally {
328-
mHandler.postDelayed(this, scrollTimeInSec * 1000);
325+
mHandler.postDelayed(this, mScrollTimeInSec * 1000);
329326
}
330327

331328
}
332329
};
333330

334331
//Run the loop for the first time
335-
mHandler.postDelayed(mSliderRunnable, scrollTimeInSec * 1000);
332+
mHandler.postDelayed(mSliderRunnable, mScrollTimeInSec * 1000);
336333
}
337334

338335
public int getSliderIndicatorRadius() {

autoimageslider/src/main/java/com/smarteist/autoimageslider/SliderViewAdapter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.smarteist.autoimageslider;
22

3+
import androidx.annotation.NonNull;
34
import androidx.viewpager.widget.PagerAdapter;
45
import android.view.View;
56
import android.view.ViewGroup;
@@ -21,8 +22,9 @@ public ViewHolder(View itemView) {
2122

2223
private Queue<VH> destroyedItems = new LinkedList<>();
2324

25+
@NonNull
2426
@Override
25-
public final Object instantiateItem(ViewGroup container, int position) {
27+
public Object instantiateItem(@NonNull ViewGroup container, int position) {
2628
VH viewHolder = destroyedItems.poll();
2729

2830
if (viewHolder != null) {
@@ -39,13 +41,13 @@ public final Object instantiateItem(ViewGroup container, int position) {
3941
}
4042

4143
@Override
42-
public final void destroyItem(ViewGroup container, int position, Object object) {
44+
public final void destroyItem(ViewGroup container, int position, @NonNull Object object) {
4345
container.removeView(((VH) object).itemView);
4446
destroyedItems.add((VH) object);
4547
}
4648

4749
@Override
48-
public final boolean isViewFromObject(View view, Object object) {
50+
public final boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
4951
return ((VH) object).itemView == view;
5052
}
5153

0 commit comments

Comments
 (0)