diff --git a/app/src/main/java/me/impy/aegis/AuthActivity.java b/app/src/main/java/me/impy/aegis/AuthActivity.java index f5716998..7209ce3d 100644 --- a/app/src/main/java/me/impy/aegis/AuthActivity.java +++ b/app/src/main/java/me/impy/aegis/AuthActivity.java @@ -24,6 +24,7 @@ import me.impy.aegis.crypto.slots.FingerprintSlot; import me.impy.aegis.crypto.slots.PasswordSlot; import me.impy.aegis.crypto.slots.Slot; import me.impy.aegis.crypto.slots.SlotCollection; +import me.impy.aegis.helpers.FingerprintHelper; import me.impy.aegis.helpers.FingerprintUiHelper; import me.impy.aegis.helpers.AuthHelper; @@ -50,7 +51,7 @@ public class AuthActivity extends AegisActivity implements FingerprintUiHelper.C _slots = (SlotCollection) intent.getSerializableExtra("slots"); // only show the fingerprint controls if the api version is new enough, permission is granted, a scanner is found and a fingerprint slot is found - FingerprintManager manager = FingerprintUiHelper.getManager(this); + FingerprintManager manager = FingerprintHelper.getManager(this); if (manager != null && _slots.has(FingerprintSlot.class)) { try { KeyStoreHandle handle = new KeyStoreHandle(); diff --git a/app/src/main/java/me/impy/aegis/CustomAuthenticationSlide.java b/app/src/main/java/me/impy/aegis/CustomAuthenticationSlide.java index 2cd5d397..fd3742d8 100644 --- a/app/src/main/java/me/impy/aegis/CustomAuthenticationSlide.java +++ b/app/src/main/java/me/impy/aegis/CustomAuthenticationSlide.java @@ -14,7 +14,7 @@ import android.widget.TextView; import com.github.paolorotolo.appintro.ISlidePolicy; -import me.impy.aegis.helpers.FingerprintUiHelper; +import me.impy.aegis.helpers.FingerprintHelper; public class CustomAuthenticationSlide extends Fragment implements ISlidePolicy, RadioGroup.OnCheckedChangeListener { public static final int CRYPT_TYPE_INVALID = 0; @@ -28,13 +28,12 @@ public class CustomAuthenticationSlide extends Fragment implements ISlidePolicy, @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.fragment_authentication_slide, container, false); - _buttonGroup = view.findViewById(R.id.rg_authenticationMethod); _buttonGroup.setOnCheckedChangeListener(this); onCheckedChanged(_buttonGroup, _buttonGroup.getCheckedRadioButtonId()); // only show the fingerprint option if the api version is new enough, permission is granted and a scanner is found - FingerprintManager manager = FingerprintUiHelper.getManager(getContext()); + FingerprintManager manager = FingerprintHelper.getManager(getContext()); if (manager != null) { RadioButton button = view.findViewById(R.id.rb_fingerprint); TextView text = view.findViewById(R.id.text_rb_fingerprint); diff --git a/app/src/main/java/me/impy/aegis/helpers/FingerprintHelper.java b/app/src/main/java/me/impy/aegis/helpers/FingerprintHelper.java new file mode 100644 index 00000000..20fa7fab --- /dev/null +++ b/app/src/main/java/me/impy/aegis/helpers/FingerprintHelper.java @@ -0,0 +1,24 @@ +package me.impy.aegis.helpers; + +import android.Manifest; +import android.content.Context; +import android.hardware.fingerprint.FingerprintManager; +import android.os.Build; + +public class FingerprintHelper { + private FingerprintHelper() { + + } + + public static FingerprintManager getManager(Context context) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (PermissionHelper.granted(context, Manifest.permission.USE_FINGERPRINT)) { + FingerprintManager manager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE); + if (manager != null && manager.isHardwareDetected() && manager.hasEnrolledFingerprints()) { + return manager; + } + } + } + return null; + } +} diff --git a/app/src/main/java/me/impy/aegis/helpers/FingerprintUiHelper.java b/app/src/main/java/me/impy/aegis/helpers/FingerprintUiHelper.java index 5eb7f4df..38ded55a 100644 --- a/app/src/main/java/me/impy/aegis/helpers/FingerprintUiHelper.java +++ b/app/src/main/java/me/impy/aegis/helpers/FingerprintUiHelper.java @@ -19,8 +19,6 @@ package me.impy.aegis.helpers; -import android.Manifest; -import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.os.Build; import android.os.CancellationSignal; @@ -59,18 +57,6 @@ public class FingerprintUiHelper extends FingerprintManager.AuthenticationCallba mCallback = callback; } - public static FingerprintManager getManager(Context context) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (PermissionHelper.granted(context, Manifest.permission.USE_FINGERPRINT)) { - FingerprintManager manager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE); - if (manager != null && manager.isHardwareDetected() && manager.hasEnrolledFingerprints()) { - return manager; - } - } - } - return null; - } - public boolean isFingerprintAuthAvailable() { // The line below prevents the false positive inspection from Android Studio // noinspection ResourceType