hasancse1991

loadWebView

Nov 8th, 2018
672
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.39 KB | None | 0 0
  1. private void loadBKashWebView(final String orderId, double grandTotal) {
  2.  
  3.         PaymentRequest paymentRequest = new PaymentRequest();
  4.         paymentRequest.setAmount(String.valueOf(grandTotal));
  5.         paymentRequest.setIntent("sale");
  6.         paymentRequest.setOrderId(orderId);
  7.  
  8.         Gson gson = new Gson();
  9.         request = gson.toJson(paymentRequest);
  10.  
  11.         rootLayout.setVisibility(View.GONE);
  12.         paymentWebView.setVisibility(View.VISIBLE);
  13.  
  14.         WebSettings webSettings = paymentWebView.getSettings();
  15.         webSettings.setJavaScriptEnabled(true);
  16.         paymentWebView.setClickable(true);
  17.         paymentWebView.getSettings().setDomStorageEnabled(true);
  18.         paymentWebView.getSettings().setAppCacheEnabled(false);
  19.         paymentWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
  20.         paymentWebView.clearCache(true);
  21.         paymentWebView.getSettings().setAllowFileAccessFromFileURLs(true);
  22.         paymentWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
  23.  
  24.         paymentWebView.addJavascriptInterface(new JavaScriptInterface(getContext()), "AndroidNative");
  25.  
  26.         paymentWebView.loadUrl("file:///android_asset/www/checkout.html");
  27.  
  28.         paymentWebView.setWebChromeClient(new WebChromeClient());
  29.         paymentWebView.setWebViewClient(new CheckoutWebViewClient());
  30.     }
  31.  
  32.     class CheckoutWebViewClient extends WebViewClient {
  33.  
  34.         public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
  35.             handler.proceed();
  36.         }
  37.  
  38.         @Override
  39.         public boolean shouldOverrideUrlLoading(WebView view, String url) {
  40.             if (url.equals("https://www.bkash.com/terms-and-conditions")) {
  41.                 Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
  42.                 startActivity(myIntent);
  43.                 return true;
  44.             }
  45.             return super.shouldOverrideUrlLoading(view, url);
  46.         }
  47.  
  48.         @Override
  49.         public void onPageStarted(WebView view, String url, Bitmap favicon) {
  50.             setProgressDialog();
  51.         }
  52.  
  53.         @Override
  54.         public void onPageFinished(WebView view, String url) {
  55.  
  56.             paymentWebView.loadUrl("javascript:setUrls('" + BKASH_PAYMENT_CREATE + "','" + BKASH_PAYMENT_EXECUTE + "')");
  57.             String paymentRequest = "{paymentRequest:" + request + "}";
  58.             paymentWebView.loadUrl("javascript:callReconfigure(" + paymentRequest + " )");
  59.             paymentWebView.loadUrl("javascript:clickPayButton()");
  60.  
  61.             if (url.equalsIgnoreCase("file:///android_asset/www/checkout.html")) {
  62. //                String paymentRequest = "{paymentRequest:" + request + "}";
  63. //                paymentWebView.loadUrl("javascript:callReconfigure(" + paymentRequest + " )");
  64. //                paymentWebView.loadUrl("javascript:clickPayButton()");
  65.             } else if (url.equalsIgnoreCase("file:///android_asset/www/checkoutSuccess.html")) {
  66.                 showToast("Payment successful");
  67.                 showSuccessPopUp(orderId);
  68.             } else if (url.equalsIgnoreCase("file:///android_asset/www/checkout_failed.html")) {
  69.                 showToast("bKash Payment failed");
  70.                 showSuccessPopUp(getString(R.string.online_order_failed_placeholder));
  71.             }
  72.  
  73.             if (pDialog != null) {
  74.                 dismissDialog();
  75.             }
  76.         }
  77.  
  78.     }
Advertisement
Add Comment
Please, Sign In to add comment