diff --git a/README.md b/README.md
index 42aa471..d3e9f3a 100644
--- a/README.md
+++ b/README.md
@@ -44,11 +44,11 @@ and to your app `build.gradle`:
###### AndroidX
```groovy
dependencies {
- implementation 'com.github.VladimirWrites:Lemniscate:2.0.0'
+ implementation 'com.github.VladimirWrites:Lemniscate:2.0.1'
}
```
-###### Android Support Library
+###### Android Support Library (Depricated)
```groovy
dependencies {
implementation 'com.github.VladimirWrites:Lemniscate:1.4.5'
diff --git a/build.gradle b/build.gradle
index 930bbfb..e87df89 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,11 @@
buildscript {
- ext.kotlin_version = '1.3.21'
+ ext.kotlin_version = '1.3.41'
repositories {
jcenter()
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.2'
+ classpath 'com.android.tools.build:gradle:3.4.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 6a81075..60a62f3 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Mar 22 22:54:01 CET 2019
+#Sat Jul 20 17:11:17 CEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
diff --git a/lemniscate/build.gradle b/lemniscate/build.gradle
index 98f0dc6..2c6abb8 100644
--- a/lemniscate/build.gradle
+++ b/lemniscate/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'kotlin-android'
apply plugin: 'jacoco'
jacoco {
- toolVersion = '0.8.3'
+ toolVersion = '0.8.4'
}
android {
@@ -13,8 +13,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 28
- versionCode 200
- versionName "2.0.0"
+ versionCode 201
+ versionName "2.0.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
@@ -65,10 +65,10 @@ task jacocoDebugReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'cre
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
- testImplementation 'org.mockito:mockito-core:2.23.4'
+ testImplementation 'org.mockito:mockito-core:2.28.2'
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.1.0'
- testImplementation 'com.google.truth:truth:0.43'
- testImplementation 'org.robolectric:robolectric:4.2'
+ testImplementation 'com.google.truth:truth:0.46'
+ testImplementation 'org.robolectric:robolectric:4.2.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
diff --git a/lemniscate/src/main/AndroidManifest.xml b/lemniscate/src/main/AndroidManifest.xml
index 0a0c650..b9a3940 100644
--- a/lemniscate/src/main/AndroidManifest.xml
+++ b/lemniscate/src/main/AndroidManifest.xml
@@ -1,7 +1 @@
-
-
-
-
+
diff --git a/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/BaseCurveProgressView.kt b/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/BaseCurveProgressView.kt
index 6587740..3cac862 100644
--- a/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/BaseCurveProgressView.kt
+++ b/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/BaseCurveProgressView.kt
@@ -22,16 +22,16 @@ import android.graphics.Canvas
import android.graphics.Path
import android.os.Parcel
import android.os.Parcelable
-import androidx.customview.view.AbsSavedState
import android.util.AttributeSet
import android.view.View
import android.view.animation.LinearInterpolator
+import androidx.customview.view.AbsSavedState
+import com.vlad1m1r.lemniscate.R
import com.vlad1m1r.lemniscate.base.models.DrawState
import com.vlad1m1r.lemniscate.base.models.Points
import com.vlad1m1r.lemniscate.base.models.ViewSize
import com.vlad1m1r.lemniscate.base.settings.AnimationSettings
import com.vlad1m1r.lemniscate.base.settings.CurveSettings
-import com.vlad1m1r.lemniscate.sample.lemniscate.R
import kotlin.math.min
import kotlin.math.round
@@ -99,7 +99,7 @@ abstract class BaseCurveProgressView : View, IBaseCurveView {
)
presenter.viewSize.size = getViewDimension(
- View.MeasureSpec.getMode(widthMeasureSpec),
+ MeasureSpec.getMode(widthMeasureSpec),
viewSize.toFloat(),
defaultSize
)
@@ -114,8 +114,8 @@ abstract class BaseCurveProgressView : View, IBaseCurveView {
internal fun getViewDimension(mode: Int, viewSize: Float, defaultSize: Float): Float {
return when {
viewSize == 0.0f -> defaultSize
- mode == View.MeasureSpec.EXACTLY -> viewSize
- mode == View.MeasureSpec.AT_MOST -> Math.min(defaultSize, viewSize)
+ mode == MeasureSpec.EXACTLY -> viewSize
+ mode == MeasureSpec.AT_MOST -> Math.min(defaultSize, viewSize)
else -> defaultSize
}
}
diff --git a/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/settings/CurveSettings.kt b/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/settings/CurveSettings.kt
index de70f1f..ad2952a 100644
--- a/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/settings/CurveSettings.kt
+++ b/lemniscate/src/main/java/com/vlad1m1r/lemniscate/base/settings/CurveSettings.kt
@@ -50,7 +50,7 @@ open class CurveSettings (val paint: Paint = Paint(Paint.ANTI_ALIAS_FLAG), var l
this.precision = state.readInt()
this.strokeWidth = state.readFloat()
this.color = state.readInt()
- this.lineLength = state.readParcelable(LineLength::class.java.classLoader)
+ this.lineLength = state.readParcelable(LineLength::class.java.classLoader)!!
this.hasHole = state.readByte().toInt() != 0
}
diff --git a/lemniscate/src/main/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressView.kt b/lemniscate/src/main/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressView.kt
index 7c6bb34..769132a 100644
--- a/lemniscate/src/main/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressView.kt
+++ b/lemniscate/src/main/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressView.kt
@@ -20,9 +20,9 @@ import android.content.Context
import android.os.Parcel
import android.os.Parcelable
import android.util.AttributeSet
+import com.vlad1m1r.lemniscate.R
import com.vlad1m1r.lemniscate.base.BaseCurveProgressView
import com.vlad1m1r.lemniscate.roulette.settings.RouletteCurveSettings
-import com.vlad1m1r.lemniscate.sample.lemniscate.R
import kotlin.math.PI
abstract class BaseRouletteProgressView : BaseCurveProgressView {
diff --git a/lemniscate/src/test/java/com/vlad1m1r/lemniscate/base/BaseProgressViewAttributesTest.kt b/lemniscate/src/test/java/com/vlad1m1r/lemniscate/base/BaseProgressViewAttributesTest.kt
index ec15559..d512fba 100644
--- a/lemniscate/src/test/java/com/vlad1m1r/lemniscate/base/BaseProgressViewAttributesTest.kt
+++ b/lemniscate/src/test/java/com/vlad1m1r/lemniscate/base/BaseProgressViewAttributesTest.kt
@@ -1,16 +1,12 @@
package com.vlad1m1r.lemniscate.base
-import android.content.Context
-import android.content.res.TypedArray
-import android.util.AttributeSet
+import android.graphics.Color
import com.google.common.truth.Truth.assertThat
-import com.nhaarman.mockitokotlin2.*
import com.vlad1m1r.lemniscate.BernoullisProgressView
-import com.vlad1m1r.lemniscate.sample.lemniscate.R
-import com.vlad1m1r.lemniscate.testutils.TestLayoutInflater
-import org.junit.Before
+import com.vlad1m1r.lemniscate.R
import org.junit.Test
import org.junit.runner.RunWith
+import org.robolectric.Robolectric
import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment
@@ -18,40 +14,26 @@ import org.robolectric.RuntimeEnvironment
class BaseProgressViewAttributesTest {
val context = RuntimeEnvironment.application.applicationContext
- val typedArray = mock()
- val atributeSet = mock()
- val contextSpy = spy(context)
-
- @Before
- fun setUp() {
-
- val layoutInflater = TestLayoutInflater(contextSpy)
- whenever(contextSpy.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
- .thenReturn(layoutInflater)
-
- whenever(typedArray.getFloat(eq(R.styleable.BaseCurveProgressView_maxLineLength), any())).thenReturn(0.81f)
- whenever(typedArray.getFloat(eq(R.styleable.BaseCurveProgressView_minLineLength), any())).thenReturn(0.23f)
-
- whenever(typedArray.getColor(eq(R.styleable.BaseCurveProgressView_lineColor), any())).thenReturn(123)
- whenever(typedArray.getBoolean(eq(R.styleable.BaseCurveProgressView_hasHole), any())).thenReturn(true)
- whenever(typedArray.getDimension(eq(R.styleable.BaseCurveProgressView_strokeWidth), any())).thenReturn(32.2f)
- whenever(typedArray.getInteger(eq(R.styleable.BaseCurveProgressView_precision), any())).thenReturn(111)
-
- whenever(typedArray.getInteger(eq(R.styleable.BaseCurveProgressView_duration), any())).thenReturn(999)
-
- doReturn(typedArray).whenever(contextSpy).obtainStyledAttributes(atributeSet, R.styleable.BaseCurveProgressView, 0, 0)
- }
+ val atributeSet = Robolectric.buildAttributeSet()
+ .addAttribute(R.attr.maxLineLength, "0.81")
+ .addAttribute(R.attr.minLineLength, "0.23")
+ .addAttribute(R.attr.lineColor, "#000000")
+ .addAttribute(R.attr.hasHole, "true")
+ .addAttribute(R.attr.strokeWidth, "33px")
+ .addAttribute(R.attr.precision, "111")
+ .addAttribute(R.attr.duration, "999")
+ .build()
@Test
fun constructorWithAttributeSet() {
- val bernoullisProgressView = BernoullisProgressView(contextSpy, atributeSet)
+ val bernoullisProgressView = BernoullisProgressView(context, atributeSet)
assertThat(bernoullisProgressView.lineMaxLength).isEqualTo(0.81f)
assertThat(bernoullisProgressView.lineMinLength).isEqualTo(0.23f)
- assertThat(bernoullisProgressView.color).isEqualTo(123)
+ assertThat(bernoullisProgressView.color).isEqualTo(Color.BLACK)
assertThat(bernoullisProgressView.hasHole).isTrue()
- assertThat(bernoullisProgressView.strokeWidth).isEqualTo(32.2f)
+ assertThat(bernoullisProgressView.strokeWidth).isEqualTo(33f)
assertThat(bernoullisProgressView.precision).isEqualTo(111)
assertThat(bernoullisProgressView.duration).isEqualTo(999)
diff --git a/lemniscate/src/test/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressViewAttributesTest.kt b/lemniscate/src/test/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressViewAttributesTest.kt
index b6f6918..fae6deb 100644
--- a/lemniscate/src/test/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressViewAttributesTest.kt
+++ b/lemniscate/src/test/java/com/vlad1m1r/lemniscate/roulette/BaseRouletteProgressViewAttributesTest.kt
@@ -1,15 +1,10 @@
package com.vlad1m1r.lemniscate.roulette
-import android.content.Context
-import android.content.res.TypedArray
-import android.util.AttributeSet
import com.google.common.truth.Truth.assertThat
-import com.nhaarman.mockitokotlin2.*
-import com.vlad1m1r.lemniscate.sample.lemniscate.R
-import com.vlad1m1r.lemniscate.testutils.TestLayoutInflater
-import org.junit.Before
+import com.vlad1m1r.lemniscate.R
import org.junit.Test
import org.junit.runner.RunWith
+import org.robolectric.Robolectric
import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment
@@ -17,29 +12,16 @@ import org.robolectric.RuntimeEnvironment
class BaseRouletteProgressViewAttributesTest {
val context = RuntimeEnvironment.application.applicationContext
- val typedArray = mock()
- val atributeSet = mock()
-
- val contextSpy = spy(context)
-
- @Before
- fun setUp() {
-
- val layoutInflater = TestLayoutInflater(contextSpy)
- whenever(contextSpy.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
- .thenReturn(layoutInflater)
-
- whenever(typedArray.getFloat(eq(R.styleable.RouletteCurveProgressView_radiusFixed), any())).thenReturn(34f)
- whenever(typedArray.getFloat(eq(R.styleable.RouletteCurveProgressView_radiusMoving), any())).thenReturn(23f)
- whenever(typedArray.getFloat(eq(R.styleable.RouletteCurveProgressView_numberOfCycles), any())).thenReturn(43f)
- whenever(typedArray.getFloat(eq(R.styleable.RouletteCurveProgressView_distanceFromCenter), any())).thenReturn(31f)
-
- doReturn(typedArray).whenever(contextSpy).obtainStyledAttributes(atributeSet, R.styleable.RouletteCurveProgressView, 0, 0)
- }
+ val atributeSet = Robolectric.buildAttributeSet()
+ .addAttribute(R.attr.radiusFixed, "34")
+ .addAttribute(R.attr.radiusMoving, "23")
+ .addAttribute(R.attr.numberOfCycles, "43")
+ .addAttribute(R.attr.distanceFromCenter, "31")
+ .build()
@Test
fun constructorWithAttributeSet() {
- val epitrochoidProgressView = EpitrochoidProgressView(contextSpy, atributeSet)
+ val epitrochoidProgressView = EpitrochoidProgressView(context, atributeSet)
assertThat(epitrochoidProgressView.radiusFixed).isEqualTo(34f)
assertThat(epitrochoidProgressView.radiusMoving).isEqualTo(23f)
assertThat(epitrochoidProgressView.numberOfCycles).isEqualTo(43f)
diff --git a/lemniscate/src/test/java/com/vlad1m1r/lemniscate/utils/CurveUtilsTest.kt b/lemniscate/src/test/java/com/vlad1m1r/lemniscate/utils/CurveUtilsTest.kt
index da73247..dd0096b 100644
--- a/lemniscate/src/test/java/com/vlad1m1r/lemniscate/utils/CurveUtilsTest.kt
+++ b/lemniscate/src/test/java/com/vlad1m1r/lemniscate/utils/CurveUtilsTest.kt
@@ -10,8 +10,8 @@ class CurveUtilsTest {
fun checkPointForHole() {
val point = Point(5f, 0f, 1f, 10f)
- assertThat(CurveUtils.checkPointForHole(point, 0.2f, 10f)).isSameAs(point)
+ assertThat(CurveUtils.checkPointForHole(point, 0.2f, 10f)).isSameInstanceAs(point)
assertThat(CurveUtils.checkPointForHole(point, 5.0f, 10f)).isNull()
assertThat(CurveUtils.checkPointForHole(null, 0.2f, 10f)).isNull()
}
-}
\ No newline at end of file
+}
diff --git a/sample/build.gradle b/sample/build.gradle
index bf4bcf8..e440417 100644
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -28,7 +28,7 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.2'
- implementation 'me.relex:circleindicator:2.1.0'
+ implementation 'me.relex:circleindicator:2.1.2'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
implementation project(':lemniscate')