├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ │ ├── themes.xml │ │ │ │ ├── colors.xml │ │ │ │ └── strings.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ ├── values-en │ │ │ │ └── strings.xml │ │ │ ├── values-tr │ │ │ │ └── strings.xml │ │ │ ├── values-de │ │ │ │ └── strings.xml │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ └── drawable │ │ │ │ └── ic_launcher_background.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── android │ │ │ │ └── authentication │ │ │ │ ├── ui │ │ │ │ ├── theme │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Type.kt │ │ │ │ │ └── Theme.kt │ │ │ │ └── screens │ │ │ │ │ └── StartScreen.kt │ │ │ │ └── MainActivity.kt │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── android │ │ │ └── authentication │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── android │ │ └── authentication │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro └── build.gradle ├── pinlibrary ├── .gitignore ├── consumer-rules.pro ├── src │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── android │ │ │ │ └── pinlibrary │ │ │ │ ├── utils │ │ │ │ ├── enums │ │ │ │ │ └── PinCodeScenario.kt │ │ │ │ ├── preferences │ │ │ │ │ ├── IAttemptCounter.kt │ │ │ │ │ ├── IPinCodeManager.kt │ │ │ │ │ ├── ISettingsManager.kt │ │ │ │ │ ├── AttemptCounter.kt │ │ │ │ │ ├── SettingsManager.kt │ │ │ │ │ └── PinCodeManager.kt │ │ │ │ ├── listeners │ │ │ │ │ └── NumberListener.kt │ │ │ │ ├── state │ │ │ │ │ ├── deletepin │ │ │ │ │ │ ├── DeletePinScreenIntent.kt │ │ │ │ │ │ └── DeletePinScreenState.kt │ │ │ │ │ ├── validationpin │ │ │ │ │ │ ├── ValidationPinScreenIntent.kt │ │ │ │ │ │ └── ValidationPinScreenState.kt │ │ │ │ │ ├── createpin │ │ │ │ │ │ ├── CreatePinScreenIntent.kt │ │ │ │ │ │ └── CreatePinScreenState.kt │ │ │ │ │ ├── changepin │ │ │ │ │ │ ├── ChangePinScreenIntent.kt │ │ │ │ │ │ └── ChangePinScreenState.kt │ │ │ │ │ ├── IPinCodeStateManager.kt │ │ │ │ │ └── PinCodeStateManager.kt │ │ │ │ ├── keyboard │ │ │ │ │ └── KeyboardButtonEnum.kt │ │ │ │ ├── encryption │ │ │ │ │ ├── enums │ │ │ │ │ │ └── Algorithm.kt │ │ │ │ │ └── Encryptor.kt │ │ │ │ ├── helpers │ │ │ │ │ └── HandleButtonClick.kt │ │ │ │ └── biometric │ │ │ │ │ └── BiometricHelper.kt │ │ │ │ ├── ui │ │ │ │ ├── systemdesign │ │ │ │ │ ├── theme │ │ │ │ │ │ └── Dimens.kt │ │ │ │ │ ├── dialog │ │ │ │ │ │ └── ShowDialog.kt │ │ │ │ │ ├── indicator │ │ │ │ │ │ └── RoundedPinCodeIndicator.kt │ │ │ │ │ └── ripple │ │ │ │ │ │ └── RippleEffect.kt │ │ │ │ ├── components │ │ │ │ │ ├── PinCodeTitle.kt │ │ │ │ │ ├── PinCodeNotification.kt │ │ │ │ │ ├── PinCodeForgot.kt │ │ │ │ │ ├── Keyboard.kt │ │ │ │ │ ├── PinCodeContent.kt │ │ │ │ │ └── KeyboardButton.kt │ │ │ │ └── screens │ │ │ │ │ ├── MainScreen.kt │ │ │ │ │ ├── DeletePinScreen.kt │ │ │ │ │ ├── CreatePinScreen.kt │ │ │ │ │ ├── ValidationPinScreen.kt │ │ │ │ │ └── ChangePinScreen.kt │ │ │ │ └── viewmodel │ │ │ │ └── PinViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_clear_30.xml │ │ │ ├── ic_clear_white_30.xml │ │ │ ├── ic_fingerprint_30.xml │ │ │ ├── ic_fingerprint_white_30.xml │ │ │ └── ic_fingerprint_transparent_30.xml │ │ │ ├── values-en │ │ │ └── strings.xml │ │ │ ├── values-tr │ │ │ └── strings.xml │ │ │ ├── values-de │ │ │ └── strings.xml │ │ │ └── values │ │ │ └── strings.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── android │ │ │ └── pinlibrary │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── android │ │ └── pinlibrary │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro └── build.gradle ├── .idea ├── .name ├── .gitignore ├── codeStyles │ ├── codeStyleConfig.xml │ └── Project.xml ├── vcs.xml ├── compiler.xml ├── kotlinc.xml ├── deploymentTargetDropDown.xml ├── migrations.xml ├── misc.xml ├── gradle.xml └── inspectionProfiles │ └── Project_Default.xml ├── screens ├── preview_russian.gif ├── preview_english_01.png ├── preview_english_02.png └── preview_english_03.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── settings.gradle ├── LICENSE.md ├── gradle.properties ├── gradlew.bat ├── README.md ├── gradlew └── README_RU.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /pinlibrary/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | Pin Authentication -------------------------------------------------------------------------------- /pinlibrary/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /screens/preview_russian.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/screens/preview_russian.gif -------------------------------------------------------------------------------- /screens/preview_english_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/screens/preview_english_01.png -------------------------------------------------------------------------------- /screens/preview_english_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/screens/preview_english_02.png -------------------------------------------------------------------------------- /screens/preview_english_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/screens/preview_english_03.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Khokhlinvladimir/android-pin-authentication/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |