|
@ -8,7 +8,6 @@ import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; |
|
|
import com.gmeremit.online.gmeremittance_native.homeV2.gateway.HomeV2Gateway; |
|
|
import com.gmeremit.online.gmeremittance_native.homeV2.gateway.HomeV2Gateway; |
|
|
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2; |
|
|
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2; |
|
|
import com.gmeremit.online.gmeremittance_native.utils.Constants; |
|
|
import com.gmeremit.online.gmeremittance_native.utils.Constants; |
|
|
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; |
|
|
|
|
|
import com.gmeremit.online.gmeremittance_native.utils.https.SessionExpiredException; |
|
|
import com.gmeremit.online.gmeremittance_native.utils.https.SessionExpiredException; |
|
|
import com.gmeremit.online.gmeremittance_native.utils.https.UserSessionObserverResponse; |
|
|
import com.gmeremit.online.gmeremittance_native.utils.https.UserSessionObserverResponse; |
|
|
import com.google.firebase.iid.FirebaseInstanceId; |
|
|
import com.google.firebase.iid.FirebaseInstanceId; |
|
@ -21,6 +20,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; |
|
|
import io.reactivex.disposables.CompositeDisposable; |
|
|
import io.reactivex.disposables.CompositeDisposable; |
|
|
import io.reactivex.functions.Function; |
|
|
import io.reactivex.functions.Function; |
|
|
import io.reactivex.schedulers.Schedulers; |
|
|
import io.reactivex.schedulers.Schedulers; |
|
|
|
|
|
import io.reactivex.subjects.BehaviorSubject; |
|
|
import retrofit2.HttpException; |
|
|
import retrofit2.HttpException; |
|
|
|
|
|
|
|
|
public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInterface, HomeV2InteractorInterface { |
|
|
public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInterface, HomeV2InteractorInterface { |
|
@ -28,12 +28,15 @@ 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 UserState userState = null; |
|
|
private UserState userState = null; |
|
|
|
|
|
|
|
|
public HomeV2Presenter(HomeV2PresenterInterface.HomeV2ContractInterface view) { |
|
|
public HomeV2Presenter(HomeV2PresenterInterface.HomeV2ContractInterface view) { |
|
|
this.view = view; |
|
|
this.view = view; |
|
|
this.gateway = new HomeV2Gateway(this); |
|
|
this.gateway = new HomeV2Gateway(this); |
|
|
this.compositeDisposable = new CompositeDisposable(); |
|
|
this.compositeDisposable = new CompositeDisposable(); |
|
|
|
|
|
this.homeFragmentRelatedSubject = BehaviorSubject.create(); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -114,6 +117,11 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
return userState.getDob(); |
|
|
return userState.getDob(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public Observable<HomeFragmentRelatedData> subscribeToHomeFragmentDataFetchEvent() { |
|
|
|
|
|
return homeFragmentRelatedSubject; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private Observable<UserInfoModelV2> getDataFromServerAndCacheIt() { |
|
|
private Observable<UserInfoModelV2> getDataFromServerAndCacheIt() { |
|
|
String fcmID = FirebaseInstanceId.getInstance().getToken(); |
|
|
String fcmID = FirebaseInstanceId.getInstance().getToken(); |
|
|
if (fcmID == null || fcmID.length() < 1) |
|
|
if (fcmID == null || fcmID.length() < 1) |
|
@ -150,14 +158,8 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
@Override |
|
|
@Override |
|
|
protected void onSuccess(UserInfoModelV2 userInfoModelV2) { |
|
|
protected void onSuccess(UserInfoModelV2 userInfoModelV2) { |
|
|
String fullName = userInfoModelV2.getFirstName(); |
|
|
String fullName = userInfoModelV2.getFirstName(); |
|
|
// if ((userInfoModelV2.getMiddleName() != null && userInfoModelV2.getMiddleName().length() > 0)) |
|
|
|
|
|
// fullName = userInfoModelV2.getFirstName() + " " + userInfoModelV2.getMiddleName() + " " + userInfoModelV2.getLastName(); |
|
|
|
|
|
// else |
|
|
|
|
|
// fullName = userInfoModelV2.getFirstName() + " " + userInfoModelV2.getLastName(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
view.showInfoInDrawer(fullName, userInfoModelV2.getEmail(), userInfoModelV2.getAvailableBalance(), userInfoModelV2.getWalletNumber(), userInfoModelV2.getPrimaryBankName(), userInfoModelV2.getMobileNumber()); |
|
|
view.showInfoInDrawer(fullName, userInfoModelV2.getEmail(), userInfoModelV2.getAvailableBalance(), userInfoModelV2.getWalletNumber(), userInfoModelV2.getPrimaryBankName(), userInfoModelV2.getMobileNumber()); |
|
|
view.updateUserInfoInChildView(fullName, userInfoModelV2.getYearlyLimit(), userInfoModelV2.getRewardPoint()); |
|
|
|
|
|
|
|
|
|
|
|
String message = ""; |
|
|
String message = ""; |
|
|
String title = ""; |
|
|
String title = ""; |
|
@ -167,7 +169,6 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
|
|
|
|
|
|
boolean disableKYCViewClick = userInfoModelV2.getKyc() && !userInfoModelV2.getVerified(); |
|
|
boolean disableKYCViewClick = userInfoModelV2.getKyc() && !userInfoModelV2.getVerified(); |
|
|
boolean shouldShowKYCView = false; |
|
|
boolean shouldShowKYCView = false; |
|
|
// title = "Thank you for registering with us!"; |
|
|
|
|
|
if (!userInfoModelV2.getKyc()) { |
|
|
if (!userInfoModelV2.getKyc()) { |
|
|
shouldShowKYCView = true; |
|
|
shouldShowKYCView = true; |
|
|
title = "Verify your Account"; |
|
|
title = "Verify your Account"; |
|
@ -178,14 +179,15 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
title = "Verification in Process"; |
|
|
title = "Verification in Process"; |
|
|
message = "Your registration request is in approval process. You will soon be able to use GME services."; |
|
|
message = "Your registration request is in approval process. You will soon be able to use GME services."; |
|
|
} |
|
|
} |
|
|
view.showKYCVerifiedIfRequired(shouldShowKYCView, message, title, disableKYCViewClick); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(homeFragmentRelatedSubject !=null) |
|
|
|
|
|
homeFragmentRelatedSubject.onNext(new HomeFragmentRelatedData(shouldShowKYCView,message,title,disableKYCViewClick,fullName, userInfoModelV2.getYearlyLimit(), userInfoModelV2.getRewardPoint())); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void onFailed(String message) { |
|
|
public void onFailed(String message) { |
|
|
Log.d("DashBoardError", "Recieved Error : " + message); |
|
|
Log.d("DashBoardError", "Recieved Error : " + message); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -201,6 +203,9 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* In Memory Cache, the cache is always updated for meta information of user |
|
|
|
|
|
*/ |
|
|
private class UserState { |
|
|
private class UserState { |
|
|
|
|
|
|
|
|
private boolean hasSubmittedKyc; |
|
|
private boolean hasSubmittedKyc; |
|
@ -233,4 +238,55 @@ public class HomeV2Presenter extends BasePresenter implements HomeV2PresenterInt |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class HomeFragmentRelatedData |
|
|
|
|
|
{ |
|
|
|
|
|
private boolean shouldShowKycView; |
|
|
|
|
|
private String message; |
|
|
|
|
|
private String title; |
|
|
|
|
|
private boolean disableKYCViewClick; |
|
|
|
|
|
|
|
|
|
|
|
private String userName; |
|
|
|
|
|
private String yearlyLimit; |
|
|
|
|
|
private String rewardPoint; |
|
|
|
|
|
|
|
|
|
|
|
public HomeFragmentRelatedData(boolean shouldShowKycView, String message, String title, boolean disableKYCViewClick, String userName,String yearlyLimit, String rewardPoint) { |
|
|
|
|
|
this.shouldShowKycView = shouldShowKycView; |
|
|
|
|
|
this.message = message; |
|
|
|
|
|
this.title = title; |
|
|
|
|
|
this.disableKYCViewClick = disableKYCViewClick; |
|
|
|
|
|
this.userName=userName; |
|
|
|
|
|
this.yearlyLimit=yearlyLimit; |
|
|
|
|
|
this.rewardPoint=rewardPoint; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public boolean isShouldShowKycView() { |
|
|
|
|
|
return shouldShowKycView; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getMessage() { |
|
|
|
|
|
return message; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getTitle() { |
|
|
|
|
|
return title; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public boolean isDisableKYCViewClick() { |
|
|
|
|
|
return disableKYCViewClick; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getUserName() { |
|
|
|
|
|
return userName; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getYearlyLimit() { |
|
|
|
|
|
return yearlyLimit; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getRewardPoint() { |
|
|
|
|
|
return rewardPoint; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |