From 5c7c45395be0a13dd35b9c44b0c6689ccc318599 Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Mon, 13 Jan 2020 18:26:13 +0545 Subject: [PATCH] Terms and condition pdf loaded in webview --- .idea/caches/build_file_checksums.ser | Bin 662 -> 662 bytes app/src/main/AndroidManifest.xml | 8 +- .../homeV2/model/HomeViewRelatedDTOV2.java | 10 +- .../homeV2/model/UserInfoModelV2.java | 15 ++- .../presenter/HomeNotificationHandler.java | 26 +++--- .../homeV2/presenter/HomeV2Presenter.java | 6 +- .../homeV2/view/HomeFragmentV2.java | 37 +++++--- .../kycV3/KYCV3ViewModelFactory.java | 6 +- .../kycV3/presenter/KYCV3ViewModel.java | 24 ++++- .../kycV3/view/KYCV3Activity.java | 11 ++- .../loginV2/presenter/LoginV2Presenter.java | 34 ++++--- .../presenter/RegisterV2Presenter.java | 3 +- .../RegisterV2PresenterInterface.java | 2 + .../registerV2/view/RegisterV2Activity.java | 6 ++ .../view/TermsAndConditionAcitivity.java | 87 ++++++++++++++++++ .../view/TermsAndConditionFragment.java | 6 ++ .../view/WebViewPDFFragment.java | 22 +++++ ...activity_terms_and_condition_acitivity.xml | 15 +++ 18 files changed, 263 insertions(+), 55 deletions(-) create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionAcitivity.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionFragment.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/WebViewPDFFragment.java create mode 100644 app/src/main/res/layout/activity_terms_and_condition_acitivity.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index a532138a6630c4eeade3ae2b54f6fff6c8a2e7a2..6f5a82e490f005f41c979200b181dfa4d58fcccc 100644 GIT binary patch delta 14 WcmbQnI*oP0Oy-7{t2WO0#Rvc`um-*W delta 14 WcmbQnI*oP0OlGT&7aQmNVgvvxwgy!I diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7e5b179f..9e1c3d5e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,7 +15,6 @@ - - + Precedence Order - *

Redirect Notification (AUTO_DEBIT_REDIRECT) >> Registration Notification (KYC_SUBMIT -> PENNY_TEST_STATUS -> KYC_VERIFIED). - * Inorder to understand the implementation of this class, consider reading the corresponding Unit Test : HomeNotificationHandlerTest

+ * 1) Redirect Notification + * 2) Registration Notification + * Precedence Order + *

Redirect Notification (AUTO_DEBIT_REDIRECT) >> Registration Notification (KYC_SUBMIT -> PENNY_TEST_STATUS -> KYC_VERIFIED). + * Inorder to understand the implementation of this class, consider reading the corresponding Unit Test : HomeNotificationHandlerTest

*/ public class HomeNotificationHandler { private final GmeApplication.StringExtractor stringExtractor; + private String hasAgreedToTermsAndCondition; private boolean kycSubmit; private boolean isVerified; private String pennyTestStatus; private String redirectTo; - public HomeNotificationHandler(GmeApplication.StringExtractor stringExtractor, boolean kycSubmit, boolean isVerified, String pennyTestStatus, String redirectTo) { + public HomeNotificationHandler(GmeApplication.StringExtractor stringExtractor, boolean kycSubmit, boolean isVerified, String pennyTestStatus, String redirectTo, String hasAgreedToTermsAndCondition) { this.kycSubmit = kycSubmit; this.isVerified = isVerified; this.redirectTo = redirectTo; this.stringExtractor = stringExtractor; this.pennyTestStatus = pennyTestStatus; + this.hasAgreedToTermsAndCondition = hasAgreedToTermsAndCondition; } private HomeNotificationHandler(GmeApplication.StringExtractor stringExtractor) { @@ -63,11 +65,13 @@ public class HomeNotificationHandler { public HomeNotificationViewDTO generateAppropriateHomeNotificationViewDTO() { - if ("autoDebit".equalsIgnoreCase(redirectTo)) { - return generateHomeNotificaationViewExplicitlyFromType(HomeNoticeViewTypeEnum.AUTO_DEBIT_FILLUP_REQUIRED); - } else - return generateApproriateRegistrationRelatedNotification(); - + if ("1".equalsIgnoreCase(hasAgreedToTermsAndCondition)||"2".equalsIgnoreCase(hasAgreedToTermsAndCondition)) { + if ("autoDebit".equalsIgnoreCase(redirectTo)) { + return generateHomeNotificaationViewExplicitlyFromType(HomeNoticeViewTypeEnum.AUTO_DEBIT_FILLUP_REQUIRED); + } else + return generateApproriateRegistrationRelatedNotification(); + } + return null; } private HomeNotificationViewDTO generateApproriateRegistrationRelatedNotification() { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java index 49117394..6a637b2d 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java @@ -231,13 +231,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()) + HomeNotificationViewDTO notificationViewDTO = new HomeNotificationHandler(GmeApplication.getStringExtractor(), userInfoModelV2.getKyc(), userInfoModelV2.isVerified(), userInfoModelV2.getPennyTestStatus(), userInfoModelV2.getRedirectTo(),userInfoModelV2.getAgreeYn()) .generateAppropriateHomeNotificationViewDTO(); + 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)); + notificationViewDTO,shouldShowTermsAndCondition)); //If no notification is generated then we can show privileged Operation View view.showPrivilegedOperationView(notificationViewDTO == null || notificationViewDTO.shouldShowPrivilegedView()); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java index 167f8862..e50d2113 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java @@ -18,7 +18,6 @@ import androidx.cardview.widget.CardView; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -40,9 +39,10 @@ import com.gmeremit.online.gmeremittance_native.homeV2.view.notifications.HomeNo import com.gmeremit.online.gmeremittance_native.homeV2.view.notifications.KYCNotSubmittedNotificationView; import com.gmeremit.online.gmeremittance_native.homeV2.view.notifications.KYCNotVerifiedNotificationView; import com.gmeremit.online.gmeremittance_native.homeV2.view.notifications.PennyTestNotCompletedNotificationView; -import com.gmeremit.online.gmeremittance_native.kycV2.view.KYCFormV2Activity; import com.gmeremit.online.gmeremittance_native.kycV2.view.pennytest.PennyTestActivity; +import com.gmeremit.online.gmeremittance_native.kycV3.view.KYCV3Activity; import com.gmeremit.online.gmeremittance_native.rewardV2.view.rewardlisting.RewardListingV2Activity; +import com.gmeremit.online.gmeremittance_native.termsandcondition.view.TermsAndConditionAcitivity; import com.gmeremit.online.gmeremittance_native.utils.Utils; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; @@ -270,23 +270,27 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. } private void showKYCScreen() { - String email = ""; - String dob = null; - HomeParentViewContractV2 parentView = ((HomeParentViewContractV2) getActivity()); - if (parentView != null) { - email = parentView.getPresenter().getUserEmailID(); - dob = parentView.getPresenter().getUserDob(); - } - Intent startKycIntent = new Intent(getActivity(), KYCFormV2Activity.class); - startKycIntent.putExtra(KYCFormV2Activity.USER_EMAIL_ID_BUNDLE_KEY, email); - startKycIntent.putExtra(KYCFormV2Activity.USER_DOB_BUNDLE_KEY, dob); - startActivityForResult(startKycIntent, KYC_FORM_REQUEST_FROM_HOME); +// String email = ""; +// String dob = null; +// HomeParentViewContractV2 parentView = ((HomeParentViewContractV2) getActivity()); +// if (parentView != null) { +// email = parentView.getPresenter().getUserEmailID(); +// dob = parentView.getPresenter().getUserDob(); +// } +// Intent startKycIntent = new Intent(getActivity(), KYCFormV2Activity.class); +// startKycIntent.putExtra(KYCFormV2Activity.USER_EMAIL_ID_BUNDLE_KEY, email); +// startKycIntent.putExtra(KYCFormV2Activity.USER_DOB_BUNDLE_KEY, dob); +// startActivityForResult(startKycIntent, KYC_FORM_REQUEST_FROM_HOME); + + KYCV3Activity.startActivity(getActivity(),false); } private void showPennyTestView() { - Intent startPennyTestIntent = new Intent(getActivity(), PennyTestActivity.class); - startActivityForResult(startPennyTestIntent, PENNY_REQUEST_FROM_HOME); +// Intent startPennyTestIntent = new Intent(getActivity(), PennyTestActivity.class); +// startActivityForResult(startPennyTestIntent, PENNY_REQUEST_FROM_HOME); + KYCV3Activity.startActivity(getActivity(),true); + } public void setWalletNo(String walletNumber, String bankName) { @@ -354,6 +358,9 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. showAutoDebitNoticeViewIfRequiredInPopup(homeViewRelatedDTOV2.shouldShowAutoDebitNotice(), homeViewRelatedDTOV2.getAutoDebitNoticeTitle(), homeViewRelatedDTOV2.getAutoDebitNoticeBody(), () -> { showNotificationView(homeViewRelatedDTOV2.getHomeNotificationViewDTO()); }); + + if(homeViewRelatedDTOV2.shouldShowTermsAndCondition()) + startActivity(new Intent(getActivity(), TermsAndConditionAcitivity.class)); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/KYCV3ViewModelFactory.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/KYCV3ViewModelFactory.java index 9d45dfd0..14dcce0e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/KYCV3ViewModelFactory.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/KYCV3ViewModelFactory.java @@ -10,15 +10,17 @@ import com.gmeremit.online.gmeremittance_native.kycV3.presenter.KYCV3ViewModel; public class KYCV3ViewModelFactory implements ViewModelProvider.Factory { private final KYCV3PresenterInterface.KYCV3ViewContractInterface view; + private final boolean shouldRedirectToPennyTestScreen; - public KYCV3ViewModelFactory(KYCV3PresenterInterface.KYCV3ViewContractInterface view) { + public KYCV3ViewModelFactory(KYCV3PresenterInterface.KYCV3ViewContractInterface view, boolean booleanExtra) { this.view = view; + this.shouldRedirectToPennyTestScreen=booleanExtra; } @SuppressWarnings("unchecked") @NonNull @Override public T create(@NonNull Class modelClass) { - return (T) new KYCV3ViewModel(view,new KYCV3Gateway()); + return (T) new KYCV3ViewModel(view,new KYCV3Gateway(),shouldRedirectToPennyTestScreen); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java index 4fe85d6b..946d2ffe 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java @@ -50,6 +50,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter private final KYCV3GatewayInterface gateway; private final CompositeDisposable customerDetailViewSubscriptions; private final MutableLiveData alternateIdRelatedViewResetLiveData; + private final boolean shouldRedirectToPennyTestScreen; private CustomerDetailViewValidator validator; private MutableLiveData customerDetailForm; @@ -104,7 +105,8 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter private BehaviorSubject passportImageValidationSubject; - public KYCV3ViewModel(KYCV3PresenterInterface.KYCV3ViewContractInterface view, KYCV3GatewayInterface gatewayInterface) { + public KYCV3ViewModel(KYCV3ViewContractInterface view, KYCV3GatewayInterface gatewayInterface, boolean shouldRedirectToPennyTestScreen) { + this.shouldRedirectToPennyTestScreen = shouldRedirectToPennyTestScreen; this.compositeDisposable = new CompositeDisposable(); this.view = view; this.gateway = gatewayInterface; @@ -180,6 +182,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter this.customerDetailViewSubscriptions.add(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getReferralCodeChangeEvent().subscribe(val -> validator.validateReferralCode(val))); + if (shouldRedirectToPennyTestScreen) + requestPennyTestFromServer("N"); + //new Handler().postDelayed(()->customerKoreanLiveData.setValue(!isCustomerKorean),5000); } @@ -491,7 +496,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter public void getKycRelatedData() { // gateway.getUserID() compositeDisposable.add( - this.gateway.getKycRelatedData(gateway.getBasicAuth(view.getContext()), "sdfa", "kyc") + this.gateway.getKycRelatedData(gateway.getBasicAuth(view.getContext()), gateway.getUserID(), "kyc") .doOnSubscribe(sub -> view.showProgressBar(true, "")) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -1225,8 +1230,19 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter @Override protected void onSuccess(GenericResponseDataModel t) { if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { - pennyTestMessageLiveData.setValue(t.getMsg()); - view.navigateToPennyTestConfirmView(); + if("Y".equalsIgnoreCase(isResendREquest)) + { + view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS,alertType -> { + pennyTestMessageLiveData.setValue(t.getMsg()); + view.navigateToPennyTestConfirmView(); + }); + } + else + { + pennyTestMessageLiveData.setValue(t.getMsg()); + view.navigateToPennyTestConfirmView(); + } + } else { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/KYCV3Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/KYCV3Activity.java index bec55cf5..bb6114f2 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/KYCV3Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/KYCV3Activity.java @@ -9,6 +9,7 @@ import androidx.transition.TransitionManager; import androidx.viewpager.widget.ViewPager; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; @@ -37,6 +38,7 @@ import static com.gmeremit.online.gmeremittance_native.addautodebitV2.view.AddPr public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterface.KYCV3ViewContractInterface, ViewPager.OnPageChangeListener { + private static final String SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY ="SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY" ; @BindView(R.id.kycFormViewPager) ViewPager kycFormViewPager; @@ -61,6 +63,13 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa private GenericViewPagerAdapter kycViewPagerAdapter; private KYCV3ViewModel viewModel; + public static void startActivity(Context context,boolean shouldRedirectToPennyTestScreen) + { + Intent intent=new Intent(context,KYCV3Activity.class); + intent.putExtra(SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY,shouldRedirectToPennyTestScreen); + context.startActivity(intent); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -77,7 +86,7 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa private void initialize() { toolbarTitle.setText(getString(R.string.penny_test_pending_text)); - KYCV3ViewModelFactory kycv3ViewModelFactory = new KYCV3ViewModelFactory(this); + KYCV3ViewModelFactory kycv3ViewModelFactory = new KYCV3ViewModelFactory(this,getIntent().getBooleanExtra(SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY,false)); viewModel = ViewModelProviders.of(this, kycv3ViewModelFactory).get(KYCV3ViewModel.class); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java index 27915401..40e60ac2 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java @@ -233,23 +233,27 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI private void onLoginSuccess(LoginModelV2 loginResponse) { Runnable task=null; - boolean hasSubmittedKYC=loginResponse.getKyc(); - boolean hasCompletedPennyTest=loginResponse.getPennyTestStatus().equalsIgnoreCase("2"); - - if(hasSubmittedKYC&&hasCompletedPennyTest) - { - clearExistingFormData(); + clearExistingFormData(); setSessionEnabled(); task=()-> view.redirectToDashboard(); - } - if(hasSubmittedKYC&&!hasCompletedPennyTest) - { - task=()->view.redirectToPennyTestView(LoginV2Activity.PENNY_TEST_REQUEST_FROM_PRE_LOGIN_SCREEN_CODE); - } - if(!hasSubmittedKYC&&!hasCompletedPennyTest) - { - task=()->view.redirectToKYCScreen(loginResponse.getEmail(),LoginV2Activity.KYC_REQUEST_FROM_LOGIN_SCREEN_CODE_LATER_PROCEED_TO_PENNY_TEST); - } + +// boolean hasSubmittedKYC=loginResponse.getKyc(); +// boolean hasCompletedPennyTest=loginResponse.getPennyTestStatus().equalsIgnoreCase("2"); +// +// if(hasSubmittedKYC&&hasCompletedPennyTest) +// { +// clearExistingFormData(); +// setSessionEnabled(); +// task=()-> view.redirectToDashboard(); +// } +// if(hasSubmittedKYC&&!hasCompletedPennyTest) +// { +// task=()->view.redirectToPennyTestView(LoginV2Activity.PENNY_TEST_REQUEST_FROM_PRE_LOGIN_SCREEN_CODE); +// } +// if(!hasSubmittedKYC&&!hasCompletedPennyTest) +// { +// task=()->view.redirectToKYCScreen(loginResponse.getEmail(),LoginV2Activity.KYC_REQUEST_FROM_LOGIN_SCREEN_CODE_LATER_PROCEED_TO_PENNY_TEST); +// } view.morphProgressBarIntoButton(task); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java index 89a937cf..2d3a91d2 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java @@ -243,7 +243,8 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres if (responseBody.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { registerGateway.saveUserId(selectedUserId); view.showPopUpMessage(responseBody.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> { - view.redirectToKYC(null, LoginV2Activity.KYC_REQUEST_FROM_LOGIN_SCREEN_CODE_LATER_PROCEED_TO_PENNY_TEST); + view.redirectToTermsAndConditionScreen(); +// view.redirectToKYC(null, LoginV2Activity.KYC_REQUEST_FROM_LOGIN_SCREEN_CODE_LATER_PROCEED_TO_PENNY_TEST); }); } else view.showPopUpMessage(responseBody.getMsg(), CustomAlertDialog.AlertType.FAILED, null); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java index ecdb50a3..6a8e831e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java @@ -61,5 +61,7 @@ public interface RegisterV2PresenterInterface extends BasePresenterInterface { void registerUserIdNumberListeners(boolean action); void setUserIdFocus(boolean action); + + void redirectToTermsAndConditionScreen(); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java index ce8d27c9..c1c70ef0 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java @@ -36,6 +36,7 @@ import com.gmeremit.online.gmeremittance_native.loginV2.view.LoginV2Activity; import com.gmeremit.online.gmeremittance_native.registerV2.gateway.RegisterV2Gateway; import com.gmeremit.online.gmeremittance_native.registerV2.presenter.RegisterV2Presenter; import com.gmeremit.online.gmeremittance_native.registerV2.presenter.RegisterV2PresenterInterface; +import com.gmeremit.online.gmeremittance_native.termsandcondition.view.TermsAndConditionAcitivity; import com.gmeremit.online.gmeremittance_native.utils.security.securitykeypad.SecurityKeyboardManager; import com.gmeremit.online.gmeremittance_native.utils.security.securitykeypad.SecurityKeyboardView; import com.gmeremit.online.gmeremittance_native.utils.security.securitykeypad.SecurityKeypadRequestParamBuilder; @@ -362,6 +363,11 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen // ed_userId.setCursorVisible(action); } + @Override + public void redirectToTermsAndConditionScreen() { + startActivity(new Intent(this, TermsAndConditionAcitivity.class)); + } + @Override public boolean onTouch(View v, MotionEvent event) { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionAcitivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionAcitivity.java new file mode 100644 index 00000000..4022763a --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionAcitivity.java @@ -0,0 +1,87 @@ +package com.gmeremit.online.gmeremittance_native.termsandcondition.view; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +import android.os.Bundle; +import android.os.Handler; +import android.widget.TextView; + +import com.gmeremit.online.gmeremittance_native.R; +import com.gmeremit.online.gmeremittance_native.accountmanage.model.accountlisting.WebRequestModel; +import com.gmeremit.online.gmeremittance_native.base.BaseActivity; +import com.gmeremit.online.gmeremittance_native.customwidgets.GenericViewPagerAdapter; +import com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserFragmentV2; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; + +public class TermsAndConditionAcitivity extends BaseActivity implements WebBrowserFragmentV2.WebBrowserFragmentActionListener { + @BindView(R.id.addAutoDebitAccountViewPager) + ViewPager termsAndConditionViewPager; + + @BindView(R.id.toolbar_title) + TextView toolbar_title; + private GenericViewPagerAdapter termsAndConditionViewPagerAdapter; + private TermsAndConditionFragment termsAndConditionFragment; + private WebViewPDFFragment pdfViewerFragment; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_terms_and_condition_acitivity); + ButterKnife.bind(this); + initialize(); + } + + private void initialize() { + toolbar_title.setText(getString(R.string.add_auto_debit_account_text)); + + setupViewPager(); + + } + + + private void setupViewPager() { + + termsAndConditionViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); + + List fragments = new ArrayList<>(); + + termsAndConditionFragment = new TermsAndConditionFragment(); + pdfViewerFragment = new WebViewPDFFragment(); + + fragments.add(pdfViewerFragment); + fragments.add(termsAndConditionFragment); + + termsAndConditionViewPagerAdapter.addFragments(fragments); + + termsAndConditionViewPager.setOffscreenPageLimit(2); + + termsAndConditionViewPager.setAdapter(termsAndConditionViewPagerAdapter); + + new Handler().postDelayed(()->{ + WebRequestModel requestModel = new WebRequestModel("Register Auto Debit Account", "https://docs.google.com/gview?embedded=true&url=https://upload.wikimedia.org/wikipedia/commons/c/cc/Resume.pdf", null); + + pdfViewerFragment.setWebRequestData(requestModel); + pdfViewerFragment.loadWebView(); + },3000); + + + + } + + @Override + public void updateTitle(String title) { + + } + + @Override + public void webViewActionCompleted() { + + } +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionFragment.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionFragment.java new file mode 100644 index 00000000..30d88138 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/TermsAndConditionFragment.java @@ -0,0 +1,6 @@ +package com.gmeremit.online.gmeremittance_native.termsandcondition.view; + +import com.gmeremit.online.gmeremittance_native.base.BaseFragment; + +public class TermsAndConditionFragment extends BaseFragment { +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/WebViewPDFFragment.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/WebViewPDFFragment.java new file mode 100644 index 00000000..a9ed62de --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/termsandcondition/view/WebViewPDFFragment.java @@ -0,0 +1,22 @@ +package com.gmeremit.online.gmeremittance_native.termsandcondition.view; + +import android.webkit.WebSettings; +import android.webkit.WebView; + +import com.gmeremit.online.gmeremittance_native.accountmanage.model.accountlisting.WebRequestModel; +import com.gmeremit.online.gmeremittance_native.base.BaseFragment; +import com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserFragmentV2; + +public class WebViewPDFFragment extends WebBrowserFragmentV2 { + + + @Override + protected void doTask(WebRequestModel webRequestModel, WebView webView) { + if(webRequestModel!=null) { + webView.loadUrl(webRequestModel.getUrl()); + } + + } + + +} diff --git a/app/src/main/res/layout/activity_terms_and_condition_acitivity.xml b/app/src/main/res/layout/activity_terms_and_condition_acitivity.xml new file mode 100644 index 00000000..ee4dedbd --- /dev/null +++ b/app/src/main/res/layout/activity_terms_and_condition_acitivity.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file