Browse Source

Province Listing Dialog added

master
preyearegmi 6 years ago
parent
commit
05d246a266
  1. 6
      app/src/main/AndroidManifest.xml
  2. 12
      app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2Activity.java
  3. 6
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BaseActivity.java
  4. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BaseContractInterface.java
  5. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/home/view/HomeActivity.java
  6. 62
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientCountryListingRvAdapter.java
  7. 59
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientProvinceListingRvAdapter.java
  8. 171
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientV2Gateway.java
  9. 65
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/CountryDetailModel.java
  10. 30
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/DistrictDetailModel.java
  11. 43
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/ProvinceDetailModel.java
  12. 55
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RecipientRelatedDataApiResponse.java
  13. 47
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RecipientRelatedModel.java
  14. 31
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RelationDetailModel.java
  15. 30
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/TransferDetailModel.java
  16. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2InteractorInterface.java
  17. 38
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2Presenter.java
  18. 3
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2PresenterInterface.java
  19. 38
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientCountryListRvViewHolder.java
  20. 184
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientCountryListingDialog.java
  21. 29
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientProvinceListRvViewHolder.java
  22. 186
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientProvinceListingDialog.java
  23. 233
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientV2Activity.java
  24. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/Constants.java
  25. 12
      app/src/main/res/layout/activity_recipient_v2.xml
  26. 10
      app/src/main/res/layout/provincelist_item_view.xml

6
app/src/main/AndroidManifest.xml

@ -471,7 +471,11 @@
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:name=".recipientV2.view.RecipientV2Activity"></activity>
<activity android:name=".recipientV2.view.RecipientV2Activity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden"
/>
</application>
</manifest>

12
app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2Activity.java

@ -52,6 +52,13 @@ public class AgentListV2Activity extends BaseActivity implements AgentListV2RvAd
this.presenter = new AgentListV2Presenter(this);
}
private void performDefaultAction(Bundle savedInstanceState) {
toolbarTitle.setText("Contacts");
this.presenter.getAllData();
}
@Override
protected void onStart() {
super.onStart();
@ -69,11 +76,6 @@ public class AgentListV2Activity extends BaseActivity implements AgentListV2RvAd
agentListRv.setAdapter(agentListAdapter);
}
private void performDefaultAction(Bundle savedInstanceState) {
toolbarTitle.setText("Contacts");
this.presenter.getAllData();
}
@Override
public void onContactViewClicked(String contactNumber) {

6
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BaseActivity.java

@ -7,6 +7,7 @@ import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomProgressDialog;
@ -55,6 +56,11 @@ public class BaseActivity extends AppCompatActivity implements BaseContractInter
}
@Override
public void showToastMessage(String message) {
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
}
@Override
public void exitView() {
finish();

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BaseContractInterface.java

@ -10,6 +10,8 @@ public interface BaseContractInterface {
void showPopUpMessage(String message, CustomAlertDialog.AlertType alertType,CustomAlertDialog.CustomDialogActionListener listener);
void showToastMessage(String message);
void exitView();
void showKeyBoard(View view);

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/home/view/HomeActivity.java

@ -51,6 +51,7 @@ import com.gmeremit.online.gmeremittance_native.invite.view.InviteActivity;
import com.gmeremit.online.gmeremittance_native.load_more.view.LoadMoreActivity;
import com.gmeremit.online.gmeremittance_native.payout_location.view.PayoutMultipleLocationActivity;
import com.gmeremit.online.gmeremittance_native.recipient.view.RecipientsListActivity;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientV2Activity;
import com.gmeremit.online.gmeremittance_native.settings.view.SettingsView;
import com.gmeremit.online.gmeremittance_native.splash_screen.view.SplashScreen;
import com.gmeremit.online.gmeremittance_native.static_pages.view.AboutGME;
@ -432,7 +433,8 @@ public class HomeActivity extends AppCompatActivity implements HomeContract.Home
case R.id.bottom_agent_layout:
bottomAgentLayout.setClickable(false);
// startActivity(new Intent(getApplicationContext(), PayoutMultipleLocationActivity.class));
startActivity(new Intent(getApplicationContext(), AgentListV2Activity.class));
// startActivity(new Intent(getApplicationContext(), AgentListV2Activity.class));
startActivity(new Intent(getApplicationContext(), RecipientV2Activity.class));
break;
case R.id.bottom_profile_layout:
bottomProfileLayout.setClickable(false);

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

@ -0,0 +1,62 @@
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.customwidgets.exchangecountrylistingdialog.CountryFlagMapper;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentService;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientCountryListRvViewHolder;
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientCountryListingDialog;
import java.util.ArrayList;
import java.util.List;
public class RecipientCountryListingRvAdapter extends RecyclerView.Adapter<RecipientCountryListRvViewHolder> {
private final RecipientCountryListingDialog.CountrySelectionListener listener;
private List<CountryDetailModel> data;
public RecipientCountryListingRvAdapter(RecipientCountryListingDialog.CountrySelectionListener listener) {
this.data=new ArrayList<>();
this.listener=listener;
}
@Override
public RecipientCountryListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.countrylist_item_view, parent, false);
return new RecipientCountryListRvViewHolder(view); }
@Override
public void onBindViewHolder(final RecipientCountryListRvViewHolder holder, int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(listener!=null)
listener.onCountrySelected(data.get(holder.getAdapterPosition()));
}
});
CountryDetailModel countryPaymentService= data.get(position);
holder.setFlagImage(CountryFlagMapper.getFlagFromCountryCode(countryPaymentService.getId()));
holder.setCountryName(countryPaymentService.getName());
}
@Override
public int getItemCount() {
return data.size();
}
public void setData(List<CountryDetailModel> data) {
if(data!=null)
{
this.data=data;
notifyDataSetChanged();
}
}
}

