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())
.retryWhen(errors -> errors.flatMap(
error -> {
if(error instanceof FingerprintAuthenticationException)
{
if (error instanceof FingerprintAuthenticationException) {
view.showFingerPrintScanner(false);
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());
return Observable.timer(100, TimeUnit.MILLISECONDS);
}
@ -134,12 +132,11 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI
@Override
public void startObservingFingerPrintIfRequired(boolean action) {
if (!checkIfBiometricIsAvailable())
return;
if (!action) {
if (fingerPrintScanningSubscription != null && !fingerPrintScanningSubscription.isDisposed())
fingerPrintScanningSubscription.dispose();
} else {
if (!checkIfBiometricIsAvailable())
return;
if (action) {
if (fingerPrintScanningSubscription == null || fingerPrintScanningSubscription.isDisposed())
view.showFingerPrintScanner(true);
fingerPrintScanningSubscription = authenticateFingerprint()
@ -286,7 +283,6 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI
@Override
public void onNext(FingerprintEncResult fingerprintEncResult) {
Log.d(SecurityUtils.TAG, "Success : " + fingerprintEncResult.toString());
gateway.persistSecretKey(fingerprintEncResult.getEncKey());
gateway.persistUserPwd(fingerprintEncResult.getEncPwd());
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) {
view.showFingerPrintScanner(false);
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;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.graphics.drawable.AnimatedVectorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.security.keystore.KeyPermanentlyInvalidatedException;
import android.support.graphics.drawable.AnimatedVectorDrawableCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
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.mtramin.rxfingerprint.data.FingerprintAuthenticationResult;
import com.mtramin.rxfingerprint.data.FingerprintDecryptionResult;
import java.util.concurrent.TimeUnit;

Loading…
Cancel
Save