diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index f5e29137..96917eca 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/build.gradle b/app/build.gradle
index db4bd225..f812193b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,7 +26,7 @@ android {
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
ndk {
- abiFilters 'armeabi','x86'
+ abiFilters 'armeabi', 'x86'
}
def dateTime = new Date().format("MMM_dd_HH");
setProperty("archivesBaseName", "GME_" + dateTime + "_v" + versionCode + "(" + versionName + ")")
@@ -52,7 +52,7 @@ android {
shrinkResources false
}
- stag{
+ stag {
signingConfig signingConfigs.debug
buildConfigField 'String', 'BASE_URL', '"http://121.156.120.71:9091/api/v1/"'
buildConfigField 'String', 'BASE_URL_SOCIAL', '"http://10.1.1.171:8080/v1/"'
@@ -61,7 +61,7 @@ android {
shrinkResources false
}
- uat{
+ uat {
signingConfig signingConfigs.debug
buildConfigField 'String', 'BASE_URL', '"http://116.66.197.118:1235/api/v1/"'
buildConfigField 'String', 'BASE_URL_SOCIAL', '"http://10.1.1.171:8080/v1/"'
@@ -114,4 +114,3 @@ dependencies {
implementation 'org.greenrobot:eventbus:3.1.1'
}
apply plugin: 'com.google.gms.google-services'
-
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a499f014..0777c476 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.gmeremit.online.gmeremittance_native">
+
+
@@ -17,7 +19,6 @@
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
-
-
+
-
-
+
+ android:windowSoftInputMode="stateAlwaysHidden" />
-
-
+ android:windowSoftInputMode="stateAlwaysHidden">
+ android:windowSoftInputMode="stateHidden" />
+ android:theme="@style/AppTheme.NoActionBar" />
+ android:windowSoftInputMode="stateHidden" />
+ android:windowSoftInputMode="stateHidden" />
+ android:windowSoftInputMode="stateHidden" />
+ android:windowSoftInputMode="stateAlwaysHidden" />
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/adapter/AgentListV2RvAdapter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/adapter/AgentListV2RvAdapter.java
new file mode 100644
index 00000000..58496832
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/adapter/AgentListV2RvAdapter.java
@@ -0,0 +1,68 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.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.agentsV2.model.AgentInfoModel;
+import com.gmeremit.online.gmeremittance_native.agentsV2.view.AgentListV2ItemViewHolder;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AgentListV2RvAdapter extends RecyclerView.Adapter {
+
+ AgentV2ActionListener agentV2ActionListener;
+
+ List data;
+
+ public AgentListV2RvAdapter(AgentV2ActionListener agentV2ActionListener) {
+ this.agentV2ActionListener = agentV2ActionListener;
+ this.data=new ArrayList<>();
+ }
+
+ @Override
+ public AgentListV2ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.agent_info_item_view, parent, false);
+ return new AgentListV2ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(AgentListV2ItemViewHolder holder, int position) {
+ AgentInfoModel agentInfoModel=data.get(holder.getAdapterPosition()) ;
+ holder.setHeader(agentInfoModel.getTitle());
+ holder.setLabel1(agentInfoModel.getAddress());
+ holder.setLabel2(agentInfoModel.getLanguage());
+ holder.setContact(agentInfoModel.getContactNumber());
+ holder.getAgent_info_txt_label_contact().setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(agentV2ActionListener!=null)
+ agentV2ActionListener.onContactViewClicked(data.get(holder.getAdapterPosition()).getContactNumber());
+ }
+ });
+ }
+
+ public void setData(List data)
+ {
+ if(data!=null&&data.size()>0)
+ {
+ this.data=data;
+ notifyDataSetChanged();
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return data.size();
+ }
+
+ public interface AgentV2ActionListener
+ {
+ void onContactViewClicked(String contactNumber);
+
+ void onShowOnMapClicked();
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/gateway/AgentListV2Gateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/gateway/AgentListV2Gateway.java
new file mode 100644
index 00000000..29b12f9b
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/gateway/AgentListV2Gateway.java
@@ -0,0 +1,74 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.gateway;
+
+import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentsListApiResponse;
+import com.gmeremit.online.gmeremittance_native.agentsV2.presenter.AgentListV2InteractorInterface;
+import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentServiceSeedValueApiResponse;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentServiceSeedValueModel;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.PaymentServiceApiResponse;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.presenter.ExchangeRateV2InteractorInterface;
+import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+
+import java.util.List;
+
+import io.reactivex.Observable;
+
+public class AgentListV2Gateway extends PrivilegedGateway implements AgentListV2InteractorInterface.AgentListV2GatewayInterface {
+
+ private final AgentListV2InteractorInterface interactor;
+
+ private String agentListMocked="{\n" +
+ " \"ErrorCode\": \"0\",\n" +
+ " \"Msg\": \"success\",\n" +
+ " \"Id\": \"\",\n" +
+ " \"Data\": [\n" +
+ " {\n" +
+ " \"title\": \"Head Office\",\n" +
+ " \"address\": \"325, Jong-ro, Jongno-gu, 03104 Seoul\",\n" +
+ " \"contactNumber\": \"15886864\",\n" +
+ " \"language\": \"Korean Language Support\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"title\": \"Dongdaemun Branch\",\n" +
+ " \"address\": \"315, Jong-ro, Jongno-gu, 03105 Seoul (Near Dongdaemun Station Gate 3)\",\n" +
+ " \"contactNumber\": \"027635559\",\n" +
+ " \"language\": \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"title\": \"Ansan Branch\",\n" +
+ " \"address\": \"Ansan-si, Gyeonggido Dan-Wongu, Wongogdong Jung-Angdaero 445 (798-12 beonji) 2nd floor\",\n" +
+ " \"contactNumber\": \"0313626740\",\n" +
+ " \"language\": \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"title\": \"Gimhae Branch\",\n" +
+ " \"address\": \"84, Garak-ro, Gimhae-si, Gyeongsangnam-do\",\n" +
+ " \"contactNumber\": \"0313626740\",\n" +
+ " \"language\": \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"title\": \"Songu-ri Branch\",\n" +
+ " \"address\": \"91, Solmoru-ro, Soheul-eup, Pocheon-si, Gyeonggi-do, Korea 11175 (Across from K-Mart)\",\n" +
+ " \"contactNumber\": \"0315411856\",\n" +
+ " \"language\": \"\"\n" +
+ " }\n" +
+ " ]\n" +
+ "}";
+
+ public AgentListV2Gateway(AgentListV2InteractorInterface agentListV2InteractorInterface) {
+ this.interactor=agentListV2InteractorInterface;
+ }
+
+
+ @Override
+ public Observable getAgentInfoListFromNetwork(String auth) {
+ Gson gson=new GsonBuilder().create();
+ AgentsListApiResponse agentsListApiResponse=gson.fromJson(agentListMocked,AgentsListApiResponse.class);
+
+ return Observable.just(agentsListApiResponse);
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/model/AgentInfoModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/model/AgentInfoModel.java
new file mode 100644
index 00000000..e3980e83
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/model/AgentInfoModel.java
@@ -0,0 +1,55 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.model;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class AgentInfoModel {
+
+ @SerializedName("title")
+ @Expose
+ private String title;
+
+ @SerializedName("address")
+ @Expose
+ private String address;
+
+ @SerializedName("contactNumber")
+ @Expose
+ private String contactNumber;
+
+ @SerializedName("language")
+ @Expose
+ private String language;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getContactNumber() {
+ return contactNumber;
+ }
+
+ public void setContactNumber(String contactNumber) {
+ this.contactNumber = contactNumber;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/model/AgentsListApiResponse.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/model/AgentsListApiResponse.java
new file mode 100644
index 00000000..85ceb24e
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/model/AgentsListApiResponse.java
@@ -0,0 +1,55 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.model;
+
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationModel;
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class AgentsListApiResponse {
+
+ @SerializedName("ErrorCode")
+ @Expose
+ private String errorCode;
+ @SerializedName("Msg")
+ @Expose
+ private String msg;
+ @SerializedName("Id")
+ @Expose
+ private String id;
+ @SerializedName("Data")
+ @Expose
+ private List 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 List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2InteractorInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2InteractorInterface.java
new file mode 100644
index 00000000..fdc6d854
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2InteractorInterface.java
@@ -0,0 +1,18 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.presenter;
+
+import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentsListApiResponse;
+import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface;
+import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface;
+
+import io.reactivex.Observable;
+
+public interface AgentListV2InteractorInterface extends BaseInteractorInterface {
+
+
+ interface AgentListV2GatewayInterface extends PrivilegedGatewayInterface
+ {
+
+ Observable getAgentInfoListFromNetwork(String auth);
+
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2Presenter.java
new file mode 100644
index 00000000..a17f778e
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2Presenter.java
@@ -0,0 +1,68 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.presenter;
+
+import com.gmeremit.online.gmeremittance_native.agentsV2.gateway.AgentListV2Gateway;
+import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentsListApiResponse;
+import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
+import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
+import com.gmeremit.online.gmeremittance_native.utils.Constants;
+import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.schedulers.Schedulers;
+
+public class AgentListV2Presenter extends BasePresenter implements AgentListV2PresenterInterface, AgentListV2InteractorInterface {
+
+ AgentListV2ContractInterface view;
+ AgentListV2GatewayInterface gateway;
+ CompositeDisposable compositeDisposable;
+
+ public AgentListV2Presenter(AgentListV2ContractInterface view) {
+ this.view = view;
+ this.gateway = new AgentListV2Gateway(this);
+ this.compositeDisposable = new CompositeDisposable();
+ }
+
+ @Override
+ public void getAllData() {
+ compositeDisposable.add(
+ this.gateway.getAgentInfoListFromNetwork(gateway.getAuth())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribeWith(new AgentListObserver())
+ );
+ }
+
+ @Override
+ public void onViewDestroyed() {
+ super.onViewDestroyed();
+ if (compositeDisposable != null && !compositeDisposable.isDisposed())
+ compositeDisposable.dispose();
+ }
+
+ public class AgentListObserver extends GenericApiObserverResponse {
+
+ @Override
+ protected void onSuccess(AgentsListApiResponse agentList) {
+ if(agentList.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2))
+ {
+ view.showAgentListToUser(agentList.getData());
+ }
+ else
+ {
+ view.showPopUpMessage(agentList.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);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2PresenterInterface.java
new file mode 100644
index 00000000..fe99ce0b
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/presenter/AgentListV2PresenterInterface.java
@@ -0,0 +1,19 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.presenter;
+
+import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentInfoModel;
+import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface;
+import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentService;
+import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.PaymentMode;
+
+import java.util.List;
+
+public interface AgentListV2PresenterInterface extends BasePresenterInterface {
+
+ void getAllData();
+
+ interface AgentListV2ContractInterface extends BaseContractInterface
+ {
+ void showAgentListToUser(List agentList);
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2Activity.java
new file mode 100644
index 00000000..4d3b040b
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2Activity.java
@@ -0,0 +1,105 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.view;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+import com.gmeremit.online.gmeremittance_native.R;
+import com.gmeremit.online.gmeremittance_native.agentsV2.adapter.AgentListV2RvAdapter;
+import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentInfoModel;
+import com.gmeremit.online.gmeremittance_native.agentsV2.presenter.AgentListV2Presenter;
+import com.gmeremit.online.gmeremittance_native.agentsV2.presenter.AgentListV2PresenterInterface;
+import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
+import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
+
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class AgentListV2Activity extends BaseActivity implements AgentListV2RvAdapter.AgentV2ActionListener, View.OnClickListener, AgentListV2PresenterInterface.AgentListV2ContractInterface {
+
+ @BindView(R.id.agentListRv)
+ RecyclerView agentListRv;
+
+
+ @BindView(R.id.iv_back)
+ View iv_back;
+
+ @BindView(R.id.iv_cancel)
+ View iv_cancel;
+
+ @BindView(R.id.toolbar_title)
+ GmeTextView toolbarTitle;
+ private AgentListV2RvAdapter agentListAdapter;
+ private AgentListV2PresenterInterface presenter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_agent_list_v2);
+ ButterKnife.bind(this);
+ init();
+ performDefaultAction(savedInstanceState);
+ }
+
+
+ private void init() {
+ iv_cancel.setVisibility(View.INVISIBLE);
+ setupRv();
+ this.presenter = new AgentListV2Presenter(this);
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ iv_back.setOnClickListener(this);
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ iv_back.setOnClickListener(null);
+ }
+
+ private void setupRv() {
+ agentListAdapter = new AgentListV2RvAdapter(this);
+ agentListRv.setAdapter(agentListAdapter);
+ }
+
+ private void performDefaultAction(Bundle savedInstanceState) {
+ toolbarTitle.setText("Contacts");
+ this.presenter.getAllData();
+
+ }
+
+ @Override
+ public void onContactViewClicked(String contactNumber) {
+ Intent intent = new Intent(Intent.ACTION_DIAL);
+ // Send phone number to intent as data
+ intent.setData(Uri.parse("tel:" + contactNumber));
+ // Start the dialer app activity with number
+ startActivity(intent);
+ }
+
+ @Override
+ public void onShowOnMapClicked() {
+
+ }
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.iv_back:
+ onBackPressed();
+ break;
+ }
+ }
+
+ @Override
+ public void showAgentListToUser(List agentList) {
+ this.agentListAdapter.setData(agentList);
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2ItemViewHolder.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2ItemViewHolder.java
new file mode 100644
index 00000000..bd3b4031
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/agentsV2/view/AgentListV2ItemViewHolder.java
@@ -0,0 +1,75 @@
+package com.gmeremit.online.gmeremittance_native.agentsV2.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 AgentListV2ItemViewHolder extends RecyclerView.ViewHolder {
+
+ @BindView(R.id.agent_info_txt_header)
+ TextView agent_info_txt_header;
+
+
+ @BindView(R.id.agent_info_txt_label_1)
+ TextView agent_info_txt_label_1;
+
+
+ @BindView(R.id.agent_info_txt_label_2)
+ TextView agent_info_txt_label_2;
+
+
+ @BindView(R.id.agent_info_txt_label_contact)
+ TextView agent_info_txt_label_contact;
+
+
+ @BindView(R.id.agent_info_txt_label_map)
+ TextView agent_info_txt_label_map;
+
+ @BindView(R.id.agent_info_txt_label_contact_container)
+ View agent_info_txt_label_contact_container;
+
+
+ @BindView(R.id.agent_info_txt_label_map_container)
+ View agent_info_txt_label_map_container;
+
+
+ public AgentListV2ItemViewHolder(View itemView) {
+ super(itemView);
+ ButterKnife.bind(this, itemView);
+ }
+
+ public void setHeader(String header)
+ {
+ this.agent_info_txt_header.setText(header);
+ }
+
+ public void setLabel1(String label1)
+ {
+ this.agent_info_txt_label_1.setText(label1);
+ }
+ public void setLabel2(String label2)
+ {
+
+ if(label2==null||label2.length()<1)
+ agent_info_txt_label_2.setVisibility(View.GONE);
+ else
+ this.agent_info_txt_label_2.setText(label2);
+ }
+ public void setContact (String contact)
+ {
+ this.agent_info_txt_label_contact.setText(contact);
+ }
+
+ public View getAgent_info_txt_label_contact() {
+ return agent_info_txt_label_contact_container;
+ }
+
+ public View getAgent_info_txt_label_map() {
+ return agent_info_txt_label_map_container;
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryFlagMapper.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryFlagMapper.java
similarity index 93%
rename from app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryFlagMapper.java
rename to app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryFlagMapper.java
index a372b748..60ecbf7e 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryFlagMapper.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryFlagMapper.java
@@ -1,4 +1,4 @@
-package com.gmeremit.online.gmeremittance_native.customwidgets.countrylistingdialog;
+package com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog;
import com.gmeremit.online.gmeremittance_native.R;
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListRvViewHolder.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryListRvViewHolder.java
similarity index 87%
rename from app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListRvViewHolder.java
rename to app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryListRvViewHolder.java
index 0b320f96..9f9e46c4 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListRvViewHolder.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryListRvViewHolder.java
@@ -1,7 +1,6 @@
-package com.gmeremit.online.gmeremittance_native.customwidgets.countrylistingdialog;
+package com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog;
import android.support.v7.widget.RecyclerView;
-import android.view.TextureView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListingRvAdapter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryListingRvAdapter.java
similarity index 83%
rename from app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListingRvAdapter.java
rename to app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryListingRvAdapter.java
index 57f2f1ef..c4eb1541 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListingRvAdapter.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/CountryListingRvAdapter.java
@@ -1,4 +1,4 @@
-package com.gmeremit.online.gmeremittance_native.customwidgets.countrylistingdialog;
+package com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
@@ -7,17 +7,16 @@ import android.view.ViewGroup;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentService;
-import com.gmeremit.online.gmeremittance_native.exchange_rate.view.PaymentModeViewHolder;
import java.util.ArrayList;
import java.util.List;
public class CountryListingRvAdapter extends RecyclerView.Adapter {
- private final CountryListingDialog.CountrySelectionListener listener;
+ private final ExchangeRateCountryListingDialog.CountrySelectionListener listener;
private List data;
- public CountryListingRvAdapter(CountryListingDialog.CountrySelectionListener listener) {
+ public CountryListingRvAdapter(ExchangeRateCountryListingDialog.CountrySelectionListener listener) {
this.data=new ArrayList<>();
this.listener=listener;
}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListingDialog.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/ExchangeRateCountryListingDialog.java
similarity index 96%
rename from app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListingDialog.java
rename to app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/ExchangeRateCountryListingDialog.java
index aef2cdb5..91a1ce9c 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/countrylistingdialog/CountryListingDialog.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/exchangecountrylistingdialog/ExchangeRateCountryListingDialog.java
@@ -1,4 +1,4 @@
-package com.gmeremit.online.gmeremittance_native.customwidgets.countrylistingdialog;
+package com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog;
import android.app.Dialog;
import android.app.DialogFragment;
@@ -22,7 +22,7 @@ import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.Count
import java.util.ArrayList;
import java.util.List;
-public class CountryListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
+public class ExchangeRateCountryListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher {
private List data;
private CountrySelectionListener listener;
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java
index c0d95e52..b44e4dc4 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java
@@ -70,7 +70,8 @@ public class ExchangeRateV2Presenter extends BasePresenter implements ExchangeRa
@Override
public void onViewDestroyed() {
super.onViewDestroyed();
- compositeDisposables.dispose();
+ if (compositeDisposables != null && !compositeDisposables.isDisposed())
+ compositeDisposables.dispose();
}
private boolean validateAmount(String amount) {
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/view/ExchangeMethodV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/view/ExchangeMethodV2Activity.java
index 7bf1018d..6ad1b015 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/view/ExchangeMethodV2Activity.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/view/ExchangeMethodV2Activity.java
@@ -1,19 +1,14 @@
package com.gmeremit.online.gmeremittance_native.exchange_rate.view;
-import android.animation.AnimatorSet;
-import android.animation.ObjectAnimator;
import android.os.Bundle;
-import android.os.Handler;
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
-import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateDecelerateInterpolator;
-import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.widget.Button;
import android.widget.EditText;
@@ -23,23 +18,20 @@ import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
-import com.gmeremit.online.gmeremittance_native.customwidgets.countrylistingdialog.CountryFlagMapper;
-import com.gmeremit.online.gmeremittance_native.customwidgets.countrylistingdialog.CountryListingDialog;
+import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper;
+import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.ExchangeRateCountryListingDialog;
import com.gmeremit.online.gmeremittance_native.exchange_rate.adapter.PaymentModeRvAdapter;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentService;
-import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.CountryPaymentServiceSeedValueModel;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.PaymentMode;
import com.gmeremit.online.gmeremittance_native.exchange_rate.presenter.ExchangeRateV2Presenter;
import com.gmeremit.online.gmeremittance_native.exchange_rate.presenter.ExchangeRateV2PresenterInterface;
-import com.gmeremit.online.gmeremittance_native.utils.Constants;
-import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class ExchangeMethodV2Activity extends BaseActivity implements PaymentModeRvAdapter.OnPaymentModeSelectionListener, CountryListingDialog.CountrySelectionListener, View.OnClickListener, ExchangeRateV2PresenterInterface.ExchangeRateV2ContractInterface {
+public class ExchangeMethodV2Activity extends BaseActivity implements PaymentModeRvAdapter.OnPaymentModeSelectionListener, ExchangeRateCountryListingDialog.CountrySelectionListener, View.OnClickListener, ExchangeRateV2PresenterInterface.ExchangeRateV2ContractInterface {
@BindView(R.id.sendAmountEdTxt)
EditText sendMoneyEditText;
@@ -84,9 +76,8 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
private PaymentModeRvAdapter paymentModeRvAdapter;
private PaymentMode selectedPaymentMode;
- private List mockedData;
private List paymentServiceList;
- private CountryListingDialog countryListingDialog;
+ private ExchangeRateCountryListingDialog countryListingDialog;
private CountryPaymentService selectedCountryPaymentService;
private ExchangeRateV2PresenterInterface presenter;
private boolean shouldCaulatedByRecipient;
@@ -110,16 +101,16 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
setupRv();
iv_cancel.setVisibility(View.INVISIBLE);
- this.interpolator=new AccelerateDecelerateInterpolator();
+ this.interpolator = new AccelerateDecelerateInterpolator();
this.presenter = new ExchangeRateV2Presenter(this);
+ registerTextWatchers(true);
+
}
private void performDefaultAction(Bundle savedInstanceState) {
toolbarTitle.setText("Today's Rate");
this.presenter.getAllData();
-
-
}
@@ -141,7 +132,7 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
}
private void showCountryListinDialog() {
- countryListingDialog = new CountryListingDialog();
+ countryListingDialog = new ExchangeRateCountryListingDialog();
countryListingDialog.setCountryPaymentData(paymentServiceList);
countryListingDialog.setListener(this);
countryListingDialog.show(getFragmentManager(), "CountryListingDialog");
@@ -153,7 +144,6 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
countrySelectionSpinner.setOnClickListener(this);
exRateCalculateButton.setOnClickListener(this);
iv_back.setOnClickListener(this);
- registerTextWatchers(true);
}
@@ -165,7 +155,6 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
exRateCalculateButton.setOnClickListener(null);
iv_back.setOnClickListener(null);
- registerTextWatchers(false);
}
@@ -178,10 +167,10 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
public void onCountrySelected(CountryPaymentService countryPaymentService) {
this.selectedCountryPaymentService = countryPaymentService;
showSelectedRecipient(countryPaymentService.getCountryCode(), countryPaymentService.getCurrency());
- registerAvailableTextWatchersForEditText(recieveMoneyEditText,false);
+ registerAvailableTextWatchersForEditText(recieveMoneyEditText, false);
recieveMoneyEditText.setText("");
- shouldCaulatedByRecipient=false;
- registerAvailableTextWatchersForEditText(recieveMoneyEditText,true);
+ shouldCaulatedByRecipient = false;
+ registerAvailableTextWatchersForEditText(recieveMoneyEditText, true);
showPaymentService(true, countryPaymentService.getServiceAvailable());
if (this.countryListingDialog != null) {
this.countryListingDialog.hideKeyboard();
@@ -213,17 +202,24 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
}
}
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ registerTextWatchers(false);
+
+ }
+
@Override
public void showCountryServiceData(List countryPaymentServiceList, CountryPaymentService defaultCountryPaymentService, String seedValue) {
if (defaultCountryPaymentService != null) {
//Update some flag here for forexchange (i.e either recieve)
if (seedValue != null) {
- registerAvailableTextWatchersForEditText(this.sendMoneyEditText,false);
- registerAvailableTextWatchersForEditText(this.recieveMoneyEditText,false);
+ registerAvailableTextWatchersForEditText(this.sendMoneyEditText, false);
+ registerAvailableTextWatchersForEditText(this.recieveMoneyEditText, false);
this.recieveMoneyEditText.setText(seedValue);
- shouldCaulatedByRecipient=true;
- registerAvailableTextWatchersForEditText(this.sendMoneyEditText,true);
- registerAvailableTextWatchersForEditText(this.recieveMoneyEditText,true);
+ shouldCaulatedByRecipient = true;
+ registerAvailableTextWatchersForEditText(this.sendMoneyEditText, true);
+ registerAvailableTextWatchersForEditText(this.recieveMoneyEditText, true);
}
showSelectedRecipient(defaultCountryPaymentService.getCountryCode(), defaultCountryPaymentService.getCurrency());
showPaymentService(true, defaultCountryPaymentService.getServiceAvailable());
@@ -234,13 +230,13 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
} else {
//Update some flag here for forexchange (i.e either send)
if (seedValue != null) {
- registerAvailableTextWatchersForEditText(this.sendMoneyEditText,false);
- registerAvailableTextWatchersForEditText(this.recieveMoneyEditText,false);
+ registerAvailableTextWatchersForEditText(this.sendMoneyEditText, false);
+ registerAvailableTextWatchersForEditText(this.recieveMoneyEditText, false);
this.sendMoneyEditText.setText(seedValue);
- shouldCaulatedByRecipient=false;
+ shouldCaulatedByRecipient = false;
recieveMoneyEditText.setText("");
- registerAvailableTextWatchersForEditText(this.sendMoneyEditText,true);
- registerAvailableTextWatchersForEditText(this.recieveMoneyEditText,true);
+ registerAvailableTextWatchersForEditText(this.sendMoneyEditText, true);
+ registerAvailableTextWatchersForEditText(this.recieveMoneyEditText, true);
}
//We are taking first item as default as we don't have any default item enlisted
@@ -258,6 +254,11 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
private void registerTextWatchers(boolean action) {
if (action) {
+ if (sendAmountTextWatcher == null)
+ sendAmountTextWatcher = new SendAmountTextWatcher();
+ if (recepientAmountTextWatcher == null)
+ recepientAmountTextWatcher = new RecipientAmountTextWatcher();
+
sendMoneyEditText.addTextChangedListener(sendAmountTextWatcher);
recieveMoneyEditText.addTextChangedListener(recepientAmountTextWatcher);
} else {
@@ -269,13 +270,13 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
private void registerAvailableTextWatchersForEditText(EditText editText, boolean action) {
switch (editText.getId()) {
case R.id.sendAmountEdTxt:
- if(action)
+ if (action)
sendMoneyEditText.addTextChangedListener(sendAmountTextWatcher);
else
sendMoneyEditText.removeTextChangedListener(sendAmountTextWatcher);
break;
case R.id.receiveAmountEdTxt:
- if(action)
+ if (action)
recieveMoneyEditText.addTextChangedListener(recepientAmountTextWatcher);
else
recieveMoneyEditText.removeTextChangedListener(recepientAmountTextWatcher);
@@ -291,8 +292,10 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
@Override
public void updateExchangeRates(String recipientAmount, String sendAmount, String transferDisplay, String exRateDisplay) {
- registerAvailableTextWatchersForEditText(recieveMoneyEditText,false);
- registerAvailableTextWatchersForEditText(sendMoneyEditText,false);
+
+ registerAvailableTextWatchersForEditText(recieveMoneyEditText, false);
+ registerAvailableTextWatchersForEditText(sendMoneyEditText, false);
+
this.recieveMoneyEditText.setText(recipientAmount);
this.sendMoneyEditText.setText(sendAmount);
@@ -303,14 +306,14 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
this.exchangeRateTxtView.setVisibility(View.VISIBLE);
ViewCompat.animate(this.exchangeRateTxtView).translationY(0).setDuration(550).setInterpolator(this.interpolator).start();
- this.transferFeeTxtView.setVisibility(View.INVISIBLE);
+ this.transferFeeTxtView.setVisibility(View.INVISIBLE);
this.transferFeeTxtView.setText(transferDisplay);
this.transferFeeTxtView.setTranslationY(this.transferFeeTxtView.getHeight());
this.transferFeeTxtView.setVisibility(View.VISIBLE);
ViewCompat.animate(this.transferFeeTxtView).translationY(0).setDuration(550).setInterpolator(this.interpolator).start();
- registerAvailableTextWatchersForEditText(recieveMoneyEditText,true);
- registerAvailableTextWatchersForEditText(sendMoneyEditText,true);
+ registerAvailableTextWatchersForEditText(recieveMoneyEditText, true);
+ registerAvailableTextWatchersForEditText(sendMoneyEditText, true);
}
@@ -329,9 +332,9 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
@Override
public void afterTextChanged(Editable s) {
shouldCaulatedByRecipient = false;
- registerAvailableTextWatchersForEditText(recieveMoneyEditText,false);
+ registerAvailableTextWatchersForEditText(recieveMoneyEditText, false);
recieveMoneyEditText.setText("");
- registerAvailableTextWatchersForEditText(recieveMoneyEditText,true);
+ registerAvailableTextWatchersForEditText(recieveMoneyEditText, true);
}
}
@@ -350,9 +353,9 @@ public class ExchangeMethodV2Activity extends BaseActivity implements PaymentMod
@Override
public void afterTextChanged(Editable s) {
shouldCaulatedByRecipient = true;
- registerAvailableTextWatchersForEditText(sendMoneyEditText,false);
+ registerAvailableTextWatchersForEditText(sendMoneyEditText, false);
sendMoneyEditText.setText("");
- registerAvailableTextWatchersForEditText(sendMoneyEditText,true);
+ registerAvailableTextWatchersForEditText(sendMoneyEditText, true);
}
}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/home/view/HomeActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/home/view/HomeActivity.java
index fbe0ef07..2ed34c30 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/home/view/HomeActivity.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/home/view/HomeActivity.java
@@ -38,6 +38,8 @@ import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.gmeremit.online.gmeremittance_native.R;
+import com.gmeremit.online.gmeremittance_native.agentsV2.model.AgentsListApiResponse;
+import com.gmeremit.online.gmeremittance_native.agentsV2.view.AgentListV2Activity;
import com.gmeremit.online.gmeremittance_native.customer_support.view.CustomerSupportFragment;
import com.gmeremit.online.gmeremittance_native.home.HomeContract;
import com.gmeremit.online.gmeremittance_native.home.events.DrawerEvent;
@@ -429,7 +431,8 @@ public class HomeActivity extends AppCompatActivity implements HomeContract.Home
break;
case R.id.bottom_agent_layout:
bottomAgentLayout.setClickable(false);
- startActivity(new Intent(getApplicationContext(), PayoutMultipleLocationActivity.class));
+// startActivity(new Intent(getApplicationContext(), PayoutMultipleLocationActivity.class));
+ startActivity(new Intent(getApplicationContext(), AgentListV2Activity.class));
break;
case R.id.bottom_profile_layout:
bottomProfileLayout.setClickable(false);
diff --git a/app/src/main/res/layout/activity_agent_list_v2.xml b/app/src/main/res/layout/activity_agent_list_v2.xml
new file mode 100644
index 00000000..af831248
--- /dev/null
+++ b/app/src/main/res/layout/activity_agent_list_v2.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/agent_info_item_view.xml b/app/src/main/res/layout/agent_info_item_view.xml
new file mode 100644
index 00000000..29d01477
--- /dev/null
+++ b/app/src/main/res/layout/agent_info_item_view.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file