├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── menu │ │ │ │ └── menu_main.xml │ │ │ ├── layout │ │ │ │ ├── my_progress_item.xml │ │ │ │ ├── activity_main.xml │ │ │ │ └── content_main.xml │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ └── drawable │ │ │ │ └── ic_launcher_background.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── mckrpk │ │ │ └── animatedprogressbar │ │ │ └── sample │ │ │ └── MainActivity.kt │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── mckrpk │ │ │ └── animatedprogressbar │ │ │ └── sample │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── mckrpk │ │ └── animatedprogressbar │ │ └── sample │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro └── build.gradle ├── animatedprogressbar ├── consumer-rules.pro ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── attrs.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── mckrpk │ │ │ └── animatedprogressbar │ │ │ ├── ShapeDrawer.kt │ │ │ ├── TrackDrawer.kt │ │ │ ├── Utils.kt │ │ │ ├── ProgressDrawer.kt │ │ │ ├── ViewProperties.kt │ │ │ ├── SnakeDrawer.kt │ │ │ └── AnimatedProgressBar.kt │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── mckrpk │ │ │ └── animatedprogressbar │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── mckrpk │ │ └── animatedprogressbar │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro └── build.gradle ├── images ├── simple.gif ├── snake.gif ├── snakes.gif ├── styles.gif ├── track.gif ├── lineWidth.gif ├── progress.gif ├── animDuration.gif ├── progressTip.gif └── progressTipColor.gif ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── compiler.xml ├── kotlinc.xml ├── vcs.xml ├── codeStyles │ ├── codeStyleConfig.xml │ └── Project.xml ├── migrations.xml ├── misc.xml ├── deploymentTargetSelector.xml ├── gradle.xml └── other.xml ├── .gitignore ├── gradlew.bat ├── README.md ├── gradlew └── LICENSE /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /animatedprogressbar/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /animatedprogressbar/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /images/simple.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/simple.gif -------------------------------------------------------------------------------- /images/snake.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/snake.gif -------------------------------------------------------------------------------- /images/snakes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/snakes.gif -------------------------------------------------------------------------------- /images/styles.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/styles.gif -------------------------------------------------------------------------------- /images/track.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/track.gif -------------------------------------------------------------------------------- /images/lineWidth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/lineWidth.gif -------------------------------------------------------------------------------- /images/progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/progress.gif -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':animatedprogressbar' 2 | rootProject.name='AnimatedProgressBar' 3 | -------------------------------------------------------------------------------- /images/animDuration.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/animDuration.gif -------------------------------------------------------------------------------- /images/progressTip.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/progressTip.gif -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /images/progressTipColor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/images/progressTipColor.gif -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /animatedprogressbar/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AnimatedProgressBar 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mckrpk/AnimatedProgressBar/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /animatedprogressbar/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ProgressBarDemo 3 | Simple 4 | Snakes 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /animatedprogressbar/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #008577 5 | #D1DCDC 6 | #D81B60 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /animatedprogressbar/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 32dp 3 | 4dp 4 | 2dp 5 | 1200 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4CAF50 4 | #00574B 5 | #E91E63 6 | 7 | #D1DCDC 8 | #673AB7 9 | 10 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | -------------------------------------------------------------------------------- /.idea/deploymentTargetSelector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /animatedprogressbar/src/main/java/com/mckrpk/animatedprogressbar/ShapeDrawer.kt: -------------------------------------------------------------------------------- 1 | package com.mckrpk.animatedprogressbar 2 | 3 | import android.graphics.Canvas 4 | 5 | internal abstract class ShapeDrawer { 6 | abstract fun onSizeChanged() 7 | /** 8 | * @targetProgress should be normalized to value from 0 to 1 9 | */ 10 | abstract fun startAnimation(targetProgress: Float) 11 | abstract fun draw(canvas: Canvas) 12 | abstract fun cancel() 13 | 14 | } -------------------------------------------------------------------------------- /app/src/test/java/com/mckrpk/animatedprogressbar/sample/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.mckrpk.animatedprogressbar.sample 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /animatedprogressbar/src/test/java/com/mckrpk/animatedprogressbar/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.mckrpk.animatedprogressbar 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 |