Browse Source
removed source of fund and purpose of remittance from kyc and add recepient layout and adding in new screen
new_design
removed source of fund and purpose of remittance from kyc and add recepient layout and adding in new screen
new_design
Santosh Bhandary
3 years ago
51 changed files with 949 additions and 542 deletions
-
1app/src/main/AndroidManifest.xml
-
3app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/gateway/ExistingExistingKYCV3Gateway.java
-
32app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/model/ExistingPersonalInfoDTO.java
-
37app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/presenter/ExistingKYCV3ViewModel.java
-
9app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/ExistingKYCV3Activity.java
-
47app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/personal/ExistingCustomerDetailFragment.java
-
12app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/personal/ExistingCustomerDetailViewLiveData.java
-
3app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/gateway/KYCV3Gateway.java
-
30app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/model/PersonalInfoDTO.java
-
39app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3ViewModel.java
-
8app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/KYCV3Activity.java
-
43app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java
-
26app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailViewLiveData.java
-
2app/src/main/java/com/swifttech/remit/jmecustomer/features/notice/view/NoticeDetailFragment.java
-
21app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditFragment.java
-
6app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/model/recipientlistingV3/ReceiverInfoV3Model.java
-
52app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddEditBaseV3ViewModel.java
-
5app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java
-
16app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java
-
4app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientPresenterInterface.java
-
26app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/edit/RecipientEditV3ViewModel.java
-
46app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3Fragment.java
-
10app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java
-
4app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/SendMoneyViewModelFactory.java
-
5app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/gateway/SendMoneyV2Gateway.java
-
24app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/model/SendMoneyAPIRequestBody.java
-
91app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/model/ccdi/CCDIDataDto.java
-
2app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/presenter/SendMoneyV2InteractorInterface.java
-
21app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/presenter/SendMoneyV2PresenterInterface.java
-
250app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/presenter/SendMoneyV2ViewModel.java
-
2app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/SendMoneyActionListener.java
-
5app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/SendMoneyScreenManager.java
-
63app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/SendMoneyV2Activity.java
-
14app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/amountdetail/AmountDetailSendMoneyFragment.java
-
216app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/ccdi/CCDISendMoneyFragment.java
-
54app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/ccdi/CCIDDetailViewLiveData.java
-
4app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/consent/UserConsentSendMoneyFragment.java
-
7app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/payoutmode/PayoutModeBranchListingDialog.java
-
8app/src/main/java/com/swifttech/remit/jmecustomer/features/sendmoney/view/verification/VerificationSendMoneyFragment.java
-
2app/src/main/java/com/swifttech/remit/jmecustomer/features/termsandcondition/view/TermsAndConditionFragment.java
-
1app/src/main/java/com/swifttech/remit/jmecustomer/utils/https/API_URL.java
-
4app/src/main/java/com/swifttech/remit/jmecustomer/utils/https/ApiEndpoints.java
-
2app/src/main/res/layout/activity_send_money_v2.xml
-
13app/src/main/res/layout/fragment_beneficiary_add_edit_v3.xml
-
68app/src/main/res/layout/fragment_ccdi_send_money_v2.xml
-
16app/src/main/res/layout/fragment_existing_kyc_customer_detail.xml
-
15app/src/main/res/layout/fragment_kyc_customer_detail.xml
-
6app/src/main/res/layout/fragment_web_browser_v2.xml
-
40app/src/main/res/layout/kyc_header.xml
-
74app/src/main/res/layout/send_money_header.xml
-
2app/src/main/res/values/strings.xml
@ -0,0 +1,91 @@ |
|||
package com.swifttech.remit.jmecustomer.features.sendmoney.model.ccdi; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.IDTextDTO; |
|||
|
|||
import java.util.List; |
|||
|
|||
public class CCDIDataDto { |
|||
@SerializedName("UserId") |
|||
@Expose |
|||
private String userId; |
|||
@SerializedName("SourceOfFund") |
|||
@Expose |
|||
private List<IDTextDTO> sourceOfFundList = null; |
|||
@SerializedName("PurposeOfRemittance") |
|||
@Expose |
|||
private List<IDTextDTO> purposeOfRemittanceList = null; |
|||
|
|||
@SerializedName("sourceOfFund") |
|||
@Expose |
|||
private String sourceOfFund; |
|||
|
|||
@SerializedName("otherSourceOfFund") |
|||
@Expose |
|||
private String otherSourceOfFund=""; |
|||
|
|||
@SerializedName("purposeOfRemittance") |
|||
@Expose |
|||
private String purposeOfRemittance; |
|||
|
|||
@SerializedName("otherPurposeOfRemittance") |
|||
@Expose |
|||
private String otherPurposeOfRemittance=""; |
|||
|
|||
public String getUserId() { |
|||
return userId; |
|||
} |
|||
|
|||
public void setUserId(String userId) { |
|||
this.userId = userId; |
|||
} |
|||
|
|||
public List<IDTextDTO> getSourceOfFundList() { |
|||
return sourceOfFundList; |
|||
} |
|||
|
|||
public void setSourceOfFundList(List<IDTextDTO> sourceOfFundList) { |
|||
this.sourceOfFundList = sourceOfFundList; |
|||
} |
|||
|
|||
public List<IDTextDTO> getPurposeOfRemittanceList() { |
|||
return purposeOfRemittanceList; |
|||
} |
|||
|
|||
public void setPurposeOfRemittanceList(List<IDTextDTO> purposeOfRemittanceList) { |
|||
this.purposeOfRemittanceList = purposeOfRemittanceList; |
|||
} |
|||
|
|||
public String getSourceOfFund() { |
|||
return sourceOfFund; |
|||
} |
|||
|
|||
public void setSourceOfFund(String sourceOfFund) { |
|||
this.sourceOfFund = sourceOfFund; |
|||
} |
|||
|
|||
public String getOtherSourceOfFund() { |
|||
return otherSourceOfFund; |
|||
} |
|||
|
|||
public void setOtherSourceOfFund(String otherSourceOfFund) { |
|||
this.otherSourceOfFund = otherSourceOfFund; |
|||
} |
|||
|
|||
public String getPurposeOfRemittance() { |
|||
return purposeOfRemittance; |
|||
} |
|||
|
|||
public void setPurposeOfRemittance(String purposeOfRemittance) { |
|||
this.purposeOfRemittance = purposeOfRemittance; |
|||
} |
|||
|
|||
public String getOtherPurposeOfRemittance() { |
|||
return otherPurposeOfRemittance; |
|||
} |
|||
|
|||
public void setOtherPurposeOfRemittance(String otherPurposeOfRemittance) { |
|||
this.otherPurposeOfRemittance = otherPurposeOfRemittance; |
|||
} |
|||
} |
@ -0,0 +1,216 @@ |
|||
package com.swifttech.remit.jmecustomer.features.sendmoney.view.ccdi; |
|||
|
|||
import android.app.Activity; |
|||
import android.content.Context; |
|||
import android.os.Bundle; |
|||
import android.view.LayoutInflater; |
|||
import android.view.View; |
|||
import android.view.ViewGroup; |
|||
|
|||
import androidx.annotation.Nullable; |
|||
import androidx.lifecycle.ViewModelProvider; |
|||
|
|||
import com.swifttech.remit.jmecustomer.R; |
|||
import com.swifttech.remit.jmecustomer.base.BaseFragment; |
|||
import com.swifttech.remit.jmecustomer.common.customwidgets.common.GenericTextListingDialog; |
|||
import com.swifttech.remit.jmecustomer.common.model.FormInputStateDTO; |
|||
import com.swifttech.remit.jmecustomer.databinding.FragmentCcdiSendMoneyV2Binding; |
|||
import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.IDTextDTO; |
|||
import com.swifttech.remit.jmecustomer.features.sendmoney.presenter.SendMoneyV2ViewModel; |
|||
import com.swifttech.remit.jmecustomer.features.sendmoney.view.SendMoneyActionListener; |
|||
import com.swifttech.remit.jmecustomer.features.sendmoney.view.SendMoneyV2Activity; |
|||
|
|||
import io.reactivex.subjects.PublishSubject; |
|||
|
|||
|
|||
public class CCDISendMoneyFragment extends BaseFragment implements View.OnClickListener { |
|||
FragmentCcdiSendMoneyV2Binding binding; |
|||
private SendMoneyV2ViewModel viewModel; |
|||
private CCIDDetailViewLiveData.CCIDViewBinding ccidViewBinding; |
|||
|
|||
private GenericTextListingDialog<IDTextDTO> sourceOfFundSelectionDialog; |
|||
private GenericTextListingDialog<IDTextDTO> purposeOfRemittanceDialog; |
|||
|
|||
private PublishSubject<IDTextDTO> sourceOfFundSelectSubject; |
|||
private PublishSubject<IDTextDTO> purposeOfRemittanceSelectSubject; |
|||
|
|||
@Override |
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
|||
binding = FragmentCcdiSendMoneyV2Binding.inflate(inflater, container, false); |
|||
View view = binding.getRoot(); |
|||
return view; |
|||
} |
|||
|
|||
@Override |
|||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
|||
super.onViewCreated(view, savedInstanceState); |
|||
init(); |
|||
performDefaultAction(savedInstanceState); |
|||
|
|||
} |
|||
|
|||
private void init() { |
|||
sourceOfFundSelectSubject = PublishSubject.create(); |
|||
purposeOfRemittanceSelectSubject = PublishSubject.create(); |
|||
|
|||
viewModel = new ViewModelProvider(requireActivity()).get(SendMoneyV2ViewModel.class); |
|||
ccidViewBinding = new CCIDDetailViewLiveData.CCIDViewBinding( |
|||
sourceOfFundSelectSubject, |
|||
purposeOfRemittanceSelectSubject |
|||
|
|||
); |
|||
} |
|||
|
|||
private void performDefaultAction(Bundle savedInstanceState) { |
|||
CCIDDetailViewLiveData ccidDetailViewLiveData = viewModel.getCCIDRelatedViewEvents(ccidViewBinding); |
|||
|
|||
ccidDetailViewLiveData.getSourceOfFundLiveData().observe(getViewLifecycleOwner(), this::onSourceOfFundSelected); |
|||
ccidDetailViewLiveData.getPurposeOfRemittanceLiveData().observe(getViewLifecycleOwner(), this::onPurposeOfRemittSelected); |
|||
ccidDetailViewLiveData.getAllFieldsValidLiveData().observe(getViewLifecycleOwner(), result -> binding.btnContinue.setEnabled(result)); |
|||
viewModel.getCCidRelatedData(); |
|||
} |
|||
|
|||
@Override |
|||
public void onStart() { |
|||
super.onStart(); |
|||
binding.btnContinue.setOnClickListener(this); |
|||
binding.sourceOfFundSelectionWrapper.setOnClickListener(this); |
|||
binding.receiverTransferReasonSelectionWrapper.setOnClickListener(this); |
|||
} |
|||
|
|||
@Override |
|||
public void onStop() { |
|||
super.onStop(); |
|||
binding.btnContinue.setOnClickListener(null); |
|||
binding.sourceOfFundSelectionWrapper.setOnClickListener(null); |
|||
binding.receiverTransferReasonSelectionWrapper.setOnClickListener(null); |
|||
} |
|||
|
|||
@Override |
|||
public void onAttach(Context context) { |
|||
super.onAttach(context); |
|||
((SendMoneyActionListener) context).updateCurrentIndexFrom(R.layout.fragment_ccdi_send_money_v2); |
|||
} |
|||
|
|||
@Override |
|||
public void onAttach(Activity activity) { |
|||
super.onAttach(activity); |
|||
((SendMoneyActionListener) activity).updateCurrentIndexFrom(R.layout.fragment_ccdi_send_money_v2); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void onDetach() { |
|||
super.onDetach(); |
|||
((SendMoneyActionListener) getActivity()).updateCurrentScreenByLayoutId(R.layout.fragment_ccdi_send_money_v2); |
|||
} |
|||
|
|||
@Override |
|||
public void onDestroy() { |
|||
super.onDestroy(); |
|||
((SendMoneyV2Activity) getActivity()).updateFinalTranstionToDefault(R.layout.fragment_ccdi_send_money_v2); |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public void onClick(View view) { |
|||
switch (view.getId()) { |
|||
|
|||
case R.id.btnContinue: |
|||
((SendMoneyActionListener) getActivity()).showTransactionReviewPage(); |
|||
break; |
|||
case R.id.sourceOfFundSelectionWrapper: |
|||
if(viewModel.getSourceOfFundList().size()>0){ |
|||
promptSourceOfFund(); |
|||
}else{ |
|||
viewModel.getCCidRelatedData(); |
|||
} |
|||
|
|||
break; |
|||
|
|||
case R.id.receiverTransferReasonSelectionWrapper: |
|||
if(viewModel.getPurposeOfRemittanceList().size()>0){ |
|||
promptPurposeOfRemittance(); |
|||
}else{ |
|||
viewModel.getCCidRelatedData(); |
|||
} |
|||
|
|||
break; |
|||
|
|||
|
|||
} |
|||
} |
|||
|
|||
private void promptPurposeOfRemittance() { |
|||
hideKeyBoard(); |
|||
if (purposeOfRemittanceDialog == null) |
|||
purposeOfRemittanceDialog = new GenericTextListingDialog<>(); |
|||
|
|||
|
|||
purposeOfRemittanceDialog.setData(viewModel.getPurposeOfRemittanceList()); |
|||
purposeOfRemittanceDialog.disableSearch(true); |
|||
purposeOfRemittanceDialog.setListener(sourceOfFund -> |
|||
{ |
|||
purposeOfRemittanceDialog.dismiss(); |
|||
if (!sourceOfFund.toString().equalsIgnoreCase(getString(R.string.othersSpecify)) |
|||
&& !sourceOfFund.toString().equalsIgnoreCase(getString(R.string.othersSpecify1)) |
|||
&& !sourceOfFund.toString().equalsIgnoreCase(getString(R.string.othersSpecify2))) { |
|||
binding.edReceiverTransferReasonSelection.setText(sourceOfFund.toString()); |
|||
} |
|||
purposeOfRemittanceSelectSubject.onNext(sourceOfFund); |
|||
}); |
|||
|
|||
purposeOfRemittanceDialog.setHintAndTitle(getActivity().getResources().getString(R.string.searchPurposeOfRemit_text), getString(R.string.selectPurposeOfRemit_text), getString(R.string.no_result_found_text)); |
|||
if (!purposeOfRemittanceDialog.isAdded()) |
|||
purposeOfRemittanceDialog.show(getActivity().getSupportFragmentManager(), "PURPOSEOFREMITTANCECHOOSER"); |
|||
} |
|||
|
|||
private void promptSourceOfFund() { |
|||
hideKeyBoard(); |
|||
if (sourceOfFundSelectionDialog == null) |
|||
sourceOfFundSelectionDialog = new GenericTextListingDialog<>(); |
|||
|
|||
|
|||
sourceOfFundSelectionDialog.setData(viewModel.getSourceOfFundList()); |
|||
sourceOfFundSelectionDialog.disableSearch(true); |
|||
sourceOfFundSelectionDialog.setListener(sourceOfFund -> |
|||
{ |
|||
sourceOfFundSelectionDialog.dismiss(); |
|||
if (!sourceOfFund.toString().equalsIgnoreCase(getString(R.string.othersSpecify)) |
|||
&& !sourceOfFund.toString().equalsIgnoreCase(getString(R.string.othersSpecify1)) |
|||
&& !sourceOfFund.toString().equalsIgnoreCase(getString(R.string.othersSpecify2))) { |
|||
binding.edSourceOfFund.setText(sourceOfFund.toString()); |
|||
} |
|||
sourceOfFundSelectSubject.onNext(sourceOfFund); |
|||
}); |
|||
|
|||
sourceOfFundSelectionDialog.setHintAndTitle(getActivity().getResources().getString(R.string.search_source_of_fund_text), getString(R.string.selectSourceOfFund_text), getString(R.string.no_result_found_text)); |
|||
if (!sourceOfFundSelectionDialog.isAdded()) |
|||
sourceOfFundSelectionDialog.show(getActivity().getSupportFragmentManager(), "SOURCEOFFUNDTYPECHOOSER"); |
|||
} |
|||
|
|||
private void onSourceOfFundSelected(FormInputStateDTO<IDTextDTO> data) { |
|||
if (data.isValid()) { |
|||
if (data.hasData()) { |
|||
if(!data.getData().getText().equalsIgnoreCase(getString(R.string.othersSpecify)) |
|||
&& !data.getData().getText().equalsIgnoreCase(getString(R.string.othersSpecify1)) |
|||
&& !data.getData().getText().equalsIgnoreCase(getString(R.string.othersSpecify2))){ |
|||
binding.edSourceOfFund.setText(data.getData().getText()); |
|||
sourceOfFundSelectSubject.onNext(data.getData()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
private void onPurposeOfRemittSelected(FormInputStateDTO<IDTextDTO> data) { |
|||
if (data.isValid()) { |
|||
if (data.hasData()) { |
|||
if(!data.getData().getText().equalsIgnoreCase(getString(R.string.othersSpecify)) |
|||
&& !data.getData().getText().equalsIgnoreCase(getString(R.string.othersSpecify1)) |
|||
&& !data.getData().getText().equalsIgnoreCase(getString(R.string.othersSpecify2))){ |
|||
binding.edReceiverTransferReasonSelection.setText(data.getData().getText()); |
|||
purposeOfRemittanceSelectSubject.onNext(data.getData()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,54 @@ |
|||
package com.swifttech.remit.jmecustomer.features.sendmoney.view.ccdi; |
|||
|
|||
import androidx.lifecycle.MutableLiveData; |
|||
|
|||
import com.swifttech.remit.jmecustomer.common.model.FormInputStateDTO; |
|||
import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.IDTextDTO; |
|||
|
|||
import io.reactivex.Observable; |
|||
|
|||
public class CCIDDetailViewLiveData { |
|||
private MutableLiveData<FormInputStateDTO<IDTextDTO>> sourceOfFundLiveData; |
|||
private MutableLiveData<FormInputStateDTO<IDTextDTO>> purposeOfRemittanceLiveData; |
|||
private MutableLiveData<Boolean> allFieldsValid; |
|||
|
|||
public CCIDDetailViewLiveData() { |
|||
sourceOfFundLiveData = new MutableLiveData<>(); |
|||
purposeOfRemittanceLiveData = new MutableLiveData<>(); |
|||
allFieldsValid = new MutableLiveData<>(); |
|||
} |
|||
|
|||
public MutableLiveData<FormInputStateDTO<IDTextDTO>> getSourceOfFundLiveData() { |
|||
return sourceOfFundLiveData; |
|||
} |
|||
|
|||
public MutableLiveData<FormInputStateDTO<IDTextDTO>> getPurposeOfRemittanceLiveData() { |
|||
return purposeOfRemittanceLiveData; |
|||
} |
|||
|
|||
public MutableLiveData<Boolean> getAllFieldsValidLiveData() { |
|||
return allFieldsValid; |
|||
} |
|||
|
|||
public static class CCIDViewBinding { |
|||
private Observable<IDTextDTO> sourceOfFundObservable; |
|||
private Observable<IDTextDTO> purposeOfRemittanceObservable; |
|||
|
|||
public CCIDViewBinding( |
|||
Observable<IDTextDTO> sourceOfFundObservable, |
|||
Observable<IDTextDTO> purposeOfRemittanceObservable |
|||
) { |
|||
|
|||
this.sourceOfFundObservable = sourceOfFundObservable; |
|||
this.purposeOfRemittanceObservable = purposeOfRemittanceObservable; |
|||
} |
|||
|
|||
public Observable<IDTextDTO> getSourceOfFundObservable() { |
|||
return sourceOfFundObservable; |
|||
} |
|||
|
|||
public Observable<IDTextDTO> getPurposeOfRemittanceObservable() { |
|||
return purposeOfRemittanceObservable; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,68 @@ |
|||
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|||
android:id="@+id/scrollView" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent"> |
|||
|
|||
<LinearLayout |
|||
android:focusableInTouchMode="true" |
|||
android:focusable="true" |
|||
android:clickable="true" |
|||
android:id="@+id/rootView" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginStart="@dimen/_10sdp" |
|||
android:layout_marginEnd="@dimen/_10sdp" |
|||
android:layout_marginTop="@dimen/_5sdp" |
|||
android:background="@color/white" |
|||
android:orientation="vertical"> |
|||
|
|||
<LinearLayout |
|||
android:layout_marginBottom="@dimen/_3sdp" |
|||
android:id="@+id/form1" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical" |
|||
android:padding="@dimen/_8sdp"> |
|||
|
|||
|
|||
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout |
|||
android:id="@+id/sourceOfFundSelectionWrapper" |
|||
android:hint="@string/select_source_of_fund_text" |
|||
style="@style/MTextInputLayoutFormDropDown" |
|||
app:endIconMode="dropdown_menu" |
|||
app:endIconDrawable="@drawable/icv_dropdown" |
|||
app:errorEnabled="true" |
|||
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle" |
|||
> |
|||
|
|||
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView |
|||
android:id="@+id/ed_sourceOfFund" |
|||
style="@style/MAutoCompleteDropDown" |
|||
android:imeOptions="actionDone" |
|||
/> |
|||
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout> |
|||
|
|||
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout |
|||
android:id="@+id/receiverTransferReasonSelectionWrapper" |
|||
style="@style/MTextInputLayoutFormDropDown" |
|||
android:hint="@string/selectPurposeOfRemit_text" |
|||
app:endIconDrawable="@drawable/icv_dropdown" |
|||
app:errorEnabled="true" |
|||
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle"> |
|||
|
|||
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView |
|||
android:id="@+id/ed_receiverTransferReasonSelection" |
|||
style="@style/MAutoCompleteDropDown" /> |
|||
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout> |
|||
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeButton |
|||
android:id="@+id/btnContinue" |
|||
style="@style/MButton" |
|||
android:layout_gravity="center" |
|||
android:layout_marginTop="@dimen/_15sdp" |
|||
android:layout_marginBottom="@dimen/_15sdp" |
|||
android:text="@string/continue_text" |
|||
/> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</androidx.core.widget.NestedScrollView> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue