diff --git a/app/build.gradle b/app/build.gradle index 767035941032a063bb29bc6ab3ab0130f7e4c7eb..31b95af3b06b186b1651f33e033a91bd91fa2a98 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,10 +29,10 @@ android { } dependencies { - + implementation 'androidx.biometric:biometric:1.0.1' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.2' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d3f3238bee4db98b298a589e15f2c9c77023657b..0ecf6b29fdb271ee9b6d2f7d61e00203b7adb7f8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,8 +19,12 @@ </activity> </application> <uses-feature android:name="android.hardware.fingerprint" + android:required="false" + /> + <uses-feature android:name="android.hardware.biometrics" android:required="false"/> <!--Required so Google Play won't prevent app installation when a fingerprint sensor isn't present--> <uses-permission - android:name="android.permission.USE_FINGERPRINT" /> + android:name="android.permission.USE_FINGERPRINT"/> + <uses-permission android:name="android.permission.USE_BIOMETRIC"/> </manifest> \ No newline at end of file diff --git a/app/src/main/java/com/besendorf/androidsecurityscanner/MainActivity.java b/app/src/main/java/com/besendorf/androidsecurityscanner/MainActivity.java index 35f4f7759f596b8c712cbc6d8dbcc9ea87038ce4..1a60ce8a38daca172d95cbbec86b85dbb19217c0 100644 --- a/app/src/main/java/com/besendorf/androidsecurityscanner/MainActivity.java +++ b/app/src/main/java/com/besendorf/androidsecurityscanner/MainActivity.java @@ -20,6 +20,8 @@ package com.besendorf.androidsecurityscanner; import android.annotation.SuppressLint; +import androidx.biometric.BiometricManager; +//import androidx.biometric.BiometricPrompt; import android.hardware.fingerprint.FingerprintManager; import android.os.Build; import android.os.Bundle; @@ -44,6 +46,8 @@ import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import javax.crypto.KeyGenerator; +import static android.hardware.biometrics.BiometricManager.Authenticators.BIOMETRIC_STRONG; + public class MainActivity extends AppCompatActivity { private TextView reportTextView; @@ -77,6 +81,7 @@ public class MainActivity extends AppCompatActivity { json.put("ro.boot.veritymode",getProp("ro.boot.veritymode")); //unklar json.put("KeyStore",keyStorePresence()); json.put("Strongbox", isStrongbox()); + json.put("FingerprintQuality", fingerprintQuality()); } catch (JSONException e) { e.printStackTrace(); } @@ -99,6 +104,16 @@ public class MainActivity extends AppCompatActivity { } return false; } + + private String fingerprintQuality(){ + if (BiometricManager.from(this).canAuthenticate(BIOMETRIC_STRONG)) + return "STRONG"; + if (BiometricManager.from(this).canAuthenticate(BIOMETRIC_WEAK)) + return "WEAK"; + if (BiometricManager.from(this).canAuthenticate(BIOMETRIC_CREDENTIAL)) + return "CREDENTIAL"; + return null; + } private boolean keyStorePresence(){ // to check for KeyStore presence we try to get an Instance of KeyStore and if we get the Exception we return false diff --git a/build.gradle b/build.gradle index 04baf1e7853274c95c04a1c9704ef0072c79472d..46397e13c2ff3050c41741e000644730a4ebc4a4 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.1' + classpath 'com.android.tools.build:gradle:4.1.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c87f5d2f6d00165a3f4d1f1cc94fe1a4982bc15e..3ed5e6b47037fcdb06e7574cb167d4139c864e0f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Nov 03 16:27:54 CET 2020 +#Tue Jan 19 20:33:34 CET 2021 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip