|
|
@ -2,6 +2,9 @@ package com.gmeremit.online.gmeremittance_native.homeV2.presenter; |
|
|
|
|
|
|
|
import android.util.Log; |
|
|
|
|
|
|
|
import androidx.lifecycle.LiveData; |
|
|
|
import androidx.lifecycle.MutableLiveData; |
|
|
|
|
|
|
|
import com.gmeremit.online.gmeremittance_native.BuildConfig; |
|
|
|
import com.gmeremit.online.gmeremittance_native.GmeApplication; |
|
|
|
import com.gmeremit.online.gmeremittance_native.R; |
|
|
@ -39,21 +42,21 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
|
private final HomeV2GatewayInterface gateway; |
|
|
|
private final CompositeDisposable compositeDisposable; |
|
|
|
private final BehaviorSubject<HomeViewRelatedDTO> homeFragmentRelatedSubject; |
|
|
|
private final BehaviorSubject<HomeViewRelatedDTOV2> homeFragmentRelatedSubjectV2; |
|
|
|
private final boolean shouldCheckFingerprintPrompt; |
|
|
|
private boolean shouldNotPromptAppUpdate; |
|
|
|
private boolean shouldNotPromptAutoDebitAccountRenew; |
|
|
|
private String recentNotificationCount = null; |
|
|
|
private MutableLiveData<HomeViewRelatedDTOV2> homeRelatedMutableLiveData; |
|
|
|
|
|
|
|
public HomeV2Presenter(HomeV2ContractInterface view,HomeV2GatewayInterface gateway, boolean checkFingerprintPromptScreen) { |
|
|
|
public HomeV2Presenter(HomeV2ContractInterface view, HomeV2GatewayInterface gateway, boolean checkFingerprintPromptScreen) { |
|
|
|
this.view = view; |
|
|
|
this.gateway = gateway; |
|
|
|
this.compositeDisposable = new CompositeDisposable(); |
|
|
|
this.homeFragmentRelatedSubject = BehaviorSubject.create(); |
|
|
|
this.homeFragmentRelatedSubjectV2 = BehaviorSubject.create(); |
|
|
|
this.shouldNotPromptAppUpdate = false; |
|
|
|
this.shouldNotPromptAutoDebitAccountRenew = false; |
|
|
|
this.shouldCheckFingerprintPrompt = checkFingerprintPromptScreen; |
|
|
|
homeRelatedMutableLiveData = new MutableLiveData<>(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@ -231,15 +234,15 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
|
|
|
|
|
boolean shouldShowKJBankNotice = checkIfShouldShowKJNotice(); |
|
|
|
|
|
|
|
HomeNotificationViewDTO notificationViewDTO = new HomeNotificationHandler(GmeApplication.getStringExtractor(), userInfoModelV2.getKyc(), userInfoModelV2.isVerified(), userInfoModelV2.getPennyTestStatus(), userInfoModelV2.getRedirectTo(),userInfoModelV2.getAgreeYn()) |
|
|
|
HomeNotificationViewDTO notificationViewDTO = new HomeNotificationHandler(GmeApplication.getStringExtractor(), userInfoModelV2.getKyc(), userInfoModelV2.isVerified(), userInfoModelV2.getPennyTestStatus(), userInfoModelV2.getRedirectTo(), userInfoModelV2.getAgreeYn()) |
|
|
|
.generateAppropriateHomeNotificationViewDTO(); |
|
|
|
|
|
|
|
boolean shouldShowTermsAndCondition="0".equalsIgnoreCase(userInfoModelV2.getAgreeYn()); |
|
|
|
boolean shouldShowTermsAndCondition = "0".equalsIgnoreCase(userInfoModelV2.getAgreeYn()); |
|
|
|
|
|
|
|
homeFragmentRelatedSubjectV2.onNext(new HomeViewRelatedDTOV2(fullName, userInfoModelV2.getAvailableBalance(),userInfoModelV2.getYearlyLimit(), |
|
|
|
userInfoModelV2.getRewardPoint(), shouldShowAutoDebitNotice, autoDebitTitle, autoDebitBody, shouldShowKJBankNotice, |
|
|
|
userInfoModelV2.getPrimaryBankName(), userInfoModelV2.getWalletNumber(), |
|
|
|
notificationViewDTO,shouldShowTermsAndCondition)); |
|
|
|
homeRelatedMutableLiveData.setValue(new HomeViewRelatedDTOV2(fullName, userInfoModelV2.getAvailableBalance(), userInfoModelV2.getYearlyLimit(), |
|
|
|
userInfoModelV2.getRewardPoint(), shouldShowAutoDebitNotice, autoDebitTitle, autoDebitBody, shouldShowKJBankNotice, |
|
|
|
userInfoModelV2.getPrimaryBankName(), userInfoModelV2.getWalletNumber(), |
|
|
|
notificationViewDTO, shouldShowTermsAndCondition)); |
|
|
|
|
|
|
|
//If no notification is generated then we can show privileged Operation View |
|
|
|
view.showPrivilegedOperationView(notificationViewDTO == null || notificationViewDTO.shouldShowPrivilegedView()); |
|
|
@ -313,9 +316,10 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
|
return this.recentNotificationCount; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public Observable<HomeViewRelatedDTOV2> subscribeToHomeFragmentDataFetchEventV2() { |
|
|
|
return homeFragmentRelatedSubjectV2; |
|
|
|
public LiveData<HomeViewRelatedDTOV2> subscribeToHomeRelatedDataEvent() { |
|
|
|
return homeRelatedMutableLiveData; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|