From b76bcb1a4c9e8382587c9dcd771722adfa1dee09 Mon Sep 17 00:00:00 2001 From: Vladimir Jovanovic Date: Sun, 21 Jul 2019 10:17:21 +0200 Subject: [PATCH] Remove android:allowBackup and android:supportsRtl from manifest Update dependencies Change package from com.vlad1m1r.lemniscate.sample.lemniscate to com.vlad1m1r.lemniscate --- README.md | 4 +- build.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- lemniscate/build.gradle | 12 ++--- lemniscate/src/main/AndroidManifest.xml | 8 +--- .../lemniscate/base/BaseCurveProgressView.kt | 10 ++-- .../lemniscate/base/settings/CurveSettings.kt | 2 +- .../roulette/BaseRouletteProgressView.kt | 2 +- .../base/BaseProgressViewAttributesTest.kt | 48 ++++++------------- .../BaseRouletteProgressViewAttributesTest.kt | 36 ++++---------- .../lemniscate/utils/CurveUtilsTest.kt | 4 +- sample/build.gradle | 2 +- 12 files changed, 47 insertions(+), 89 deletions(-) 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')