Browse Source

Recipient data submit due

master
preyearegmi 6 years ago
parent
commit
e114b2e0dd
  1. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BasePresenter.java
  2. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientCountryListingRvAdapter.java
  3. 61
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientDistrictListingRvAdapter.java
  4. 61
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientRelationListingRvAdapter.java
  5. 61
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientTransferListingRvAdapter.java
  6. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientV2Gateway.java
  7. 69
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2Presenter.java
  8. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2PresenterInterface.java
  9. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientCountryListingDialog.java
  10. 189
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientDistrictListingDialog.java
  11. 16
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientProvinceListingDialog.java
  12. 188
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientRelationListingDialog.java
  13. 189
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientTransferListingDialog.java
  14. 179
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientV2Activity.java
  15. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
  16. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
  17. 34
      app/src/main/res/layout/activity_recipient_v2.xml
  18. 3
      app/src/main/res/layout/dialog_country_listing.xml
  19. 12
      app/src/main/res/layout/provincelist_item_view.xml

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BasePresenter.java

@ -15,4 +15,9 @@ public class BasePresenter implements BasePresenterInterface {
public void onViewDestroyed() {
}
protected boolean checkStringNotEmpty(String data)
{
return data!=null&&data.length()>0;
}
}

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientCountryListingRvAdapter.java

@ -41,7 +41,7 @@ public class RecipientCountryListingRvAdapter extends RecyclerView.Adapter<Recip
}
});
CountryDetailModel countryPaymentService= data.get(position);
holder.setFlagImage(CountryFlagMapper.getFlagFromCountryCode(countryPaymentService.getId()));
holder.setFlagImage(CountryFlagMapper.getFlagFromCountryCode(countryPaymentService.getCode()));
holder.setCountryName(countryPaymentService.getName());
}

61
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientDistrictListingRvAdapter.java

@ -0,0 +1,61 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientDistrictListingDialog;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListRvViewHolder;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListingDialog;
import java.util.ArrayList;
import java.util.List;
public class RecipientDistrictListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> {
private final RecipientDistrictListingDialog.DistrictSelectionListener listener;
private List<DistrictDetailModel> data;
public RecipientDistrictListingRvAdapter(RecipientDistrictListingDialog.DistrictSelectionListener listener) {
this.data=new ArrayList<>();
this.listener=listener;
}
@Override
public RecipientProvinceListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.provincelist_item_view, parent, false);
return new RecipientProvinceListRvViewHolder(view); }
@Override
public void onBindViewHolder(final RecipientProvinceListRvViewHolder holder, int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(listener!=null)
listener.onDistrictSelected(data.get(holder.getAdapterPosition()));
}
});
DistrictDetailModel province= data.get(position);
holder.setName(province.getText());
}
@Override
public int getItemCount() {
return data.size();
}
public void setData(List<DistrictDetailModel> data) {
if(data!=null)
{
this.data=data;
notifyDataSetChanged();
}
}
}

61
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientRelationListingRvAdapter.java

@ -0,0 +1,61 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListRvViewHolder;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientRelationListingDialog;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientTransferListingDialog;
import java.util.ArrayList;
import java.util.List;
public class RecipientRelationListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> {
private final RecipientRelationListingDialog.RelationSelectionListener listener;
private List<RelationDetailModel> data;
public RecipientRelationListingRvAdapter(RecipientRelationListingDialog.RelationSelectionListener listener) {
this.data=new ArrayList<>();
this.listener=listener;
}
@Override
public RecipientProvinceListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.provincelist_item_view, parent, false);
return new RecipientProvinceListRvViewHolder(view); }
@Override
public void onBindViewHolder(final RecipientProvinceListRvViewHolder holder, int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(listener!=null)
listener.onRelationSelected(data.get(holder.getAdapterPosition()));
}
});
RelationDetailModel relationData= data.get(position);
holder.setName(relationData.getText());
}
@Override
public int getItemCount() {
return data.size();
}
public void setData(List<RelationDetailModel> data) {
if(data!=null)
{
this.data=data;
notifyDataSetChanged();
}
}
}

61
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientTransferListingRvAdapter.java

