Browse Source

Home can now handle auto debit routing

master
Preyea Regmi 5 years ago
parent
commit
55196c96ce
  1. 17
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java
  2. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java
  3. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java

17
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java

@ -37,7 +37,7 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
private final HomeV2ContractInterface view; private final HomeV2ContractInterface view;
private final HomeV2GatewayInterface gateway; private final HomeV2GatewayInterface gateway;
private final CompositeDisposable compositeDisposable; private final CompositeDisposable compositeDisposable;
private final BehaviorSubject<HomeFragmentRelatedData> homeFragmentRelatedSubject;
private final BehaviorSubject<HomeViewRelatedDTO> homeFragmentRelatedSubject;
private final boolean shouldCheckFingerprintPrompt; private final boolean shouldCheckFingerprintPrompt;
private boolean shouldNotPromptAppUpdate; private boolean shouldNotPromptAppUpdate;
private boolean shouldNotPromptAutoDebitAccountRenew; private boolean shouldNotPromptAutoDebitAccountRenew;
@ -139,7 +139,7 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
} }
@Override @Override
public Observable<HomeFragmentRelatedData> subscribeToHomeFragmentDataFetchEvent() {
public Observable<HomeViewRelatedDTO> subscribeToHomeFragmentDataFetchEvent() {
return homeFragmentRelatedSubject; return homeFragmentRelatedSubject;
} }
@ -258,7 +258,7 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
boolean shouldShowKJBankNotice = checkIfShouldShowKJNotice(); boolean shouldShowKJBankNotice = checkIfShouldShowKJNotice();
if (homeFragmentRelatedSubject != null) if (homeFragmentRelatedSubject != null)
homeFragmentRelatedSubject.onNext(new HomeFragmentRelatedData(shouldShowKYCView, kycMessage, kycTitle,
homeFragmentRelatedSubject.onNext(new HomeViewRelatedDTO(shouldShowKYCView, kycMessage, kycTitle,
disableKYCViewClick, fullName, userInfoModelV2.getYearlyLimit(), disableKYCViewClick, fullName, userInfoModelV2.getYearlyLimit(),
userInfoModelV2.getRewardPoint(), isPennyTestPending && !shouldShowKYCView, hasRequestedPennyTest, userInfoModelV2.getRewardPoint(), isPennyTestPending && !shouldShowKYCView, hasRequestedPennyTest,
pennyTestTitle, pennyTestMessage, shouldShowAutoDebitNotice, autoDebitTitle, autoDebitBody, shouldShowKJBankNotice)); pennyTestTitle, pennyTestMessage, shouldShowAutoDebitNotice, autoDebitTitle, autoDebitBody, shouldShowKJBankNotice));
@ -318,8 +318,8 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
* @return true if handled otherwise false * @return true if handled otherwise false
*/ */
private boolean shouldRouteToAutoDebitScreen(boolean apiRequestedToRouteToAutoDebitScreen) { private boolean shouldRouteToAutoDebitScreen(boolean apiRequestedToRouteToAutoDebitScreen) {
view.showAutoDebitListingScreen();
return true;
// view.showAutoDebitListingScreen();
return false;
} }
@Override @Override
@ -381,7 +381,10 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
} }
public static class HomeFragmentRelatedData {
/**
* Simple View Model POJO used as Data Transfer Object (DTO) between presenter and view inorder to avoid huge parameterized method call in view
*/
public static class HomeViewRelatedDTO {
private boolean shouldShowAutoDebitNotice; private boolean shouldShowAutoDebitNotice;
private boolean shouldShowKycView; private boolean shouldShowKycView;
private String kycMessage; private String kycMessage;
@ -403,7 +406,7 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt
private boolean shouldShowKJBankNotice; private boolean shouldShowKJBankNotice;
public HomeFragmentRelatedData(boolean shouldShowKycView, String kycMessage, String kycTitle, boolean disableKYCViewClick, String userName, String yearlyLimit, String rewardPoint, boolean isPennyTestPending, boolean hasRequestedPennyTest, String pennyTestTitle, String pennyTestMessage, boolean shouldShowAutoDebitNotice, String autoDebitTitle, String autoDebitBody, boolean shouldShowKJBankNotice) {
public HomeViewRelatedDTO(boolean shouldShowKycView, String kycMessage, String kycTitle, boolean disableKYCViewClick, String userName, String yearlyLimit, String rewardPoint, boolean isPennyTestPending, boolean hasRequestedPennyTest, String pennyTestTitle, String pennyTestMessage, boolean shouldShowAutoDebitNotice, String autoDebitTitle, String autoDebitBody, boolean shouldShowKJBankNotice) {
this.shouldShowKycView = shouldShowKycView; this.shouldShowKycView = shouldShowKycView;
this.kycMessage = kycMessage; this.kycMessage = kycMessage;
this.kycTitle = kycTitle; this.kycTitle = kycTitle;

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java

@ -25,7 +25,7 @@ public interface HomeV2PresenterInterface extends BasePresenterInterface {
String getUserDob(); String getUserDob();
Observable<HomeV2Presenter.HomeFragmentRelatedData> subscribeToHomeFragmentDataFetchEvent();
Observable<HomeV2Presenter.HomeViewRelatedDTO> subscribeToHomeFragmentDataFetchEvent();
void storeAppUpdateDecision(boolean booleanExtra); void storeAppUpdateDecision(boolean booleanExtra);

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java

@ -8,7 +8,6 @@ import android.support.annotation.Nullable;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -420,10 +419,10 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2.
} }
class HomeFragmentDataObserver extends GenericApiObserverResponse<HomeV2Presenter.HomeFragmentRelatedData> {
class HomeFragmentDataObserver extends GenericApiObserverResponse<HomeV2Presenter.HomeViewRelatedDTO> {
@Override @Override
protected void onSuccess(HomeV2Presenter.HomeFragmentRelatedData dashboardRelatedData) {
protected void onSuccess(HomeV2Presenter.HomeViewRelatedDTO dashboardRelatedData) {
updateInfo(dashboardRelatedData.getUserName(), dashboardRelatedData.getYearlyLimit(), dashboardRelatedData.getRewardPoint()); updateInfo(dashboardRelatedData.getUserName(), dashboardRelatedData.getYearlyLimit(), dashboardRelatedData.getRewardPoint());
showKYCVerifiedIfRequired(dashboardRelatedData.isShouldShowKycView(), dashboardRelatedData.getKycMessage(), dashboardRelatedData.getKycTitle(), dashboardRelatedData.isDisableKYCViewClick(), showKYCVerifiedIfRequired(dashboardRelatedData.isShouldShowKycView(), dashboardRelatedData.getKycMessage(), dashboardRelatedData.getKycTitle(), dashboardRelatedData.isDisableKYCViewClick(),

Loading…
Cancel
Save