diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/EmvTransactionFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/EmvTransactionFragment.java index a5e8262..913470f 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/EmvTransactionFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/EmvTransactionFragment.java @@ -10,6 +10,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.navigation.NavController; import androidx.navigation.NavDestination; +import com.utsmm.kbz.ui.core_viewmodel.CardReadViewModel; import com.utsmm.kbz.ui.pinpad.PinPadViewModel; import com.utsmyanmar.baselib.fragment.DataBindingFragment; import com.utsmyanmar.baselib.ui.CustomPinPadKeyboard; @@ -42,6 +43,8 @@ public class EmvTransactionFragment extends DataBindingFragment { private EmvTransactionProcessViewModel emvTransactionViewModel; + private CardReadViewModel cardReadViewModel; + private PinPadViewModel pinPadViewModel; private SharedViewModel sharedViewModel; @@ -76,6 +79,7 @@ public class EmvTransactionFragment extends DataBindingFragment { emvTransactionViewModel = getFragmentScopeViewModel(EmvTransactionProcessViewModel.class); pinPadViewModel = getFragmentScopeViewModel(PinPadViewModel.class); sharedViewModel = getFragmentScopeViewModel(SharedViewModel.class); + cardReadViewModel = getFragmentScopeViewModel(CardReadViewModel.class); } @Override @@ -227,8 +231,26 @@ public class EmvTransactionFragment extends DataBindingFragment { navigateToRRNScreen(); break; case READ_CARD_RETRY: - sharedViewModel.set_errorFragmentMsg("Interface not found!"); - navigateToError(); + if(cardReadViewModel.cardTypeData.getValue()!= null && cardReadViewModel.cardTypeData.getValue() == CardTypeX.IC.value) { + isCardInserted(new CardDetectCallback() { + @Override + public void onComplete() { + sharedViewModel.setIsFallback(true); + navigateToCheckCard(); + } + }); + } else if(cardReadViewModel.cardTypeData.getValue() != null && cardReadViewModel.cardTypeData.getValue() == CardTypeX.NFC.value) { + isCardTaped("Please try again",new CardDetectCallback() { + @Override + public void onComplete() { + sharedViewModel.setIsSeePhone(true); + navigateToCheckCard(); + } + }); + } + +// sharedViewModel.set_errorFragmentMsg("Interface not found!"); +// navigateToError(); break; case READ_CARD_NO_APP: isCardTaped("Terminal has no APP!");