@ -0,0 +1,61 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientDistrictListingDialog;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListRvViewHolder;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientTransferListingDialog;
import java.util.ArrayList;
import java.util.List;
public class RecipientTransferListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> {
private final RecipientTransferListingDialog.TransferReasonSelectionListener listener;
private List<TransferDetailModel> data;
public RecipientTransferListingRvAdapter(RecipientTransferListingDialog.TransferReasonSelectionListener listener) {
this.data=new ArrayList<>();
this.listener=listener;
}
@Override
public RecipientProvinceListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.provincelist_item_view, parent, false);
return new RecipientProvinceListRvViewHolder(view); }
@Override
public void onBindViewHolder(final RecipientProvinceListRvViewHolder holder, int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(listener!=null)
listener.onTransferReasonSelected(data.get(holder.getAdapterPosition()));
}
});
TransferDetailModel province= data.get(position);
holder.setName(province.getText());
}
@Override
public int getItemCount() {
return data.size();
}
public void setData(List<TransferDetailModel> data) {
if(data!=null)
{
this.data=data;
notifyDataSetChanged();
}
}
}

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientV2Gateway.java

@ -3,6 +3,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.gateway;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@ -180,9 +181,11 @@ public class RecipientV2Gateway extends PrivilegedGateway implements RecipientV2
@Override
public Observable<RecipientRelatedDataApiResponse> getRelatedDataFromServer(String auth) {
RecipientRelatedDataApiResponse recipientRelatedDataApiResponse;
Gson gson=new GsonBuilder().create();
recipientRelatedDataApiResponse=gson.fromJson(mockedData,RecipientRelatedDataApiResponse.class);
return Observable.just(recipientRelatedDataApiResponse);
// RecipientRelatedDataApiResponse recipientRelatedDataApiResponse;
// Gson gson=new GsonBuilder().create();
// recipientRelatedDataApiResponse=gson.fromJson(mockedData,RecipientRelatedDataApiResponse.class);
// return Observable.just(recipientRelatedDataApiResponse);
//
return HttpClientV2.getInstance().getRecipientRelatedDataV2(auth);
}
}

69
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2Presenter.java

@ -4,7 +4,12 @@ import com.gmeremit.online.gmeremittance_native.agentsV2.gateway.AgentListV2Gate
import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.recipientV2.gateway.RecipientV2Gateway;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.utils.Constants;
@ -31,16 +36,52 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
@Override
public void getAllData() {
compositeDisposable.add(
this.gateway.getRelatedDataFromServer(gateway.getAuth())
.doOnSubscribe(disposable -> view.showProgressBar(true, "Fetching data..."))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new RecipientRelatedDataObserver())
this.gateway.getRelatedDataFromServer(gateway.getAuth())
.doOnSubscribe(disposable -> view.showProgressBar(true, "Fetching data..."))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new RecipientRelatedDataObserver())
);
}
@Override
public void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry,
ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict,
String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer) {
if(checkStringNotEmpty(firstName)&&
checkStringNotEmpty(lastName)&&
checkStringNotEmpty(address)&&
checkStringNotEmpty(mobileNo)&&
validateLocation(selectedCountry,selectedProvince,selectedDistrict))
{
}
else
this.view.showToastMessage("Please fill up required details.");
}
private boolean validateLocation(CountryDetailModel country, ProvinceDetailModel province, DistrictDetailModel district) {
if (country != null) {
if (country.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) {
if (province == null) {
// this.view.showToastMessage("Select a province first.");
return false;
} else if (district == null) {
// this.view.showToastMessage("Select a district first.");
return false;
} else
return true;
} else
return true;
} else {
// this.view.showToastMessage("Select a country first.");
return false;
}
}
@Override
public void onViewDestroyed() {
super.onViewDestroyed();
@ -48,29 +89,25 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
compositeDisposable.dispose();
}
private class RecipientRelatedDataObserver extends GenericApiObserverResponse<RecipientRelatedDataApiResponse>
{
private class RecipientRelatedDataObserver extends GenericApiObserverResponse<RecipientRelatedDataApiResponse> {
@Override
protected void onSuccess(RecipientRelatedDataApiResponse recipientRelatedDataApiResponse) {
if(recipientRelatedDataApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2))
{
if (recipientRelatedDataApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.showRelatedData(recipientRelatedDataApiResponse.getData());
}
else
{
view.showPopUpMessage(recipientRelatedDataApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED,null);
} else {
view.showPopUpMessage(recipientRelatedDataApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED,null);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET,null);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null);
}
}

7
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2PresenterInterface.java

@ -2,7 +2,12 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface;
import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel;
import java.util.List;
@ -10,6 +15,8 @@ public interface RecipientV2PresenterInterface extends BasePresenterInterface {
void getAllData();
void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry, ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict, String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer);
interface RecipientV2ContractInterface extends BaseContractInterface
{
void showRelatedData(RecipientRelatedModel data);

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientCountryListingDialog.java

@ -73,7 +73,7 @@ public class RecipientCountryListingDialog extends DialogFragment implements Vie
this.listener = listener;
}
public void setCountryPaymentData(List<CountryDetailModel> data) {
public void setCountryData(List<CountryDetailModel> data) {
if (data != null) {
this.data = data;
}
@ -147,7 +147,7 @@ public class RecipientCountryListingDialog extends DialogFragment implements Vie
if (s.length() > 0) {
List<CountryDetailModel> searchedData = new ArrayList<>();
for (CountryDetailModel item : data) {
if (item.getId().toLowerCase().contains(s.toLowerCase())) {
if (item.getName().toLowerCase().contains(s.toLowerCase())) {
searchedData.add(item);
}
}

189
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientDistrictListingDialog.java

@ -0,0 +1,189 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.view;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration;
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientDistrictListingRvAdapter;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import java.util.ArrayList;
import java.util.List;
public class RecipientDistrictListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
private List<DistrictDetailModel> data;
private DistrictSelectionListener listener;
private RecyclerView provinceRv;
private View cancelButton;
private EditText noProvinceFoundView;
private EditText searchEditTextView;
private RecipientDistrictListingRvAdapter districtListingRvAdapter;
private Window window;
private boolean windowHieghtNotFixed=true;
private TextView dialogTitle;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null);
provinceRv = view.findViewById(R.id.countryListRv);
noProvinceFoundView = view.findViewById(R.id.noCountryFoundTextView);
dialogTitle = view.findViewById(R.id.dialog_title_txt);
cancelButton = view.findViewById(R.id.iv_cancel);
searchEditTextView = view.findViewById(R.id.searchEditText);
builder.setView(view);
Dialog dialog = builder.create();
try {
this.window = dialog.getWindow();
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white);
} catch (NullPointerException e) {
}
initialize();
return dialog;
}
private void initialize() {
cancelButton.setOnClickListener(this);
searchEditTextView.addTextChangedListener(this);
districtListingRvAdapter = new RecipientDistrictListingRvAdapter(this.listener);
districtListingRvAdapter.setData(this.data);
provinceRv.setAdapter(districtListingRvAdapter);
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST);
provinceRv.addItemDecoration(lineDividerItemDecoration);
noProvinceFoundView.setText("No District found.");
dialogTitle.setText("Select District");
}
public void setListener(DistrictSelectionListener listener) {
this.listener = listener;
}
public void setDistrictData(List<DistrictDetailModel> data) {
if (data != null&&data.size()>0) {
this.data = data;
}
}
@Override
public void onStart() {
super.onStart();
if(windowHieghtNotFixed&&window!=null)
{
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(window.getAttributes());
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
float multi = getActivity().getResources().getDisplayMetrics().density;
lp.verticalMargin=10*multi;
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
window.setAttributes(lp);
windowHieghtNotFixed=false;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_cancel:
cancelButton.setOnClickListener(null);
hideKeyboard();
dismiss();
break;
}
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
cancelButton.setOnClickListener(null);
searchEditTextView.removeTextChangedListener(this);
}
private void showCountryNotFoundView(boolean action) {
if (action) {
int rvHeight = provinceRv.getHeight();
noProvinceFoundView.setHeight(rvHeight);
provinceRv.setVisibility(View.INVISIBLE);
noProvinceFoundView.setVisibility(View.VISIBLE);
} else {
noProvinceFoundView.setVisibility(View.INVISIBLE);
provinceRv.setVisibility(View.VISIBLE);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (districtListingRvAdapter != null) {
searchForDistrict(s.toString());
}
}
private void searchForDistrict(String s) {
if (this.data != null) {
if (s.length() > 0) {
List<DistrictDetailModel> searchedData = new ArrayList<>();
for (DistrictDetailModel item : data) {
if (item.getText().toLowerCase().contains(s.toLowerCase())) {
searchedData.add(item);
}
}
if (searchedData.size() > 0)
showCountryNotFoundView(false);
else
showCountryNotFoundView(true);
districtListingRvAdapter.setData(searchedData);
} else
districtListingRvAdapter.setData(this.data);
}
}
public void hideKeyboard() {
// Check if no view has focus:
try {
View view = getActivity().getCurrentFocus();
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
catch(Exception ex)
{
}
}
public interface DistrictSelectionListener {
void onDistrictSelected(DistrictDetailModel countryPaymentService);
}
}

16
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientProvinceListingDialog.java

@ -14,11 +14,11 @@ import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration;
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientProvinceListingRvAdapter;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel;
import java.util.ArrayList;
@ -35,6 +35,7 @@ public class RecipientProvinceListingDialog extends DialogFragment implements Vi
private RecipientProvinceListingRvAdapter provinceListingRvAdapter;
private Window window;
private boolean windowHieghtNotFixed=true;
private TextView dialogTitle;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
@ -44,13 +45,14 @@ public class RecipientProvinceListingDialog extends DialogFragment implements Vi
noProvinceFoundView = view.findViewById(R.id.noCountryFoundTextView);
cancelButton = view.findViewById(R.id.iv_cancel);
searchEditTextView = view.findViewById(R.id.searchEditText);
dialogTitle = view.findViewById(R.id.dialog_title_txt);
builder.setView(view);
Dialog dialog = builder.create();
try {
this.window = dialog.getWindow();
window.setBackgroundDrawableResource(R.drawable.ic_rounded_country_listing_gray);
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white);
} catch (NullPointerException e) {
@ -68,6 +70,8 @@ public class RecipientProvinceListingDialog extends DialogFragment implements Vi
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST);
provinceRv.addItemDecoration(lineDividerItemDecoration);
noProvinceFoundView.setText("No Province found.");
dialogTitle.setText("Select District");
}
@ -75,7 +79,7 @@ public class RecipientProvinceListingDialog extends DialogFragment implements Vi
this.listener = listener;
}
public void setCountryPaymentData(List<ProvinceDetailModel> data) {
public void setProvinceData(List<ProvinceDetailModel> data) {
if (data != null&&data.size()>0) {
this.data = data;
}
@ -140,16 +144,16 @@ public class RecipientProvinceListingDialog extends DialogFragment implements Vi
@Override
public void afterTextChanged(Editable s) {
if (provinceListingRvAdapter != null) {
searchForCountry(s.toString());
searchForProvince(s.toString());
}
}
private void searchForCountry(String s) {
private void searchForProvince(String s) {
if (this.data != null) {
if (s.length() > 0) {
List<ProvinceDetailModel> searchedData = new ArrayList<>();
for (ProvinceDetailModel item : data) {
if (item.getId().toLowerCase().contains(s.toLowerCase())) {
if (item.getText().toLowerCase().contains(s.toLowerCase())) {
searchedData.add(item);
}
}

188
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientRelationListingDialog.java

@ -0,0 +1,188 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.view;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration;
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientRelationListingRvAdapter;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel;
import java.util.ArrayList;
import java.util.List;
public class RecipientRelationListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
private List<RelationDetailModel> data;
private RelationSelectionListener listener;
private RecyclerView provinceRv;
private View cancelButton;
private EditText noTransferFoundView;
private EditText searchEditTextView;
private RecipientRelationListingRvAdapter relationListingRvAdapter;
private Window window;
private boolean windowHieghtNotFixed=true;
private TextView dialogTitle;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null);
provinceRv = view.findViewById(R.id.countryListRv);
noTransferFoundView = view.findViewById(R.id.noCountryFoundTextView);
cancelButton = view.findViewById(R.id.iv_cancel);
searchEditTextView = view.findViewById(R.id.searchEditText);
dialogTitle = view.findViewById(R.id.dialog_title_txt);
builder.setView(view);
Dialog dialog = builder.create();
try {
this.window = dialog.getWindow();
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white);
} catch (NullPointerException e) {
}
initialize();
return dialog;
}
private void initialize() {
cancelButton.setOnClickListener(this);
searchEditTextView.addTextChangedListener(this);
relationListingRvAdapter = new RecipientRelationListingRvAdapter(this.listener);
relationListingRvAdapter.setData(this.data);
provinceRv.setAdapter(relationListingRvAdapter);
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST);
provinceRv.addItemDecoration(lineDividerItemDecoration);
noTransferFoundView.setText("No Relation found.");
dialogTitle.setText("Select Relation");
}
public void setListener(RelationSelectionListener listener) {
this.listener = listener;
}
public void setTransferReasonData(List<RelationDetailModel> data) {
if (data != null&&data.size()>0) {
this.data = data;
}
}
@Override
public void onStart() {
super.onStart();
if(windowHieghtNotFixed&&window!=null)
{
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(window.getAttributes());
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
float multi = getActivity().getResources().getDisplayMetrics().density;
lp.verticalMargin=10*multi;
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
window.setAttributes(lp);
windowHieghtNotFixed=false;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_cancel:
cancelButton.setOnClickListener(null);
hideKeyboard();
dismiss();
break;
}
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
cancelButton.setOnClickListener(null);
searchEditTextView.removeTextChangedListener(this);
}
private void showCountryNotFoundView(boolean action) {
if (action) {
int rvHeight = provinceRv.getHeight();
noTransferFoundView.setHeight(rvHeight);
provinceRv.setVisibility(View.INVISIBLE);
noTransferFoundView.setVisibility(View.VISIBLE);
} else {
noTransferFoundView.setVisibility(View.INVISIBLE);
provinceRv.setVisibility(View.VISIBLE);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (relationListingRvAdapter != null) {
searchForRelation(s.toString());
}
}
private void searchForRelation(String s) {
if (this.data != null) {
if (s.length() > 0) {
List<RelationDetailModel> searchedData = new ArrayList<>();
for (RelationDetailModel item : data) {
if (item.getText().toLowerCase().contains(s.toLowerCase())) {
searchedData.add(item);
}
}
if (searchedData.size() > 0)
showCountryNotFoundView(false);
else
showCountryNotFoundView(true);
relationListingRvAdapter.setData(searchedData);
} else
relationListingRvAdapter.setData(this.data);
}
}
public void hideKeyboard() {
// Check if no view has focus:
try {
View view = getActivity().getCurrentFocus();
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
catch(Exception ex)
{
}
}
public interface RelationSelectionListener {
void onRelationSelected(RelationDetailModel relationDetailModel);
}
}

189
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientTransferListingDialog.java

@ -0,0 +1,189 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.view;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration;
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientTransferListingRvAdapter;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel;
import java.util.ArrayList;
import java.util.List;
public class RecipientTransferListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
private List<TransferDetailModel> data;
private TransferReasonSelectionListener listener;
private RecyclerView provinceRv;
private View cancelButton;
private EditText noTransferFoundView;
private EditText searchEditTextView;
private RecipientTransferListingRvAdapter transferListingRvAdapter;
private Window window;
private boolean windowHieghtNotFixed=true;
private TextView dialogTitle;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null);
provinceRv = view.findViewById(R.id.countryListRv);
noTransferFoundView = view.findViewById(R.id.noCountryFoundTextView);
cancelButton = view.findViewById(R.id.iv_cancel);
searchEditTextView = view.findViewById(R.id.searchEditText);
dialogTitle = view.findViewById(R.id.dialog_title_txt);
builder.setView(view);
Dialog dialog = builder.create();
try {
this.window = dialog.getWindow();
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white);
} catch (NullPointerException e) {
}
initialize();
return dialog;
}
private void initialize() {
cancelButton.setOnClickListener(this);
searchEditTextView.addTextChangedListener(this);
transferListingRvAdapter = new RecipientTransferListingRvAdapter(this.listener);
transferListingRvAdapter.setData(this.data);
provinceRv.setAdapter(transferListingRvAdapter);
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST);
provinceRv.addItemDecoration(lineDividerItemDecoration);
noTransferFoundView.setText("No Transfer Reason found.");
dialogTitle.setText("Select Transfer Reason");
}
public void setListener(TransferReasonSelectionListener listener) {
this.listener = listener;
}
public void setTransferReasonData(List<TransferDetailModel> data) {
if (data != null&&data.size()>0) {
this.data = data;
}
}
@Override
public void onStart() {
super.onStart();
if(windowHieghtNotFixed&&window!=null)
{
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(window.getAttributes());
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
float multi = getActivity().getResources().getDisplayMetrics().density;
lp.verticalMargin=10*multi;
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
window.setAttributes(lp);
windowHieghtNotFixed=false;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_cancel:
cancelButton.setOnClickListener(null);
hideKeyboard();
dismiss();
break;
}
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
cancelButton.setOnClickListener(null);
searchEditTextView.removeTextChangedListener(this);
}
private void showCountryNotFoundView(boolean action) {
if (action) {
int rvHeight = provinceRv.getHeight();
noTransferFoundView.setHeight(rvHeight);
provinceRv.setVisibility(View.INVISIBLE);
noTransferFoundView.setVisibility(View.VISIBLE);
} else {
noTransferFoundView.setVisibility(View.INVISIBLE);
provinceRv.setVisibility(View.VISIBLE);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (transferListingRvAdapter != null) {
searchForCountry(s.toString());
}
}
private void searchForCountry(String s) {
if (this.data != null) {
if (s.length() > 0) {
List<TransferDetailModel> searchedData = new ArrayList<>();
for (TransferDetailModel item : data) {
if (item.getText().toLowerCase().contains(s.toLowerCase())) {
searchedData.add(item);
}
}
if (searchedData.size() > 0)
showCountryNotFoundView(false);
else
showCountryNotFoundView(true);
transferListingRvAdapter.setData(searchedData);
} else
transferListingRvAdapter.setData(this.data);
}
}
public void hideKeyboard() {
// Check if no view has focus:
try {
View view = getActivity().getCurrentFocus();
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
catch(Exception ex)
{
}
}
public interface TransferReasonSelectionListener {
void onTransferReasonSelected(TransferDetailModel countryPaymentService);
}
}

179
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientV2Activity.java

@ -1,16 +1,16 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.view;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.agentsV2.presenter.AgentListV2Presenter;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel;
@ -24,7 +24,7 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class RecipientV2Activity extends BaseActivity implements View.OnClickListener, RecipientCountryListingDialog.CountrySelectionListener,RecipientV2PresenterInterface.RecipientV2ContractInterface, RecipientProvinceListingDialog.ProvinceSelectionListener {
public class RecipientV2Activity extends BaseActivity implements View.OnClickListener, RecipientCountryListingDialog.CountrySelectionListener, RecipientV2PresenterInterface.RecipientV2ContractInterface, RecipientProvinceListingDialog.ProvinceSelectionListener, RecipientDistrictListingDialog.DistrictSelectionListener, RecipientTransferListingDialog.TransferReasonSelectionListener, RecipientRelationListingDialog.RelationSelectionListener {
@BindView(R.id.iv_back)
@ -70,6 +70,11 @@ public class RecipientV2Activity extends BaseActivity implements View.OnClickLis
@BindView(R.id.transferViewContainer)
ViewGroup transferViewContainer;
@BindView(R.id.btn_submit)
Button submitButton;
private RecipientV2PresenterInterface presenterInterface;
private RecipientCountryListingDialog recipientCountryListingDialog;
private CountryDetailModel selectedCountry;
@ -78,6 +83,12 @@ public class RecipientV2Activity extends BaseActivity implements View.OnClickLis
private List<CountryDetailModel> countryList;
private List<RelationDetailModel> relationList;
private RecipientProvinceListingDialog provinceListingDialog;
private RecipientDistrictListingDialog districtListingDialog;
private DistrictDetailModel selectedDistrict;
private RecipientTransferListingDialog transferListingDialog;
private RecipientRelationListingDialog relationListingDialog;
private TransferDetailModel selectedTransferReason;
private RelationDetailModel seletedRelation;
/**
* ed_firstname
@ -125,12 +136,12 @@ public class RecipientV2Activity extends BaseActivity implements View.OnClickLis
private void init() {
iv_cancel.setVisibility(View.INVISIBLE);
presenterInterface=new RecipientV2Presenter(this);
presenterInterface = new RecipientV2Presenter(this);
}
private void performDefaultAction(Bundle savedInstanceState) {
toolbarTitle.setText("Contacts");
toolbarTitle.setText("Add Recipient");
//TODO modify this for reciepient CRUD
presenterInterface.getAllData();
}
@ -138,70 +149,106 @@ public class RecipientV2Activity extends BaseActivity implements View.OnClickLis
@Override
protected void onStart() {
super.onStart();
countryViewContainer.setOnClickListener(this);
provinceViewContainer.setOnClickListener(this);
districtViewContainer.setOnClickListener(this);
relationViewContainer.setOnClickListener(this);
transferViewContainer.setOnClickListener(this);
ed_country.setOnClickListener(this);
ed_province.setOnClickListener(this);
ed_district.setOnClickListener(this);
ed_relation.setOnClickListener(this);
ed_transfer.setOnClickListener(this);
iv_back.setOnClickListener(this);
submitButton.setOnClickListener(this);
}
@Override
protected void onStop() {
super.onStop();
countryViewContainer.setOnClickListener(null);
provinceViewContainer.setOnClickListener(null);
districtViewContainer.setOnClickListener(null);
relationViewContainer.setOnClickListener(null);
transferViewContainer.setOnClickListener(null);
ed_country.setOnClickListener(null);
ed_province.setOnClickListener(null);
ed_district.setOnClickListener(null);
ed_relation.setOnClickListener(null);
ed_transfer.setOnClickListener(null);
iv_back.setOnClickListener(null);
submitButton.setOnClickListener(null);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.countryViewContainer:
case R.id.ed_country:
showCountryListingInDialog();
break;
case R.id.provinceViewContainer:
case R.id.ed_province:
showProvinceListingInDialog();
break;
case R.id.districtViewContainer:
case R.id.ed_district:
showDistrictListingInDialog();
break;
case R.id.relationViewContainer:
case R.id.ed_relation:
showRelationListingInDialog();
break;
case R.id.transferViewContainer:
case R.id.ed_transfer:
showTransferListingInDialog();
break;
case R.id.iv_back:
onBackPressed();
break;
case R.id.btn_submit:
this.presenterInterface.addRecipient(ed_firstname.getText().toString(),
ed_middlename.getText().toString(),
ed_lastname.getText().toString(),
selectedCountry,
selectedProvince,
selectedDistrict,
ed_address.getText().toString(),
seletedRelation,
ed_mobile_no.getText().toString(),
ed_email.getText().toString(),
selectedTransferReason
);
break;
}
}
private void showTransferListingInDialog() {
if (transferListingDialog == null)
transferListingDialog = new RecipientTransferListingDialog();
transferListingDialog.setListener(this);
transferListingDialog.setTransferReasonData(this.transferReasonList);
transferListingDialog.show(getFragmentManager(), "RecipientCountryListingDialog");
}
private void showRelationListingInDialog() {
if (relationListingDialog == null)
relationListingDialog = new RecipientRelationListingDialog();
relationListingDialog.setListener(this);
relationListingDialog.setTransferReasonData(this.relationList);
relationListingDialog.show(getFragmentManager(), "RecipientCountryListingDialog");
}
private void showDistrictListingInDialog() {
if (districtListingDialog == null)
districtListingDialog = new RecipientDistrictListingDialog();
districtListingDialog.setListener(this);
if (this.selectedProvince != null) {
districtListingDialog.setDistrictData(this.selectedProvince.getDistrict());
districtListingDialog.show(getFragmentManager(), "RecipientProvinceListingDialog");
} else {
showToastMessage("Select a State/Province first.");
}
}
private void showProvinceListingInDialog() {
if(provinceListingDialog==null)
provinceListingDialog=new RecipientProvinceListingDialog();
if (provinceListingDialog == null)
provinceListingDialog = new RecipientProvinceListingDialog();
provinceListingDialog.setListener(this);
if(this.selectedCountry!=null) {
provinceListingDialog.setCountryPaymentData(this.selectedCountry.getProvinces());
provinceListingDialog.show(getFragmentManager(),"RecipientProvinceListingDialog");
}
else{
showToastMessage("Select a country first.");
if (this.selectedCountry != null) {
provinceListingDialog.setProvinceData(this.selectedCountry.getProvinces());
provinceListingDialog.show(getFragmentManager(), "RecipientProvinceListingDialog");
} else {
showToastMessage("Select a Country first.");
}
}
@ -209,38 +256,80 @@ public class RecipientV2Activity extends BaseActivity implements View.OnClickLis
if (recipientCountryListingDialog == null)
recipientCountryListingDialog = new RecipientCountryListingDialog();
recipientCountryListingDialog.setListener(this);
recipientCountryListingDialog.setCountryPaymentData(this.countryList);
recipientCountryListingDialog.show(getFragmentManager(),"RecipientCountryListingDialog");
recipientCountryListingDialog.setCountryData(this.countryList);
recipientCountryListingDialog.show(getFragmentManager(), "RecipientCountryListingDialog");
}
@Override
public void onCountrySelected(CountryDetailModel countryPaymentService) {
this.selectedCountry=countryPaymentService;
this.selectedCountry = countryPaymentService;
this.ed_country.setText(countryPaymentService.getName());
if(countryPaymentService.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING))
{
if (countryPaymentService.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) {
ed_province.setText("");
selectedProvince=null;
selectedProvince = null;
selectedDistrict=null;
provinceViewContainer.setVisibility(View.VISIBLE);
}
else
{
districtViewContainer.setVisibility(View.VISIBLE);
} else {
ed_province.setText("");
selectedProvince=null;
ed_district.setText("");
selectedProvince = null;
selectedDistrict=null;
provinceViewContainer.setVisibility(View.GONE);
districtViewContainer.setVisibility(View.GONE);
}
if (recipientCountryListingDialog != null) {
recipientCountryListingDialog.dismiss();
recipientCountryListingDialog=null;
}
}
@Override
public void showRelatedData(RecipientRelatedModel data) {
this.transferReasonList=data.getTransferReasons();
this.countryList=data.getCountry();
this.relationList=data.getRelations();
this.transferReasonList = data.getTransferReasons();
this.countryList = data.getCountry();
this.relationList = data.getRelations();
}
@Override
public void onProvinceSelected(ProvinceDetailModel provinceDetailModel) {
this.selectedProvince=provinceDetailModel;
this.selectedProvince = provinceDetailModel;
this.ed_province.setText(this.selectedProvince.getText());
if (provinceListingDialog != null) {
provinceListingDialog.dismiss();
provinceListingDialog=null;
}
}
@Override
public void onDistrictSelected(DistrictDetailModel districtDetailModel) {
this.selectedDistrict = districtDetailModel;
this.ed_district.setText(this.selectedDistrict.getText());
if (districtListingDialog != null) {
districtListingDialog.dismiss();
districtListingDialog=null;
}
}
@Override
public void onTransferReasonSelected(TransferDetailModel transferDetailModel) {
this.selectedTransferReason = transferDetailModel;
this.ed_transfer.setText(this.selectedTransferReason.getText());
if (transferListingDialog != null) {
transferListingDialog.dismiss();
transferListingDialog=null;
}
}
@Override
public void onRelationSelected(RelationDetailModel relationDetailModel) {
this.seletedRelation = relationDetailModel;
this.ed_relation.setText(this.seletedRelation.getText());
if (relationListingDialog != null) {
relationListingDialog.dismiss();
relationListingDialog=null;
}
}
}

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java

@ -121,5 +121,6 @@ public class API_URL {
public static final String EXCHANGE_RATE_SERVICE="mobile/countriesServices";
public static final String CALCULATE_EXCHANGE_RATE = "mobile/calculateDefExRate";
public static final String GET_ALL_RECIPIENT_INFO = "mobile/loadform/receiver";
}

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java

@ -33,6 +33,7 @@ import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.Dis
import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.Relation;
import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.States;
import com.gmeremit.online.gmeremittance_native.recipient.model.response_data.AllReceipientResponseData;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.reset_password.model.data.ResendCodeBodyRequest;
import com.gmeremit.online.gmeremittance_native.reset_password.model.data.ResetPasswordRequestBody;
import com.gmeremit.online.gmeremittance_native.reset_password.model.data.SecretAnswerRequestBody;
@ -528,4 +529,8 @@ public interface ApiEndpoints {
@Headers("Content-Type: application/json")
Observable<ExchangeCalculationApiResponse> calculateExchangeRateV2(@Header("Authorization") String token, @Body() JsonObject jsonObject);
@GET(API_URL.GET_ALL_RECIPIENT_INFO)
@Headers("Content-Type: application/json")
Observable<RecipientRelatedDataApiResponse> getRecipientRelatedDataV2(@Header("Authorization") String token);
}

34
app/src/main/res/layout/activity_recipient_v2.xml

@ -36,6 +36,8 @@
android:padding="10dp">
<android.support.design.widget.TextInputLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/firstnameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -50,6 +52,8 @@
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/middlenameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -64,6 +68,8 @@
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/lastnameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -78,6 +84,8 @@
</android.support.design.widget.TextInputLayout>
<FrameLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/countryViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -93,9 +101,10 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_country"
style="@style/editetxtsingleline"
android:enabled="true"
android:focusable="false"
android:clickable="false"
android:layout_width="match_parent"
android:singleLine="false"
android:layout_height="wrap_content"
/>
</android.support.design.widget.TextInputLayout>
@ -108,10 +117,14 @@
</FrameLayout>
<FrameLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/provinceViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone"
>
<android.support.design.widget.TextInputLayout
android:id="@+id/provinceWrapper"
@ -125,6 +138,8 @@
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:singleLine="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -138,10 +153,13 @@
</FrameLayout>
<FrameLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/districtViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone"
>
<android.support.design.widget.TextInputLayout
android:id="@+id/districtWrapper"
@ -155,6 +173,7 @@
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:singleLine="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -169,6 +188,8 @@
<android.support.design.widget.TextInputLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/addressWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -183,6 +204,8 @@
</android.support.design.widget.TextInputLayout>
<FrameLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/relationViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -200,6 +223,8 @@
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:singleLine="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -213,6 +238,8 @@
</FrameLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/mobileWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -228,6 +255,8 @@
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/emailWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -243,6 +272,8 @@
</android.support.design.widget.TextInputLayout>
<FrameLayout
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:id="@+id/transferViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -260,6 +291,7 @@
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:singleLine="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

3
app/src/main/res/layout/dialog_country_listing.xml

@ -9,6 +9,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/dialog_title_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Select Country"
@ -52,7 +53,7 @@
android:maxLength="20"
android:background="@null"
android:gravity="center_vertical"
android:hint="Search country here..."
android:hint="Search here..."
android:imeActionLabel="Done"
android:imeOptions="actionDone"
android:inputType="text"

12
app/src/main/res/layout/provincelist_item_view.xml

@ -2,9 +2,15 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/generalName"
android:layout_width="match_parent"
android:gravity="center_vertical|start"
android:textSize="14sp"
android:padding="8dp"
android:layout_height="wrap_content"/>
android:textSize="18sp"
android:paddingStart="8dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
tools:ignore="RtlSymmetry" />
Loading…
Cancel
Save