Skip to content

Commit d365f1d

Browse files
committed
Added fakes
1 parent 236cdb0 commit d365f1d

File tree

8 files changed

+125
-21
lines changed

8 files changed

+125
-21
lines changed

.idea/deploymentTargetDropDown.xml

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/devmike/jade/com/pagestepindicator/MainActivity.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import androidx.fragment.app.FragmentStatePagerAdapter
99
import androidx.viewpager.widget.PagerAdapter
1010
import androidx.viewpager.widget.ViewPager
1111
import devmike.jade.com.PageStepIndicatorImpl
12+
import devmike.jade.com.listeners.OnClickStepListener
1213

1314
class MainActivity : AppCompatActivity() {
1415

@@ -26,9 +27,9 @@ class MainActivity : AppCompatActivity() {
2627
this.adapter = adapter
2728
}
2829

29-
pageStepperImpl.setOnClickListener(object : PageStepIndicatorImpl.OnClickListener{
30-
override fun onClick(position: Int) {
31-
Log.d("setOnClick", "$position")
30+
pageStepperImpl.setOnClickStepListener(object : OnClickStepListener{
31+
override fun onClickStep(position: Int) {
32+
Log.d("onClickStep", "onClickStep => $position")
3233
}
3334

3435
})

pagestepindicator/src/main/java/devmike/jade/com/AbstractViewPagerImpl.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import devmike.jade.com.listeners.OnClickStepListener
1111

1212
abstract class AbstractViewPagerImpl : View, PageStepIndicatorViewPager<ViewPager> {
1313

14-
var mStepsCount =0;
14+
private var mStepsCount =1;
1515

1616
var disablePageChange : Boolean = false
1717

@@ -27,11 +27,7 @@ abstract class AbstractViewPagerImpl : View, PageStepIndicatorViewPager<ViewPage
2727

2828

2929
private val pageChangedListener = object : ViewPager.OnPageChangeListener{
30-
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
31-
if (!disablePageChange) {
32-
getPageStepIndicator().setOffset(position, positionOffset)
33-
}
34-
}
30+
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
3531

3632
override fun onPageSelected(position: Int) {
3733
if (!disablePageChange) {
@@ -58,14 +54,19 @@ abstract class AbstractViewPagerImpl : View, PageStepIndicatorViewPager<ViewPage
5854
viewPager.addOnPageChangeListener(pageChangedListener)
5955

6056
// Now we'll add a selected listener to set ViewPager's currentStepPosition item
61-
setOnClickListener(object : PageStepIndicatorImpl.OnClickListener{
62-
override fun onClick(position: Int) {
63-
//disablePageChange = true;
57+
setOnClickListener(PageStepIndicatorImpl.OnClickListener { position -> //disablePageChange = true;
58+
setCurrentStepPosition(position);
59+
viewPager.currentItem = position;
60+
invalidate()
61+
});
62+
63+
setOnClickStepListener(object : OnClickStepListener{
64+
override fun onClickStep(position: Int) {
6465
setCurrentStepPosition(position);
6566
viewPager.currentItem = position;
6667
}
6768

68-
});
69+
})
6970

7071
// Now we'll add a selected listener to set ViewPager's currentStepPosition item
7172
// setOnClickListener( ViewPagerOnSelectedListener(viewPager));
@@ -95,7 +96,7 @@ abstract class AbstractViewPagerImpl : View, PageStepIndicatorViewPager<ViewPage
9596

9697
override fun getCount(): Int = mStepsCount
9798

98-
fun setCompatClickStepListener(position: Int){
99+
protected fun setCompatClickStepListener(position: Int){
99100
this.onClickListener?.onClick(position)
100101
this.onClickStepListener?.onClickStep(position)
101102
}

pagestepindicator/src/main/java/devmike/jade/com/PageStepIndicatorImpl.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public class PageStepIndicatorImpl extends AbstractViewPagerImpl implements Page
8686
private boolean withViewpager;
8787
//private ViewPagerOnChangeListenerImpl viewPagerChangeListener;
8888
private boolean disablePageChange;
89-
private TabLayout.OnTabSelectedListener onTabSelectedListener;
89+
// private TabLayout.OnTabSelectedListener onTabSelectedListener;
9090
private OnClickStepListener onClickStepListener;
9191

9292
public PageStepIndicatorImpl(@NonNull Context context, @NonNull AttributeSet attrs, int defStyleAttr) {
@@ -210,11 +210,6 @@ private void initAttributes(Context context, AttributeSet attributeSet) {
210210
}
211211
}
212212

213-
private void addOnTabSelectedListener(TabLayout.OnTabSelectedListener onTabSelectedListener){
214-
this.onTabSelectedListener =onTabSelectedListener;
215-
}
216-
217-
218213
@SuppressLint("NewApi")
219214
protected float dp2px(float dp) {
220215
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import fakes.FakePageStepIndicator
2+
import org.junit.Assert.assertEquals
3+
import org.junit.Before
4+
import org.junit.Test
5+
import org.junit.runner.RunWith
6+
import org.junit.runners.JUnit4
7+
8+
@RunWith(JUnit4::class)
9+
class PageIndicatorTest {
10+
11+
lateinit var pageStepIndicator : FakePageStepIndicator
12+
13+
@Before
14+
fun `init`(){
15+
pageStepIndicator = FakePageStepIndicator()
16+
}
17+
18+
@Test
19+
fun `check setOffset `(){
20+
21+
}
22+
23+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package fakes
2+
3+
import devmike.jade.com.PageStepIndicator
4+
5+
class FakePageStepIndicator : PageStepIndicator {
6+
7+
private var currentStepPosition = 0
8+
9+
override fun setOffset(position: Int, positionOffset: Float) {
10+
this.currentStepPosition = position
11+
}
12+
13+
override fun setPagerScrollState(state: Int) {
14+
currentStepPosition = state
15+
}
16+
17+
override fun setCurrentPosition(position: Int) {
18+
this.currentStepPosition = position
19+
}
20+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package fakes
2+
3+
import devmike.jade.com.PageStepIndicator
4+
import devmike.jade.com.PageStepIndicatorImpl
5+
import devmike.jade.com.PageStepIndicatorViewPager
6+
import devmike.jade.com.listeners.OnClickStepListener
7+
8+
class FakePageStepIndicatorViewPager : PageStepIndicatorViewPager<MockViewPager> {
9+
10+
private var currentStepPosition = 0
11+
12+
private var stepCount =0
13+
14+
override fun setupWithViewPager(viewPager: MockViewPager) {
15+
16+
}
17+
18+
override fun getPageStepIndicator(): PageStepIndicator {
19+
return FakePageStepIndicator()
20+
}
21+
22+
override fun disablePageChange(): Boolean {
23+
return false
24+
}
25+
26+
override fun getCurrentStepPosition(): Int {
27+
return currentStepPosition
28+
}
29+
30+
override fun setCurrentStepPosition(currentItem: Int) {
31+
this.currentStepPosition = currentItem
32+
}
33+
34+
override fun setStepsCount(stepsCount: Int) {
35+
this.stepCount = stepsCount
36+
}
37+
38+
override fun getCount(): Int {
39+
return stepCount
40+
}
41+
42+
override fun setOnClickStepListener(onClickStepListener: OnClickStepListener?) {
43+
onClickStepListener?.onClickStep(2)
44+
}
45+
46+
override fun setOnClickListener(onClickListener: PageStepIndicatorImpl.OnClickListener) {
47+
onClickListener.onClick(3)
48+
}
49+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package fakes
2+
3+
class MockViewPager {
4+
}

0 commit comments

Comments
 (0)