|
|
@ -3,6 +3,7 @@ package com.gmeremit.online.gmeremittance_native.homeV2.view; |
|
|
|
import android.app.Activity; |
|
|
|
import android.content.Intent; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.os.Handler; |
|
|
|
import android.support.annotation.Nullable; |
|
|
|
import android.support.v4.widget.SwipeRefreshLayout; |
|
|
|
import android.support.v7.widget.GridLayoutManager; |
|
|
@ -19,6 +20,7 @@ import com.gmeremit.online.gmeremittance_native.homeV2.adapters.HomeMenuRvAdapte |
|
|
|
import com.gmeremit.online.gmeremittance_native.homeV2.model.MenuItem; |
|
|
|
import com.gmeremit.online.gmeremittance_native.homeV2.presenter.HomeV2Presenter; |
|
|
|
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.utils.Utils; |
|
|
|
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; |
|
|
|
|
|
|
@ -58,6 +60,15 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
@BindView(R.id.user_status_layout_nonverified) |
|
|
|
View kyc_notice_view; |
|
|
|
|
|
|
|
@BindView(R.id.penny_test_label) |
|
|
|
TextView pennyTitleLabel; |
|
|
|
|
|
|
|
@BindView(R.id.penny_test_text) |
|
|
|
TextView pennyVerificationBody; |
|
|
|
|
|
|
|
@BindView(R.id.penny_test_pending_view) |
|
|
|
View penny_notice_view; |
|
|
|
|
|
|
|
@BindView(R.id.swiperefresh) |
|
|
|
SwipeRefreshLayout swiperefresh; |
|
|
|
|
|
|
@ -65,6 +76,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
private boolean disableKYCViewClick; |
|
|
|
private HomeFragmentDataObserver homeFragmentDataObserver; |
|
|
|
private CompositeDisposable compositeDisposable; |
|
|
|
private boolean hasRequestedPennyTestEarlier=false; |
|
|
|
|
|
|
|
@Override |
|
|
|
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
|
|
@ -82,8 +94,8 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
|
|
|
|
private void init() { |
|
|
|
setupMenuRecyclerView(); |
|
|
|
homeFragmentDataObserver=new HomeFragmentDataObserver(); |
|
|
|
compositeDisposable=new CompositeDisposable(); |
|
|
|
homeFragmentDataObserver = new HomeFragmentDataObserver(); |
|
|
|
compositeDisposable = new CompositeDisposable(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
@ -102,9 +114,10 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
public void onStart() { |
|
|
|
super.onStart(); |
|
|
|
kyc_notice_view.setOnClickListener(this); |
|
|
|
swiperefresh.setOnRefreshListener(()->{ |
|
|
|
HomeParentViewContractV2 parentView= ((HomeParentViewContractV2)getActivity()); |
|
|
|
if(parentView!=null) |
|
|
|
penny_notice_view.setOnClickListener(this); |
|
|
|
swiperefresh.setOnRefreshListener(() -> { |
|
|
|
HomeParentViewContractV2 parentView = ((HomeParentViewContractV2) getActivity()); |
|
|
|
if (parentView != null) |
|
|
|
parentView.getPresenter().getRequiredData(); |
|
|
|
}); |
|
|
|
} |
|
|
@ -113,6 +126,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
public void onStop() { |
|
|
|
super.onStop(); |
|
|
|
kyc_notice_view.setOnClickListener(null); |
|
|
|
penny_notice_view.setOnClickListener(null); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@ -129,10 +143,10 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
} |
|
|
|
|
|
|
|
private void performDefaultAction(Bundle savedInupdateInfostanceState) { |
|
|
|
HomeParentViewContractV2 parentView= ((HomeParentViewContractV2)getActivity()); |
|
|
|
if(parentView!=null) |
|
|
|
{ compositeDisposable.add( |
|
|
|
parentView.getPresenter().subscribeToHomeFragmentDataFetchEvent().subscribeWith(homeFragmentDataObserver)); |
|
|
|
HomeParentViewContractV2 parentView = ((HomeParentViewContractV2) getActivity()); |
|
|
|
if (parentView != null) { |
|
|
|
compositeDisposable.add( |
|
|
|
parentView.getPresenter().subscribeToHomeFragmentDataFetchEvent().subscribeWith(homeFragmentDataObserver)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -165,7 +179,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void updateInfo(String userName,String yearlyLimit, String rewardPoint) { |
|
|
|
public void updateInfo(String userName, String yearlyLimit, String rewardPoint) { |
|
|
|
if (isUIReady()) { |
|
|
|
swiperefresh.setRefreshing(false); |
|
|
|
tv_currency.setVisibility(View.VISIBLE); |
|
|
@ -188,34 +202,47 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
public void onClick(View v) { |
|
|
|
switch (v.getId()) { |
|
|
|
case R.id.user_status_layout_nonverified: |
|
|
|
if(!disableKYCViewClick) { |
|
|
|
String email=""; |
|
|
|
String dob=null; |
|
|
|
HomeParentViewContractV2 parentView= ((HomeParentViewContractV2)getActivity()); |
|
|
|
if(parentView!=null) |
|
|
|
email= parentView.getPresenter().getUserEmailID(); |
|
|
|
dob= parentView.getPresenter().getUserDob(); |
|
|
|
if (!disableKYCViewClick) { |
|
|
|
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); |
|
|
|
startKycIntent.putExtra(KYCFormV2Activity.USER_EMAIL_ID_BUNDLE_KEY, email); |
|
|
|
startKycIntent.putExtra(KYCFormV2Activity.USER_DOB_BUNDLE_KEY, dob); |
|
|
|
startActivityForResult(startKycIntent, KYC_FORM_REQUEST_FROM_HOME); |
|
|
|
} |
|
|
|
break; |
|
|
|
|
|
|
|
case R.id.penny_test_pending_view: |
|
|
|
showPennyTestView(this.hasRequestedPennyTestEarlier); |
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void showPennyTestView(boolean hasRequestedPennyTestEarlier) |
|
|
|
{ |
|
|
|
Intent startPennyTestIntent = new Intent(getActivity(), PennyTestActivity.class); |
|
|
|
startPennyTestIntent.putExtra(PennyTestActivity.HAS_REQUESTED_FOR_PENNY_TEST,hasRequestedPennyTestEarlier); |
|
|
|
startActivity(startPennyTestIntent); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onActivityResult(int requestCode, int resultCode, Intent data) { |
|
|
|
super.onActivityResult(requestCode, resultCode, data); |
|
|
|
if (requestCode == KYC_FORM_REQUEST_FROM_HOME) { |
|
|
|
if(resultCode == Activity.RESULT_OK){ |
|
|
|
boolean result=data.getBooleanExtra(KYC_RESULT_STATUS_BUNDLE_KEY,false); |
|
|
|
if(result) |
|
|
|
{ |
|
|
|
HomeParentViewContractV2 parentView= ((HomeParentViewContractV2)getActivity()); |
|
|
|
if(parentView!=null) |
|
|
|
if (resultCode == Activity.RESULT_OK) { |
|
|
|
boolean result = data.getBooleanExtra(KYC_RESULT_STATUS_BUNDLE_KEY, false); |
|
|
|
if (result) { |
|
|
|
HomeParentViewContractV2 parentView = ((HomeParentViewContractV2) getActivity()); |
|
|
|
if (parentView != null) |
|
|
|
parentView.getPresenter().manuallyUpdateKYCForStatusToSubmitted(); |
|
|
|
new Handler().postDelayed(()->showPennyTestView(false),500); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
@ -232,45 +259,36 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
} |
|
|
|
|
|
|
|
public void showKYCVerifiedIfRequired(boolean shouldShowView, String message, String title, boolean disableKYCViewClick) { |
|
|
|
if(isUIReady()) |
|
|
|
{ |
|
|
|
if(shouldShowView) |
|
|
|
{ |
|
|
|
this.disableKYCViewClick=disableKYCViewClick; |
|
|
|
if (isUIReady()) { |
|
|
|
if (shouldShowView) { |
|
|
|
this.disableKYCViewClick = disableKYCViewClick; |
|
|
|
kycVerificationBody.setText(message); |
|
|
|
kycTitleLabel.setText(title); |
|
|
|
if(kyc_notice_view.getVisibility()!=View.VISIBLE) |
|
|
|
Utils.expand(kyc_notice_view,null,200); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (kyc_notice_view.getVisibility() != View.VISIBLE) |
|
|
|
Utils.expand(kyc_notice_view, null, 200); |
|
|
|
} else { |
|
|
|
|
|
|
|
if(kyc_notice_view.getVisibility()!=View.GONE) |
|
|
|
Utils.collapse(kyc_notice_view,()->{ |
|
|
|
if (kyc_notice_view.getVisibility() != View.GONE) |
|
|
|
Utils.collapse(kyc_notice_view, () -> { |
|
|
|
// kycVerificationBody.setText(message); |
|
|
|
// kycVerificationBody.setText(title); |
|
|
|
},200); |
|
|
|
}, 200); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
scheduleTaskLater(()->{ |
|
|
|
} else { |
|
|
|
scheduleTaskLater(() -> { |
|
|
|
|
|
|
|
if(shouldShowView) |
|
|
|
{ |
|
|
|
this.disableKYCViewClick=disableKYCViewClick; |
|
|
|
if (shouldShowView) { |
|
|
|
this.disableKYCViewClick = disableKYCViewClick; |
|
|
|
kycVerificationBody.setText(message); |
|
|
|
kycTitleLabel.setText(title); |
|
|
|
if(kyc_notice_view.getVisibility()!=View.VISIBLE) |
|
|
|
Utils.expand(kyc_notice_view,null,200); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (kyc_notice_view.getVisibility() != View.VISIBLE) |
|
|
|
Utils.expand(kyc_notice_view, null, 200); |
|
|
|
} else { |
|
|
|
|
|
|
|
if(kyc_notice_view.getVisibility()!=View.GONE) |
|
|
|
Utils.collapse(kyc_notice_view,()->{ |
|
|
|
if (kyc_notice_view.getVisibility() != View.GONE) |
|
|
|
Utils.collapse(kyc_notice_view, () -> { |
|
|
|
|
|
|
|
},200); |
|
|
|
}, 200); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -278,14 +296,51 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void showPennyTestViewIfRequired(boolean shouldShowView, String message, String title) { |
|
|
|
if (isUIReady()) { |
|
|
|
if (shouldShowView) { |
|
|
|
pennyVerificationBody.setText(message); |
|
|
|
pennyTitleLabel.setText(title); |
|
|
|
if (penny_notice_view.getVisibility() != View.VISIBLE) |
|
|
|
Utils.expand(penny_notice_view, null, 200); |
|
|
|
} else { |
|
|
|
|
|
|
|
if (penny_notice_view.getVisibility() != View.GONE) |
|
|
|
Utils.collapse(penny_notice_view, () -> { |
|
|
|
// kycVerificationBody.setText(message); |
|
|
|
// kycVerificationBody.setText(title); |
|
|
|
}, 200); |
|
|
|
} |
|
|
|
} else { |
|
|
|
scheduleTaskLater(() -> { |
|
|
|
|
|
|
|
class HomeFragmentDataObserver extends GenericApiObserverResponse<HomeV2Presenter.HomeFragmentRelatedData> |
|
|
|
{ |
|
|
|
if (shouldShowView) { |
|
|
|
pennyVerificationBody.setText(message); |
|
|
|
pennyTitleLabel.setText(title); |
|
|
|
if (penny_notice_view.getVisibility() != View.VISIBLE) |
|
|
|
Utils.expand(penny_notice_view, null, 200); |
|
|
|
} else { |
|
|
|
|
|
|
|
if (penny_notice_view.getVisibility() != View.GONE) |
|
|
|
Utils.collapse(penny_notice_view, () -> { |
|
|
|
|
|
|
|
}, 200); |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
class HomeFragmentDataObserver extends GenericApiObserverResponse<HomeV2Presenter.HomeFragmentRelatedData> { |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void onSuccess(HomeV2Presenter.HomeFragmentRelatedData dashboardRelatedData) { |
|
|
|
showKYCVerifiedIfRequired(dashboardRelatedData.isShouldShowKycView(),dashboardRelatedData.getMessage(),dashboardRelatedData.getTitle(),dashboardRelatedData.isDisableKYCViewClick()); |
|
|
|
updateInfo(dashboardRelatedData.getUserName(),dashboardRelatedData.getYearlyLimit(),dashboardRelatedData.getRewardPoint()); |
|
|
|
updateInfo(dashboardRelatedData.getUserName(), dashboardRelatedData.getYearlyLimit(), dashboardRelatedData.getRewardPoint()); |
|
|
|
showKYCVerifiedIfRequired(dashboardRelatedData.isShouldShowKycView(), dashboardRelatedData.getKycMessage(), dashboardRelatedData.getKycTitle(), dashboardRelatedData.isDisableKYCViewClick()); |
|
|
|
hasRequestedPennyTestEarlier=dashboardRelatedData.hasRequestedPennyTest(); |
|
|
|
new Handler().postDelayed(() -> showPennyTestViewIfRequired(dashboardRelatedData.isPennyTestPending(), dashboardRelatedData.getPennyTestMessage(), dashboardRelatedData.getPennyTestTitle()) |
|
|
|
, 400); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|