Browse Source

Http Client added for authenticate Service in AutoDebitWebBrowser

master
preyearegmi 6 years ago
parent
commit
1411430f52
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 1
      .idea/gradle.xml
  3. 1
      .idea/modules.xml
  4. 1
      app/build.gradle
  5. 8
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/KeyValueData.java
  6. 58
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java
  7. 2
      httpclient-release/build.gradle
  8. BIN
      httpclient-release/httpclient-release.aar
  9. 2
      settings.gradle

BIN
.idea/caches/build_file_checksums.ser

1
.idea/gradle.xml

@ -10,6 +10,7 @@
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/SpinnerDatePickerLib-release" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/httpclient-release" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />

1
.idea/modules.xml

@ -5,6 +5,7 @@
<module fileurl="file://$PROJECT_DIR$/SpinnerDatePickerLib-release/SpinnerDatePickerLib-release.iml" filepath="$PROJECT_DIR$/SpinnerDatePickerLib-release/SpinnerDatePickerLib-release.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/gme-android.iml" filepath="$PROJECT_DIR$/gme-android.iml" />
<module fileurl="file://$PROJECT_DIR$/httpclient-release/httpclient-release.iml" filepath="$PROJECT_DIR$/httpclient-release/httpclient-release.iml" />
</modules>
</component>
</project>

1
app/build.gradle

@ -132,5 +132,6 @@ dependencies {
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
implementation project(':SpinnerDatePickerLib-release')
implementation project(':httpclient-release')
}
apply plugin: 'com.google.gms.google-services'

8
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/KeyValueData.java

@ -16,7 +16,9 @@ public class KeyValueData implements Parcelable {
private String value;
public String getKey() {
return key;
if(key==null)
key="";
return key.trim();
}
public void setKey(String key) {
@ -24,7 +26,9 @@ public class KeyValueData implements Parcelable {
}
public String getValue() {
return value;
if(value==null)
value="";
return value.trim();
}
public void setValue(String value) {

58
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java

@ -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();

2
httpclient-release/build.gradle

@ -0,0 +1,2 @@
configurations.maybeCreate("default")
artifacts.add("default", file('httpclient-release.aar'))

BIN
httpclient-release/httpclient-release.aar

2
settings.gradle

@ -1 +1 @@
include ':app', ':SpinnerDatePickerLib-release'
include ':app', ':SpinnerDatePickerLib-release', ':httpclient-release'
Loading…
Cancel
Save