59
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientProvinceListingRvAdapter.java

@ -0,0 +1,59 @@
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.ProvinceDetailModel;
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 RecipientProvinceListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> {
private final RecipientProvinceListingDialog.ProvinceSelectionListener listener;
private List<ProvinceDetailModel> data;
public RecipientProvinceListingRvAdapter(RecipientProvinceListingDialog.ProvinceSelectionListener 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.onProvinceSelected(data.get(holder.getAdapterPosition()));
}
});
ProvinceDetailModel province= data.get(position);
holder.setName(province.getText());
}
@Override
public int getItemCount() {
return data.size();
}
public void setData(List<ProvinceDetailModel> data) {
if(data!=null)
{
this.data=data;
notifyDataSetChanged();
}
}
}

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

@ -1,6 +1,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.google.gson.Gson;
import com.google.gson.GsonBuilder;
@ -9,13 +10,179 @@ import io.reactivex.Observable;
public class RecipientV2Gateway extends PrivilegedGateway implements RecipientV2InteractorInterface.RecipientV2GatewayInterface {
private final RecipientV2InteractorInterface interactor;
String mockedData="{\n" +
"\"ErrorCode\": \"0\",\n" +
"\"Msg\": \"success\",\n" +
"\"Id\": \"\",\n" +
"\"Data\": {\n" +
"\"Country\": [\n" +
"{\n" +
"\"Name\": \"Vietnam\",\n" +
"\"Id\": \"203\",\n" +
"\"IsProvienceReq\": \"true\",\n" +
"\"Code\": \"VN\",\n" +
"\"Provinces\": [\n" +
"{\n" +
"\"id\": \"019\",\n" +
"\"text\": \"AN GIANG\",\n" +
"\"District\": [\n" +
"{\n" +
"\"id\": \"1200\",\n" +
"\"text\": \"sdfsf\"\n" +
"}\n" +
"]\n" +
"}\n" +
"]\n" +
"}\n" +
"],\n" +
"\"TransferReasons\": [\n" +
"{\n" +
"\"id\": \"10992\",\n" +
"\"text\": \"Lending\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8055\",\n" +
"\"text\": \"Business travel\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8056\",\n" +
"\"text\": \"Personal travels and tours\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8057\",\n" +
"\"text\": \"Educational expenses\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8058\",\n" +
"\"text\": \"Medical Expenses\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8059\",\n" +
"\"text\": \"Household expenses\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8060\",\n" +
"\"text\": \"Family maintenance\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8061\",\n" +
"\"text\": \"Savings\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8062\",\n" +
"\"text\": \"EMI payment to Bank and Nonbanking financial institutions\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8063\",\n" +
"\"text\": \"Loan payment / Interest\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8064\",\n" +
"\"text\": \"Salary / Commission\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8065\",\n" +
"\"text\": \"Utility payment\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8066\",\n" +
"\"text\": \"Purchase of land / property\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8067\",\n" +
"\"text\": \"Rent\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8068\",\n" +
"\"text\": \"Repair and maintenance\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8069\",\n" +
"\"text\": \"Commission\"\n" +
"}\n" +
"],\n" +
"\"Relations\": [\n" +
"{\n" +
"\"id\": \"10992\",\n" +
"\"text\": \"Lending\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8055\",\n" +
"\"text\": \"Business travel\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8056\",\n" +
"\"text\": \"Personal travels and tours\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8057\",\n" +
"\"text\": \"Educational expenses\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8058\",\n" +
"\"text\": \"Medical Expenses\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8059\",\n" +
"\"text\": \"Household expenses\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8060\",\n" +
"\"text\": \"Family maintenance\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8061\",\n" +
"\"text\": \"Savings\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8062\",\n" +
"\"text\": \"EMI payment to Bank and Nonbanking financial institutions\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8063\",\n" +
"\"text\": \"Loan payment / Interest\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8064\",\n" +
"\"text\": \"Salary / Commission\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8065\",\n" +
"\"text\": \"Utility payment\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8066\",\n" +
"\"text\": \"Purchase of land / property\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8067\",\n" +
"\"text\": \"Rent\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8068\",\n" +
"\"text\": \"Repair and maintenance\"\n" +
"},\n" +
"{\n" +
"\"id\": \"8069\",\n" +
"\"text\": \"Commission\"\n" +
"}\n" +
"]\n" +
"}\n" +
"}";
private final RecipientV2InteractorInterface interactor;
public RecipientV2Gateway(RecipientV2InteractorInterface agentListV2InteractorInterface) {
this.interactor=agentListV2InteractorInterface;
}
@Override
public Observable<RecipientRelatedDataApiResponse> getRelatedDataFromServer(String auth) {
RecipientRelatedDataApiResponse recipientRelatedDataApiResponse;
Gson gson=new GsonBuilder().create();
recipientRelatedDataApiResponse=gson.fromJson(mockedData,RecipientRelatedDataApiResponse.class);
return Observable.just(recipientRelatedDataApiResponse);
}
}

