fixed for card retry

This commit is contained in:
kizzy 2026-02-23 11:31:59 +07:00
parent 2b114dab5e
commit 2e26a62145

View File

@ -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!");