Browse Source

Fingerprint fixes

master
Preyea Regmi 5 years ago
parent
commit
ad407b2b17
  1. 16
      app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java
  2. 9
      app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/FingerPrintAuthPromptDialog.java

16
app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java

@ -95,12 +95,10 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.retryWhen(errors -> errors.flatMap( .retryWhen(errors -> errors.flatMap(
error -> { error -> {
if(error instanceof FingerprintAuthenticationException)
{
if (error instanceof FingerprintAuthenticationException) {
view.showFingerPrintScanner(false); view.showFingerPrintScanner(false);
view.showToastMessage(error.getMessage()); view.showToastMessage(error.getMessage());
}
else if (error instanceof SecurityUtils.FailedFingerPrintException || error instanceof SecurityUtils.SensorNotReadyException) {
} else if (error instanceof SecurityUtils.FailedFingerPrintException || error instanceof SecurityUtils.SensorNotReadyException) {
view.showToastMessage(error.getMessage()); view.showToastMessage(error.getMessage());
return Observable.timer(100, TimeUnit.MILLISECONDS); return Observable.timer(100, TimeUnit.MILLISECONDS);
} }
@ -134,12 +132,11 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI
@Override @Override
public void startObservingFingerPrintIfRequired(boolean action) { public void startObservingFingerPrintIfRequired(boolean action) {
if (!checkIfBiometricIsAvailable())
return;
if (!action) {
if (fingerPrintScanningSubscription != null && !fingerPrintScanningSubscription.isDisposed()) if (fingerPrintScanningSubscription != null && !fingerPrintScanningSubscription.isDisposed())
fingerPrintScanningSubscription.dispose(); fingerPrintScanningSubscription.dispose();
} else {
if (!checkIfBiometricIsAvailable())
return;
if (action) {
if (fingerPrintScanningSubscription == null || fingerPrintScanningSubscription.isDisposed()) if (fingerPrintScanningSubscription == null || fingerPrintScanningSubscription.isDisposed())
view.showFingerPrintScanner(true); view.showFingerPrintScanner(true);
fingerPrintScanningSubscription = authenticateFingerprint() fingerPrintScanningSubscription = authenticateFingerprint()
@ -286,7 +283,6 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI
@Override @Override
public void onNext(FingerprintEncResult fingerprintEncResult) { public void onNext(FingerprintEncResult fingerprintEncResult) {
Log.d(SecurityUtils.TAG, "Success : " + fingerprintEncResult.toString());
gateway.persistSecretKey(fingerprintEncResult.getEncKey()); gateway.persistSecretKey(fingerprintEncResult.getEncKey());
gateway.persistUserPwd(fingerprintEncResult.getEncPwd()); gateway.persistUserPwd(fingerprintEncResult.getEncPwd());
gateway.persistUserId(fingerprintEncResult.getUserId()); gateway.persistUserId(fingerprintEncResult.getUserId());
@ -322,7 +318,7 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && e instanceof KeyPermanentlyInvalidatedException) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && e instanceof KeyPermanentlyInvalidatedException) {
view.showFingerPrintScanner(false); view.showFingerPrintScanner(false);
gateway.flushBiometricData(); gateway.flushBiometricData();
view.showPopUpMessage(getStringfromStringId(R.string.fingerprint_changed_externally),CustomAlertDialog.AlertType.ALERT,null);
view.showPopUpMessage(getStringfromStringId(R.string.fingerprint_changed_externally), CustomAlertDialog.AlertType.ALERT, null);
} }

9
app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/FingerPrintAuthPromptDialog.java

@ -1,32 +1,23 @@
package com.gmeremit.online.gmeremittance_native.settings.view; package com.gmeremit.online.gmeremittance_native.settings.view;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.Intent;
import android.graphics.drawable.AnimatedVectorDrawable;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.security.keystore.KeyPermanentlyInvalidatedException; import android.security.keystore.KeyPermanentlyInvalidatedException;
import android.support.graphics.drawable.AnimatedVectorDrawableCompat; import android.support.graphics.drawable.AnimatedVectorDrawableCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.GenericTextListingDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration;
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.view.TransactionPasswordPromptActivity;
import com.gmeremit.online.gmeremittance_native.utils.security.SecurityUtils; import com.gmeremit.online.gmeremittance_native.utils.security.SecurityUtils;
import com.mtramin.rxfingerprint.data.FingerprintAuthenticationResult; import com.mtramin.rxfingerprint.data.FingerprintAuthenticationResult;
import com.mtramin.rxfingerprint.data.FingerprintDecryptionResult;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

Loading…
Cancel
Save