65
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/CountryDetailModel.java

@ -0,0 +1,65 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class CountryDetailModel {
@SerializedName("Name")
@Expose
private String name;
@SerializedName("Id")
@Expose
private String id;
@SerializedName("IsProvienceReq")
@Expose
private String isProvienceReq;
@SerializedName("Code")
@Expose
private String code;
@SerializedName("Provinces")
@Expose
private List<ProvinceDetailModel> provinces = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getIsProvienceReq() {
return isProvienceReq;
}
public void setIsProvienceReq(String isProvienceReq) {
this.isProvienceReq = isProvienceReq;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public List<ProvinceDetailModel> getProvinces() {
return provinces;
}
public void setProvinces(List<ProvinceDetailModel> provinces) {
this.provinces = provinces;
}
}

30
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/DistrictDetailModel.java

@ -0,0 +1,30 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class DistrictDetailModel {
@SerializedName("id")
@Expose
private String id;
@SerializedName("text")
@Expose
private String text;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}

43
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/ProvinceDetailModel.java

@ -0,0 +1,43 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class ProvinceDetailModel {
@SerializedName("id")
@Expose
private String id;
@SerializedName("text")
@Expose
private String text;
@SerializedName("District")
@Expose
private List<DistrictDetailModel> district = null;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public List<DistrictDetailModel> getDistrict() {
return district;
}
public void setDistrict(List<DistrictDetailModel> district) {
this.district = district;
}
}

55
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RecipientRelatedDataApiResponse.java

@ -0,0 +1,55 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentInfoModel;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class RecipientRelatedDataApiResponse {
@SerializedName("ErrorCode")
@Expose
private String errorCode;
@SerializedName("Msg")
@Expose
private String msg;
@SerializedName("Id")
@Expose
private String id;
@SerializedName("Data")
@Expose
private RecipientRelatedModel data;
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public RecipientRelatedModel getData() {
return data;
}
public void setData(RecipientRelatedModel data) {
this.data = data;
}
}

47
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RecipientRelatedModel.java

@ -0,0 +1,47 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class RecipientRelatedModel {
@SerializedName("Country")
@Expose
private List<CountryDetailModel> country = null;
@SerializedName("TransferReasons")
@Expose
private List<TransferDetailModel> transferReasons = null;
@SerializedName("Relations")
@Expose
private List<RelationDetailModel> relations = null;
public List<CountryDetailModel> getCountry() {
return country;
}
public void setCountry(List<CountryDetailModel> country) {
this.country = country;
}
public List<TransferDetailModel> getTransferReasons() {
return transferReasons;
}
public void setTransferReasons(List<TransferDetailModel> transferReasons) {
this.transferReasons = transferReasons;
}
public List<RelationDetailModel> getRelations() {
return relations;
}
public void setRelations(List<RelationDetailModel> relations) {
this.relations = relations;
}
}

31
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RelationDetailModel.java

@ -0,0 +1,31 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class RelationDetailModel {
@SerializedName("id")
@Expose
private String id;
@SerializedName("text")
@Expose
private String text;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}

30
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/TransferDetailModel.java

@ -0,0 +1,30 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class TransferDetailModel {
@SerializedName("id")
@Expose
private String id;
@SerializedName("text")
@Expose
private String text;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2InteractorInterface.java

@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import io.reactivex.Observable;
@ -10,7 +11,6 @@ public interface RecipientV2InteractorInterface extends BaseInteractorInterface
interface RecipientV2GatewayInterface extends PrivilegedGatewayInterface
{
Observable<RecipientRelatedDataApiResponse> getRelatedDataFromServer(String auth);
}
}

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

@ -3,6 +3,8 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.presenter;
import com.gmeremit.online.gmeremittance_native.agentsV2.gateway.AgentListV2Gateway;
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.RecipientRelatedDataApiResponse;
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;
@ -10,22 +12,32 @@ import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverRe
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
public class RecipientV2Presenter extends BasePresenter implements RecipientV2PresenterInterface, RecipientV2InteractorInterface {
private final RecipientV2ContractInterface view;
private final RecipientV2GatewayInterface gateway;
CompositeDisposable compositeDisposable;
public RecipientV2Presenter(RecipientV2ContractInterface view) {
this.view = view;
this.compositeDisposable = new CompositeDisposable();
this.gateway = new RecipientV2Gateway(this);
}
@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())
);
}
@ -36,6 +48,30 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
compositeDisposable.dispose();
}
private class RecipientRelatedDataObserver extends GenericApiObserverResponse<RecipientRelatedDataApiResponse>
{
@Override
protected void onSuccess(RecipientRelatedDataApiResponse recipientRelatedDataApiResponse) {
if(recipientRelatedDataApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2))
{
view.showRelatedData(recipientRelatedDataApiResponse.getData());
}
else
{
view.showPopUpMessage(recipientRelatedDataApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED,null);
}
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED,null);
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET,null);
}
}
}

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

