gitextract_ucgiast4/ ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── build.gradle ├── buildSrc/ │ ├── .gitignore │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── java/ │ └── Dependencies.kt ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── lemniscate/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── vlad1m1r/ │ │ │ └── lemniscate/ │ │ │ ├── BernoullisBowProgressView.kt │ │ │ ├── BernoullisProgressView.kt │ │ │ ├── BernoullisSharpProgressView.kt │ │ │ ├── GeronosProgressView.kt │ │ │ ├── base/ │ │ │ │ ├── BaseCurveContract.kt │ │ │ │ ├── BaseCurvePresenter.kt │ │ │ │ ├── BaseCurveProgressView.kt │ │ │ │ ├── models/ │ │ │ │ │ ├── DrawState.kt │ │ │ │ │ ├── LineLength.kt │ │ │ │ │ ├── Point.kt │ │ │ │ │ ├── Points.kt │ │ │ │ │ └── ViewSize.kt │ │ │ │ └── settings/ │ │ │ │ ├── AnimationSettings.kt │ │ │ │ └── CurveSettings.kt │ │ │ ├── funny/ │ │ │ │ ├── CannabisProgressView.kt │ │ │ │ └── HeartProgressView.kt │ │ │ ├── other/ │ │ │ │ └── XProgressView.kt │ │ │ ├── roulette/ │ │ │ │ ├── BaseRouletteProgressView.kt │ │ │ │ ├── EpitrochoidProgressView.kt │ │ │ │ ├── HypotrochoidProgressView.kt │ │ │ │ ├── scribble/ │ │ │ │ │ ├── RoundScribbleProgressView.kt │ │ │ │ │ └── ScribbleProgressView.kt │ │ │ │ └── settings/ │ │ │ │ └── RouletteCurveSettings.kt │ │ │ └── utils/ │ │ │ └── CurveUtils.kt │ │ └── res/ │ │ └── values/ │ │ ├── attrs.xml │ │ └── dimens.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── vlad1m1r/ │ │ └── lemniscate/ │ │ ├── BernoullisBowProgressViewTest.kt │ │ ├── BernoullisProgressViewTest.kt │ │ ├── BernoullisSharpProgressViewTest.kt │ │ ├── GeronosProgressViewTest.kt │ │ ├── base/ │ │ │ ├── BaseCurvePresenterTest.kt │ │ │ ├── BaseCurveProgressViewTest.kt │ │ │ ├── BaseProgressViewAttributesTest.kt │ │ │ ├── models/ │ │ │ │ ├── DrawStateTest.kt │ │ │ │ ├── LineLengthParcelableTest.kt │ │ │ │ ├── LineLengthTest.kt │ │ │ │ ├── PointTest.kt │ │ │ │ └── PointsTest.kt │ │ │ └── settings/ │ │ │ ├── AnimationSettingsParcelableTest.kt │ │ │ ├── CurveSettingsParcelableTest.kt │ │ │ └── CurveSettingsTest.kt │ │ ├── funny/ │ │ │ ├── CannabisProgressViewTest.kt │ │ │ └── HeartProgressViewTest.kt │ │ ├── other/ │ │ │ └── XProgressViewTest.kt │ │ ├── roulette/ │ │ │ ├── BaseRouletteProgressViewAttributesTest.kt │ │ │ ├── EpitrochoidProgressViewTest.kt │ │ │ ├── HypotrochoidProgressViewTest.kt │ │ │ ├── scribble/ │ │ │ │ ├── RoundScribbleProgressViewTest.kt │ │ │ │ └── ScribbleProgressViewTest.kt │ │ │ └── settings/ │ │ │ └── RouletteCurveSettingsParcelableTest.kt │ │ ├── testutils/ │ │ │ ├── CurveTestUtils.kt │ │ │ ├── EqualUtils.kt │ │ │ ├── TestConstants.kt │ │ │ └── TestLayoutInflater.kt │ │ └── utils/ │ │ └── CurveUtilsTest.kt │ └── resources/ │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker ├── remote_data/ │ └── legal/ │ ├── privacy_policy.html │ └── terms_and_conditions.html ├── sample/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── vlad1m1r/ │ │ └── lemniscate/ │ │ └── sample/ │ │ ├── CurveData.kt │ │ ├── FragmentCurve.kt │ │ ├── FragmentSettings.kt │ │ ├── MainActivity.kt │ │ └── PresentationActivity.kt │ └── res/ │ ├── drawable/ │ │ ├── indicator.xml │ │ ├── indicator_selected.xml │ │ └── shadow.xml │ ├── drawable-v26/ │ │ ├── ic_launcher_background.xml │ │ └── ic_launcher_foreground.xml │ ├── layout/ │ │ ├── activity_main.xml │ │ ├── activity_presentation.xml │ │ ├── fragment_curve.xml │ │ ├── fragment_settings.xml │ │ └── toolbar.xml │ ├── layout-land/ │ │ ├── activity_main.xml │ │ └── activity_presentation.xml │ ├── menu/ │ │ └── menu_main_activity.xml │ ├── mipmap-anydpi-v26/ │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── constants.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── values-w820dp/ │ └── dimens.xml └── settings.gradle