|
|
@ -1,8 +1,10 @@ |
|
|
|
package com.gmeremit.online.gmeremittance_native.autodebitV2.view; |
|
|
|
|
|
|
|
import android.content.Context; |
|
|
|
import android.os.Handler; |
|
|
|
import android.support.v7.app.AppCompatActivity; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.webkit.JavascriptInterface; |
|
|
|
import android.webkit.WebView; |
|
|
|
|
|
|
|
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAddSeriveAuthenticationServiceModel; |
|
|
@ -28,6 +30,8 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
private WebView webView; |
|
|
|
private WebRequestModel webRequestModel; |
|
|
|
private CompositeDisposable compositeDisposable; |
|
|
|
private WebAppInterface webInterface; |
|
|
|
private final static String WEB_INTERFACE_NAME="Android"; |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void doTask(WebRequestModel webRequestModel, WebView webView) { |
|
|
@ -35,6 +39,7 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
this.webView = webView; |
|
|
|
this.webRequestModel = webRequestModel; |
|
|
|
this.compositeDisposable = new CompositeDisposable(); |
|
|
|
this.webInterface=new WebAppInterface(AutoDebitWebBrowserV2.this); |
|
|
|
authenticateService(); |
|
|
|
} |
|
|
|
|
|
|
@ -51,10 +56,17 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
.subscribeWith(new AutoDebitAddRequestObserver())); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onBackPressed() { |
|
|
|
finish(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
protected void onDestroy() { |
|
|
|
super.onDestroy(); |
|
|
|
webView.removeJavascriptInterface(WEB_INTERFACE_NAME); |
|
|
|
if (compositeDisposable != null && !compositeDisposable.isDisposed()) |
|
|
|
compositeDisposable.dispose(); |
|
|
|
} |
|
|
@ -67,8 +79,10 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
String url=data.getAuthenticatedUrl(); |
|
|
|
if(url==null||url.length()<1) |
|
|
|
showPopUpMessage("Invalid url", CustomAlertDialog.AlertType.FAILED,alertType -> finish()); |
|
|
|
else |
|
|
|
webView.loadUrl(data.getAuthenticatedUrl()); |
|
|
|
else { |
|
|
|
webView.addJavascriptInterface(webInterface,WEB_INTERFACE_NAME); |
|
|
|
webView.loadUrl(data.getAuthenticatedUrl()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -82,4 +96,25 @@ public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
class WebAppInterface { |
|
|
|
|
|
|
|
Context mContext; |
|
|
|
|
|
|
|
/** Instantiate the interface and set the context */ |
|
|
|
WebAppInterface(Context c) { |
|
|
|
mContext = c; |
|
|
|
} |
|
|
|
|
|
|
|
/** Show a toast from the web page */ |
|
|
|
@JavascriptInterface |
|
|
|
public void onAutoDebitAccountSuccess(String message) { |
|
|
|
showPopUpMessage(message, CustomAlertDialog.AlertType.SUCCESS,alertType -> finish()); |
|
|
|
} |
|
|
|
|
|
|
|
@JavascriptInterface |
|
|
|
public void onAutoDebitAccountFailed(String message) { |
|
|
|
showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED,alertType -> finish()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |