|
|
@ -13,10 +13,17 @@ 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.HTTPConstants; |
|
|
|
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.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataModel; |
|
|
|
import com.google.gson.reflect.TypeToken; |
|
|
|
import com.preyearegmi.utils.httpclient.HTTPClient; |
|
|
|
import com.preyearegmi.utils.httpclient.HTTPResponse; |
|
|
|
import com.preyearegmi.utils.httpclient.METHODTYPE; |
|
|
|
import com.preyearegmi.utils.httpclient.abs.NetworkTask; |
|
|
|
import com.preyearegmi.utils.httpclient.abs.RequestCompleteCallback; |
|
|
|
|
|
|
|
import java.lang.reflect.Type; |
|
|
|
|
|
|
@ -40,11 +47,17 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
this.webRequestModel = webRequestModel; |
|
|
|
this.compositeDisposable = new CompositeDisposable(); |
|
|
|
this.webInterface=new WebAppInterface(AutoDebitWebBrowserV2.this); |
|
|
|
authenticateService(); |
|
|
|
// authenticateService(); |
|
|
|
authenticateServiceV2(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Okhttp don't support non-ASCII Headers |
|
|
|
* See error : https://github.com/square/okhttp/issues/2016 |
|
|
|
*/ |
|
|
|
@Deprecated |
|
|
|
private void authenticateService() { |
|
|
|
this.compositeDisposable.add( |
|
|
|
HttpClientV2.getInstance().postDataForAddingAutoDebitAccount(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData()) |
|
|
@ -56,6 +69,49 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
.subscribeWith(new AutoDebitAddRequestObserver())); |
|
|
|
} |
|
|
|
|
|
|
|
private void authenticateServiceV2() |
|
|
|
{ |
|
|
|
showProgressBar(true, "Authenticating..."); |
|
|
|
NetworkTask authenticationTask= HTTPClient.request(webRequestModel.getUrl(), METHODTYPE.GET, webRequestModel.getHeaderAsMapData(), null, new RequestCompleteCallback() { |
|
|
|
@Override |
|
|
|
public void onSuccess(HTTPResponse httpResponse) { |
|
|
|
showProgressBar(false, ""); |
|
|
|
try { |
|
|
|
Type type = TypeToken.getParameterized(AutoDebitAddSeriveAuthenticationServiceModel.class).getType(); |
|
|
|
AutoDebitAddSeriveAuthenticationServiceModel data = null; |
|
|
|
data = HttpClientV2.getDeserializer().fromJson(httpResponse.getResponseBody(), type); |
|
|
|
updateTitleInBrowser(webRequestModel.getWebTitle() != null && webRequestModel.getWebTitle().length() > 0 ? webRequestModel.getWebTitle() : ""); |
|
|
|
String url = data.getAuthenticatedUrl(); |
|
|
|
if (url == null || url.length() < 1) |
|
|
|
showPopUpMessage("Invalid url", CustomAlertDialog.AlertType.FAILED, alertType -> finish()); |
|
|
|
else { |
|
|
|
webView.addJavascriptInterface(webInterface, WEB_INTERFACE_NAME); |
|
|
|
webView.loadUrl(data.getAuthenticatedUrl()); |
|
|
|
} |
|
|
|
} |
|
|
|
catch (Exception e) |
|
|
|
{ |
|
|
|
showPopUpMessage(e.getMessage(), CustomAlertDialog.AlertType.FAILED, alertType -> finish()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onFailed(int i) { |
|
|
|
showProgressBar(false, ""); |
|
|
|
String message= HTTPConstants.getErrorMessageFromCode(i); |
|
|
|
showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> finish()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onConnectionNotEstablished(String s) { |
|
|
|
showProgressBar(false, ""); |
|
|
|
showPopUpMessage(s, CustomAlertDialog.AlertType.FAILED, alertType -> finish()); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
HTTPClient.enqueue(authenticationTask); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onBackPressed() { |
|
|
|
finish(); |
|
|
|