@ -2,6 +2,7 @@ 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.RecipientRelatedModel;
import java.util.List;
@ -11,6 +12,6 @@ public interface RecipientV2PresenterInterface extends BasePresenterInterface {
interface RecipientV2ContractInterface extends BaseContractInterface
{
void showRelatedData(RecipientRelatedModel data);
}
}

38
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientCountryListRvViewHolder.java

@ -0,0 +1,38 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.view;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import butterknife.BindView;
import butterknife.ButterKnife;
public class RecipientCountryListRvViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.countryName)
TextView countryNameTxtView;
@BindView(R.id.countryFlagImageView)
ImageView countryImageView;
public RecipientCountryListRvViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
public void setFlagImage(int resId)
{
if(resId!=-1)
countryImageView.setBackgroundResource(resId);
}
public void setCountryName(String name)
{
if(name!=null)
countryNameTxtView.setText(name);
}
}

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

@ -0,0 +1,184 @@
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 com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration;
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientCountryListingRvAdapter;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import java.util.ArrayList;
import java.util.List;
public class RecipientCountryListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
private List<CountryDetailModel> data;
private CountrySelectionListener listener;
private RecyclerView countryListRv;
private View cancelButton;
private EditText noCountryFoundView;
private EditText searchEditTextView;
private RecipientCountryListingRvAdapter countryListingRvAdapter;
private Window window;
private boolean windowHieghtNotFixed=true;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null);
countryListRv = view.findViewById(R.id.countryListRv);
noCountryFoundView = view.findViewById(R.id.noCountryFoundTextView);
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_country_listing_gray);
} catch (NullPointerException e) {
}
initialize();
return dialog;
}
private void initialize() {
cancelButton.setOnClickListener(this);
searchEditTextView.addTextChangedListener(this);
countryListingRvAdapter = new RecipientCountryListingRvAdapter(this.listener);
countryListingRvAdapter.setData(this.data);
countryListRv.setAdapter(countryListingRvAdapter);
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST);
countryListRv.addItemDecoration(lineDividerItemDecoration);
}
public void setListener(CountrySelectionListener listener) {
this.listener = listener;
}
public void setCountryPaymentData(List<CountryDetailModel> data) {
if (data != null) {
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 = countryListRv.getHeight();
noCountryFoundView.setHeight(rvHeight);
countryListRv.setVisibility(View.INVISIBLE);
noCountryFoundView.setVisibility(View.VISIBLE);
} else {
noCountryFoundView.setVisibility(View.INVISIBLE);
countryListRv.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 (countryListingRvAdapter != null) {
searchForCountry(s.toString());
}
}
private void searchForCountry(String s) {
if (this.data != null) {
if (s.length() > 0) {
List<CountryDetailModel> searchedData = new ArrayList<>();
for (CountryDetailModel item : data) {
if (item.getId().toLowerCase().contains(s.toLowerCase())) {
searchedData.add(item);
}
}
if (searchedData.size() > 0)
showCountryNotFoundView(false);
else
showCountryNotFoundView(true);
countryListingRvAdapter.setData(searchedData);
} else
countryListingRvAdapter.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 CountrySelectionListener {
void onCountrySelected(CountryDetailModel countryPaymentService);
}
}

29
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientProvinceListRvViewHolder.java

@ -0,0 +1,29 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.view;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import butterknife.BindView;
import butterknife.ButterKnife;
public class RecipientProvinceListRvViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.generalName)
TextView generalName;
public RecipientProvinceListRvViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
public void setName(String name)
{
if(name!=null)
generalName.setText(name);
}
}

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

