fix(android): allow compilation in old cordova-android versions (#803)

This commit is contained in:
jcesarmobile 2020-10-21 16:17:14 +02:00 committed by GitHub
parent 46c080f59a
commit 1020b8f642
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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