diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index d5e305c..aba1f70 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -269,8 +269,12 @@ public class InAppBrowser extends CordovaPlugin { @SuppressLint("NewApi") @Override public void run() { - currentClient.waitForBeforeload = false; - inAppWebView.setWebViewClient(currentClient); + if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O) { + currentClient.waitForBeforeload = false; + inAppWebView.setWebViewClient(currentClient); + } else { + ((InAppBrowserClient)inAppWebView.getWebViewClient()).waitForBeforeload = false; + } inAppWebView.loadUrl(url); } }); @@ -410,7 +414,7 @@ public class InAppBrowser extends CordovaPlugin { @SuppressLint("NewApi") @Override public void run() { - if (Build.VERSION.SDK_INT < 19) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { // This action will have the side-effect of blurring the currently focused element inAppWebView.loadUrl("javascript:" + finalScriptToInject); } else { @@ -1002,7 +1006,7 @@ public class InAppBrowser extends CordovaPlugin { } } - if(android.os.Build.VERSION.SDK_INT >= 17) { + if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) { settings.setMediaPlaybackRequiresUserGesture(mediaPlaybackRequiresUserGesture); inAppWebView.addJavascriptInterface(new JsObject(), "cordova_iab"); } @@ -1034,7 +1038,7 @@ public class InAppBrowser extends CordovaPlugin { } // Enable Thirdparty Cookies on >=Android 5.0 device - if (android.os.Build.VERSION.SDK_INT >= 21) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { CookieManager.getInstance().setAcceptThirdPartyCookies(inAppWebView,true); } @@ -1128,7 +1132,7 @@ public class InAppBrowser extends CordovaPlugin { */ public void onActivityResult(int requestCode, int resultCode, Intent intent) { // For Android >= 5.0 - if(Build.VERSION.SDK_INT >= 21) { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { LOG.d(LOG_TAG, "onActivityResult (For Android >= 5.0)"); // If RequestCode or Callback is Invalid if(requestCode != FILECHOOSER_REQUESTCODE_LOLLIPOP || mUploadCallbackLollipop == null) { @@ -1201,7 +1205,7 @@ public class InAppBrowser extends CordovaPlugin { * @param webView * @param request */ - @TargetApi(24) + @TargetApi(Build.VERSION_CODES.N) @Override public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) { return shouldOverrideUrlLoading(request.getUrl().toString(), request.getMethod()); @@ -1373,7 +1377,7 @@ public class InAppBrowser extends CordovaPlugin { * @param webView * @param request */ - @TargetApi(21) + @TargetApi(Build.VERSION_CODES.LOLLIPOP) @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { return shouldInterceptRequest(request.getUrl().toString(), super.shouldInterceptRequest(view, request), request.getMethod()); @@ -1424,12 +1428,12 @@ public class InAppBrowser extends CordovaPlugin { super.onPageFinished(view, url); // Set the namespace for postMessage() - if (Build.VERSION.SDK_INT >= 17) { + if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) { injectDeferredObject("window.webkit={messageHandlers:{cordova_iab:cordova_iab}}", null); } // CB-10395 InAppBrowser's WebView not storing cookies reliable to local device storage - if (android.os.Build.VERSION.SDK_INT >= 21) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { CookieManager.getInstance().flush(); } else { CookieSyncManager.getInstance().sync();