Skip to content

Commit

Permalink
Remove android:allowBackup and android:supportsRtl from manifest
Browse files Browse the repository at this point in the history
Update dependencies
Change package from com.vlad1m1r.lemniscate.sample.lemniscate to com.vlad1m1r.lemniscate
  • Loading branch information
Vladimir Jovanovic authored and VladimirWrites committed Jul 21, 2019
1 parent e58fbee commit b76bcb1
Show file tree
Hide file tree
Showing 12 changed files with 47 additions and 89 deletions.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -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'
Expand Down
4 changes: 2 additions & 2 deletions 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"
}
}
Expand Down
4 changes: 2 additions & 2 deletions 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
12 changes: 6 additions & 6 deletions lemniscate/build.gradle
Expand Up @@ -3,7 +3,7 @@ apply plugin: 'kotlin-android'
apply plugin: 'jacoco'

jacoco {
toolVersion = '0.8.3'
toolVersion = '0.8.4'
}

android {
Expand All @@ -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 {
Expand Down Expand Up @@ -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"
}
Expand Down
8 changes: 1 addition & 7 deletions lemniscate/src/main/AndroidManifest.xml
@@ -1,7 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vlad1m1r.lemniscate.sample.lemniscate">
<application
android:allowBackup="true"
android:supportsRtl="true">
</application>
</manifest>
<manifest package="com.vlad1m1r.lemniscate"/>
Expand Up @@ -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

Expand Down Expand Up @@ -99,7 +99,7 @@ abstract class BaseCurveProgressView : View, IBaseCurveView {
)

presenter.viewSize.size = getViewDimension(
View.MeasureSpec.getMode(widthMeasureSpec),
MeasureSpec.getMode(widthMeasureSpec),
viewSize.toFloat(),
defaultSize
)
Expand All @@ -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
}
}
Expand Down
Expand Up @@ -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
}

Expand Down
Expand Up @@ -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 {
Expand Down
@@ -1,57 +1,39 @@
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

@RunWith(RobolectricTestRunner::class)
class BaseProgressViewAttributesTest {

val context = RuntimeEnvironment.application.applicationContext
val typedArray = mock<TypedArray>()
val atributeSet = mock<AttributeSet>()

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)
Expand Down
@@ -1,45 +1,27 @@
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

@RunWith(RobolectricTestRunner::class)
class BaseRouletteProgressViewAttributesTest {

val context = RuntimeEnvironment.application.applicationContext
val typedArray = mock<TypedArray>()
val atributeSet = mock<AttributeSet>()

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)
Expand Down
Expand Up @@ -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()
}
}
}
2 changes: 1 addition & 1 deletion sample/build.gradle
Expand Up @@ -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')
Expand Down

0 comments on commit b76bcb1

Please sign in to comment.