diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index b9bb9479..17180487 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 356ed9c2..c548c245 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -581,10 +581,11 @@
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden" />
-
+ android:windowSoftInputMode="stateAlwaysHidden">
\ No newline at end of file
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/AutoDebitAddSeriveAuthenticationServiceModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/AutoDebitAddSeriveAuthenticationServiceModel.java
new file mode 100644
index 00000000..739721be
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/AutoDebitAddSeriveAuthenticationServiceModel.java
@@ -0,0 +1,22 @@
+package com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class AutoDebitAddSeriveAuthenticationServiceModel {
+
+ @SerializedName("location")
+ @Expose
+ private String authenticatedUrl;
+
+ public AutoDebitAddSeriveAuthenticationServiceModel() {
+ }
+
+ public String getAuthenticatedUrl() {
+ return authenticatedUrl;
+ }
+
+ public void setAuthenticatedUrl(String authenticatedUrl) {
+ this.authenticatedUrl = authenticatedUrl;
+ }
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java
index d3ce5056..1e742d80 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java
@@ -59,12 +59,6 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
.subscribeWith(new AutoDebitAccountListingObserver())
);
-// //TODO mocked
-// AutoDebitModel t=this.gateway.getMockedData();
-// requiredHeader=t.getHeader();
-// postUrl=t.getURL();
-// availableLanguages=t.getLanguage();
-// view.showAllAccountsToUser(t.getAccountList());
}
@@ -163,8 +157,6 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
@Override
public void onFailed(String message) {
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,null);
-// view.showToastMessage("Sucessfully deleted");
-// view.onAutoDebitAccountDeletedSuccessfully(accountToBeDeleted);
}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java
new file mode 100644
index 00000000..e7097e69
--- /dev/null
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java
@@ -0,0 +1,79 @@
+package com.gmeremit.online.gmeremittance_native.autodebitV2.view;
+
+import android.os.Handler;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.webkit.WebView;
+
+import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAddSeriveAuthenticationServiceModel;
+import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.WebRequestModel;
+import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
+import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
+import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2;
+import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel;
+import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
+import com.gmeremit.online.gmeremittance_native.utils.https.MessageResponseDataModel;
+import com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserV2Activity;
+import com.google.gson.reflect.TypeToken;
+
+import java.lang.reflect.Type;
+
+import io.reactivex.Scheduler;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.schedulers.Schedulers;
+
+public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity {
+
+ private WebView webView;
+ private WebRequestModel webRequestModel;
+ private CompositeDisposable compositeDisposable;
+
+ @Override
+ protected void doTask(WebRequestModel webRequestModel, WebView webView) {
+ this.webView = webView;
+ this.webRequestModel = webRequestModel;
+ this.compositeDisposable = new CompositeDisposable();
+ authenticateService();
+
+ }
+
+ private void authenticateService() {
+ this.compositeDisposable.add(
+ HttpClientV2.getInstance().postDataForAddingAutoDebitAccount(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData())
+ .doOnSubscribe(subs -> showProgressBar(true, "Authenticating..."))
+ .observeOn(Schedulers.io())
+ .doFinally(() ->showProgressBar(false, (String) null))
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribeWith(new AutoDebitAddRequestObserver()));
+ }
+
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (compositeDisposable != null && !compositeDisposable.isDisposed())
+ compositeDisposable.dispose();
+ }
+
+ class AutoDebitAddRequestObserver extends GenericApiObserverResponse {
+
+ @Override
+ protected void onSuccess(AutoDebitAddSeriveAuthenticationServiceModel data) {
+ updateTitleInBrowser(webRequestModel.getWebTitle() != null && webRequestModel.getWebTitle().length() > 0 ? webRequestModel.getWebTitle() : "");
+ webView.loadUrl(data.getAuthenticatedUrl());
+ }
+
+ @Override
+ public void onFailed(String message) {
+ showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> finish());
+ }
+
+ @Override
+ protected void onConnectionNotEstablished(String message) {
+ showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> finish());
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java
index e2a5bc08..01ef842d 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java
@@ -14,6 +14,7 @@ import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccou
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.KeyValueData;
import com.gmeremit.online.gmeremittance_native.autodebitV2.presenter.autodebitaccountlisting.AutoDebitAccountListingV2Presenter;
import com.gmeremit.online.gmeremittance_native.autodebitV2.presenter.autodebitaccountlisting.AutoDebitAccountListingV2PresenterInterface;
+import com.gmeremit.online.gmeremittance_native.autodebitV2.view.AutoDebitWebBrowserV2;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
import com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserV2Activity;
@@ -147,7 +148,7 @@ public class AutoDebitAccountListingV2Activity extends BaseActivity implements A
countryListingDialog.dismiss();
if(presenter==null)
return;
- Intent intent= new Intent(AutoDebitAccountListingV2Activity.this,WebBrowserV2Activity.class);
+ Intent intent= new Intent(AutoDebitAccountListingV2Activity.this,AutoDebitWebBrowserV2.class);
intent.putExtra(WEB_BROWSWER_URL_BUNDLE_KEY,this.presenter.getWebRequestDataForAddingAccount(countryPaymentService.getKey()));
startActivity(intent);
});
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
index fde07ee7..64ff6893 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
@@ -1,5 +1,7 @@
package com.gmeremit.online.gmeremittance_native.utils.https;
+import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAddSeriveAuthenticationServiceModel;
+import com.gmeremit.online.gmeremittance_native.autodebitV2.view.AutoDebitWebBrowserV2;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.model.ChangePasswordActivityV2APIResponse;
import com.gmeremit.online.gmeremittance_native.customer_support.model.AmendmentRequest;
import com.gmeremit.online.gmeremittance_native.customer_support.model.Suggestion;
@@ -120,6 +122,7 @@ import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.Header;
+import retrofit2.http.HeaderMap;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.PATCH;
@@ -130,6 +133,7 @@ import retrofit2.http.PartMap;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
+import retrofit2.http.Url;
public interface ApiEndpoints {
@@ -659,6 +663,11 @@ public interface ApiEndpoints {
@Headers("Content-Type: application/json")
Observable submitPennyTest(@Header("Authorization") String token, @Body() JsonObject jsonObject);
+ @GET
+ @Headers("Content-Type: application/json")
+ Observable postDataForAddingAutoDebitAccount(@Url String url, @HeaderMap Map headers);
+
+
@GET(API_URL.FETCH_AUTO_DEBIT_DATA)
@Headers("Content-Type: application/json")
Observable getAutoDebitRelatedData(@Header("Authorization") String token,@Path("userId") String userId);
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/webbrowserV2/WebBrowserV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/webbrowserV2/WebBrowserV2Activity.java
index e137bf8f..a4ba29ef 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/webbrowserV2/WebBrowserV2Activity.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/webbrowserV2/WebBrowserV2Activity.java
@@ -9,6 +9,7 @@ import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
+import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
@@ -26,7 +27,7 @@ import com.gmeremit.online.gmeremittance_native.utils.https.HTTPConstants;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class WebBrowserV2Activity extends BaseActivity implements View.OnClickListener {
+public abstract class WebBrowserV2Activity extends BaseActivity implements View.OnClickListener {
@BindView(R.id.iv_back)
View iv_back;
@@ -46,6 +47,7 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
public static String WEB_BROWSWER_URL_BUNDLE_KEY="webBrowserBundleKey";
private WebRequestModel webRequestModel;
+ protected abstract void doTask(WebRequestModel webRequestModel,WebView webView);
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -62,9 +64,7 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
try {
webRequestModel = getIntent().getParcelableExtra(WEB_BROWSWER_URL_BUNDLE_KEY);
if (webRequestModel !=null) {
- toolbarTitle.setText(webRequestModel.getWebTitle()!=null&&webRequestModel.getWebTitle().length()>0?webRequestModel.getWebTitle():"");
- Log.d("WEBREQUESTMODEL", webRequestModel.getUrl());
- webView.loadUrl(webRequestModel.getUrl(),webRequestModel.getHeaderAsMapData());
+ doTask(webRequestModel,webView);
}
@@ -74,6 +74,12 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
}
}
+ protected void updateTitleInBrowser(String title)
+ {
+// toolbarTitle.setText(webRequestModel.getWebTitle()!=null&&webRequestModel.getWebTitle().length()>0?webRequestModel.getWebTitle():"");
+ toolbarTitle.setText(title);
+ }
+
private void init() {
//Setup presenter here
setupWebView();
@@ -91,7 +97,7 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
iv_back.setOnClickListener(null);
}
- private void showProgressBar(boolean action, Runnable callback) {
+ protected void showProgressBar(boolean action, Runnable callback) {
if (action) {
if (progressBar.getVisibility() != View.VISIBLE) {
progressBar.setAlpha(0f);
@@ -160,8 +166,9 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
webView.setWebChromeClient(gmeChromeClient);
webView.getSettings().setSaveFormData(false);
- webView.getSettings().setSavePassword(false);
webView.clearCache(true);
+ webView.clearHistory();
+ webView.getSettings().setJavaScriptEnabled(true);
}
@@ -251,6 +258,14 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
if (webView.getVisibility() == View.VISIBLE)
toolbarTitle.setText(title);
}
+
+ @Override
+ public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
+ showPopUpMessage(message,CustomAlertDialog.AlertType.ALERT,alertType -> result.confirm());
+ return true;
+ }
+
+
}
}
diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java
index 5b5618be..49f722df 100644
--- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java
+++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java
@@ -88,7 +88,7 @@ public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2Pres
compositeDisposables.add(
this.gateway.getWithdrawRelatedData(this.gateway.getUserID(), this.gateway.getAuth())
- .doOnSubscribe(action -> view.showProgressBar(true, "Fetching user related data..."))
+ .doOnSubscribe(action -> view.showProgressBar(true, "Fetching user related data..."))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())