@ -0,0 +1,186 @@
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 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;
import java.util.List;
public class RecipientProvinceListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
private List<ProvinceDetailModel> data;
private ProvinceSelectionListener listener;
private RecyclerView provinceRv;
private View cancelButton;
private EditText noProvinceFoundView;
private EditText searchEditTextView;
private RecipientProvinceListingRvAdapter provinceListingRvAdapter;
private Window window;
private boolean windowHieghtNotFixed=true;
@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);
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_country_listing_gray);
} catch (NullPointerException e) {
}
initialize();
return dialog;
}
private void initialize() {
cancelButton.setOnClickListener(this);
searchEditTextView.addTextChangedListener(this);
provinceListingRvAdapter = new RecipientProvinceListingRvAdapter(this.listener);
provinceListingRvAdapter.setData(this.data);
provinceRv.setAdapter(provinceListingRvAdapter);
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST);
provinceRv.addItemDecoration(lineDividerItemDecoration);
noProvinceFoundView.setText("No Province found.");
}
public void setListener(ProvinceSelectionListener listener) {
this.listener = listener;
}
public void setCountryPaymentData(List<ProvinceDetailModel> 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 (provinceListingRvAdapter != null) {
searchForCountry(s.toString());
}
}
private void searchForCountry(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())) {
searchedData.add(item);
}
}
if (searchedData.size() > 0)
showCountryNotFoundView(false);
else
showCountryNotFoundView(true);
provinceListingRvAdapter.setData(searchedData);
} else
provinceListingRvAdapter.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 ProvinceSelectionListener {
void onProvinceSelected(ProvinceDetailModel countryPaymentService);
}
}

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

