From de296b3b42ccddac91d4985660f5ded7b5fea873 Mon Sep 17 00:00:00 2001 From: kizzy Date: Thu, 19 Feb 2026 16:21:55 +0700 Subject: [PATCH] 2nd fix for see phone --- .../kbz/ui/core_ui/CardWaitingFragment.java | 17 ++++++++++++++--- .../kbz/ui/core_ui/EmvTransactionFragment.java | 2 +- .../EmvTransactionProcessViewModel.java | 2 +- .../kbz/ui/core_viewmodel/SharedViewModel.java | 5 +++++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java index 881da37..34f69d3 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java @@ -148,6 +148,9 @@ public class CardWaitingFragment extends DataBindingFragment implements DataBind if(sharedViewModel.getIsFallback().getValue() != null && sharedViewModel.getIsFallback().getValue()) { cardReadViewModel.setCheckCardAlertMsg("Fallback!\nPlease stripe!",false); setupCardReadProcess(true); + }else if(sharedViewModel.getIsSeePhone().getValue() != null && sharedViewModel.getIsSeePhone().getValue()) { + cardReadViewModel.setCheckCardAlertMsg("Please Tap!",false); + setupCardReadProcess(true); } else { setupCardReadProcess(false); } @@ -230,6 +233,8 @@ public class CardWaitingFragment extends DataBindingFragment implements DataBind private void initCheckCard(boolean isFallback) { + + int waitTimeout = cardWaitingTimeOut + 5; // int allType = AidlConstants.CardType.NFC.getValue() | AidlConstants.CardType.IC.getValue() | AidlConstants.CardType.MAGNETIC.getValue(); // // @@ -244,12 +249,18 @@ public class CardWaitingFragment extends DataBindingFragment implements DataBind // } HashSet allType = new HashSet<>(); - allType.add(CardSlotTypeEnum.ICC1); - allType.add(CardSlotTypeEnum.RF); + if(sharedViewModel.getIsSeePhone().getValue() != null && sharedViewModel.getIsSeePhone().getValue()) { + allType.add(CardSlotTypeEnum.RF); + waitTimeout = 20; + } else { + allType.add(CardSlotTypeEnum.ICC1); + allType.add(CardSlotTypeEnum.RF); + } + // int allType = AidlConstants.CardType.IC.getValue() | AidlConstants.CardType.MAGNETIC.getValue(); - cardReadViewModel.startCheckXProcessNex(allType, cardWaitingTimeOut + 5, new CheckCardResultX() { + cardReadViewModel.startCheckXProcessNex(allType, waitTimeout, new CheckCardResultX() { @Override public void onSuccess(CardTypeX cardType, boolean isMPU) { LogUtil.d(TAG,"**** on success *****"); 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 6a46cb3..734033b 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 @@ -200,7 +200,7 @@ public class EmvTransactionFragment extends DataBindingFragment { isCardInserted(new CardDetectCallback() { @Override public void onComplete() { - sharedViewModel.setIsFallback(true); + sharedViewModel.setIsSeePhone(true); navigateToCheckCard(); } }); diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java index 980ff08..eafa1ab 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java @@ -162,7 +162,7 @@ public class EmvTransactionProcessViewModel extends EmvBaseViewModel implements handleTransactionFail(msg.arg1, msg.obj.toString()); break; case EMV_TRY_AGAIN: - emvResultStatus.postValue(EmvResultStatus.TRY_AGAIN); + emvResultStatus.postValue(EmvResultStatus.READ_CARD); break; case EMV_CONFIRM_CODE_VERIFY: emvResultStatus.postValue(EmvResultStatus.CONFIRM_CODE_VERIFY); diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java index fefc498..822858e 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java @@ -163,6 +163,7 @@ public class SharedViewModel extends ViewModel { public SingleLiveEvent loadingMsg = new SingleLiveEvent<>(); private SingleLiveEvent isFallback = new SingleLiveEvent<>(); + private SingleLiveEvent isSeePhone = new SingleLiveEvent<>(); private SingleLiveEvent _isCardDataExist = new SingleLiveEvent<>(); @@ -232,6 +233,10 @@ public class SharedViewModel extends ViewModel { public SingleLiveEvent getIsFallback() { return isFallback;} + public void setIsSeePhone(boolean status) { isSeePhone.setValue(status);} + + public SingleLiveEvent getIsSeePhone() { return isSeePhone;} + public void setCardDataExist(boolean exist) { _isCardDataExist.setValue(exist);} public SingleLiveEvent getCardDataExist() { return _isCardDataExist; }