|
|
@ -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); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|