@ -2,14 +2,245 @@ 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.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.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 com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2Presenter;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.utils.Constants;
public class RecipientV2Activity extends AppCompatActivity {
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class RecipientV2Activity extends BaseActivity implements View.OnClickListener, RecipientCountryListingDialog.CountrySelectionListener,RecipientV2PresenterInterface.RecipientV2ContractInterface, RecipientProvinceListingDialog.ProvinceSelectionListener {
@BindView(R.id.iv_back)
View iv_back;
@BindView(R.id.iv_cancel)
View iv_cancel;
@BindView(R.id.toolbar_title)
GmeTextView toolbarTitle;
@BindView(R.id.ed_firstname)
EditText ed_firstname;
@BindView(R.id.ed_middlename)
EditText ed_middlename;
@BindView(R.id.ed_lastname)
EditText ed_lastname;
@BindView(R.id.ed_country)
EditText ed_country;
@BindView(R.id.ed_province)
EditText ed_province;
@BindView(R.id.ed_district)
EditText ed_district;
@BindView(R.id.ed_address)
EditText ed_address;
@BindView(R.id.ed_relation)
EditText ed_relation;
@BindView(R.id.ed_mobile_no)
EditText ed_mobile_no;
@BindView(R.id.ed_email)
EditText ed_email;
@BindView(R.id.ed_transfer)
EditText ed_transfer;
@BindView(R.id.countryViewContainer)
ViewGroup countryViewContainer;
@BindView(R.id.provinceViewContainer)
ViewGroup provinceViewContainer;
@BindView(R.id.districtViewContainer)
ViewGroup districtViewContainer;
@BindView(R.id.relationViewContainer)
ViewGroup relationViewContainer;
@BindView(R.id.transferViewContainer)
ViewGroup transferViewContainer;
private RecipientV2PresenterInterface presenterInterface;
private RecipientCountryListingDialog recipientCountryListingDialog;
private CountryDetailModel selectedCountry;
private ProvinceDetailModel selectedProvince;
private List<TransferDetailModel> transferReasonList;
private List<CountryDetailModel> countryList;
private List<RelationDetailModel> relationList;
private RecipientProvinceListingDialog provinceListingDialog;
/**
* ed_firstname
* ed_middlename
* ed_lastname
* ed_country
* ed_province
* ed_district
* ed_address
* ed_relation
* ed_mobile_no
* ed_email
* ed_transfer
* <p>
* <p>
* <p>
* firstnameWrapper
* middlenameWrapper
* lastnameWrapper
* countryWrapper
* provinceWrapper
* districtWrapper
* addressWrapper
* relationWrapper
* mobileWrapper
* emailWrapper
* transferWrapper
* <p>
* countryViewContainer
* provinceViewContainer
* districtViewContainer
* relationViewContainer
* transferViewContainer
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recipient_v2);
ButterKnife.bind(this);
init();
performDefaultAction(savedInstanceState);
}
private void init() {
iv_cancel.setVisibility(View.INVISIBLE);
presenterInterface=new RecipientV2Presenter(this);
}
private void performDefaultAction(Bundle savedInstanceState) {
toolbarTitle.setText("Contacts");
//TODO modify this for reciepient CRUD
presenterInterface.getAllData();
}
@Override
protected void onStart() {
super.onStart();
countryViewContainer.setOnClickListener(this);
provinceViewContainer.setOnClickListener(this);
districtViewContainer.setOnClickListener(this);
relationViewContainer.setOnClickListener(this);
transferViewContainer.setOnClickListener(this);
}
@Override
protected void onStop() {
super.onStop();
countryViewContainer.setOnClickListener(null);
provinceViewContainer.setOnClickListener(null);
districtViewContainer.setOnClickListener(null);
relationViewContainer.setOnClickListener(null);
transferViewContainer.setOnClickListener(null);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.countryViewContainer:
showCountryListingInDialog();
break;
case R.id.provinceViewContainer:
showProvinceListingInDialog();
break;
case R.id.districtViewContainer:
showDistrictListingInDialog();
break;
case R.id.relationViewContainer:
showRelationListingInDialog();
break;
case R.id.transferViewContainer:
showTransferListingInDialog();
break;
}
}
private void showTransferListingInDialog() {
}
private void showRelationListingInDialog() {
}
private void showDistrictListingInDialog() {
}
private void showProvinceListingInDialog() {
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.");
}
}
private void showCountryListingInDialog() {
if (recipientCountryListingDialog == null)
recipientCountryListingDialog = new RecipientCountryListingDialog();
recipientCountryListingDialog.setListener(this);
recipientCountryListingDialog.setCountryPaymentData(this.countryList);
recipientCountryListingDialog.show(getFragmentManager(),"RecipientCountryListingDialog");
}
@Override
public void onCountrySelected(CountryDetailModel countryPaymentService) {
this.selectedCountry=countryPaymentService;
this.ed_country.setText(countryPaymentService.getName());
if(countryPaymentService.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING))
{
ed_province.setText("");
selectedProvince=null;
provinceViewContainer.setVisibility(View.VISIBLE);
}
else
{
ed_province.setText("");
selectedProvince=null;
provinceViewContainer.setVisibility(View.GONE);
}
}
@Override
public void showRelatedData(RecipientRelatedModel data) {
this.transferReasonList=data.getTransferReasons();
this.countryList=data.getCountry();
this.relationList=data.getRelations();
}
@Override
public void onProvinceSelected(ProvinceDetailModel provinceDetailModel) {
this.selectedProvince=provinceDetailModel;
}
}

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

@ -132,6 +132,7 @@ public class Constants {
public static final String CALC_BY_SENDER = "c";
public static final String EXCHANGE_RATE_SENDER_DEFAULT_CURRENCY = "KRW";
public static final String SUCCESS_CODE_V2 = "0";
public static final String TRUE_STRING = "True";
// public static final String DEVICEID = "gme1234apps12sanam";
/* public static final String DEVICEID = "iakhycas"; new@test.com pw: test*/
// public static String key = Utils.toBase64("172017F9EC11222E8107142733:QRK2UM0Q:" + DEVICEID);

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

@ -93,6 +93,8 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_country"
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -121,6 +123,8 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_province"
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -149,6 +153,8 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_district"
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -177,7 +183,7 @@
</android.support.design.widget.TextInputLayout>
<FrameLayout
android:id="@+id/distViewContainer"
android:id="@+id/relationViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@ -192,6 +198,8 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_relation"
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
@ -250,6 +258,8 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:id="@+id/ed_transfer"
style="@style/editetxtsingleline"
android:focusable="false"
android:clickable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

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

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
xmlns:android="http://schemas.android.com/apk/res/android"
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"/>
Loading…
Cancel
Save