Skip to content

Commit 1020b8f

Browse files
authored
fix(android): allow compilation in old cordova-android versions (apache#803)
1 parent 46c080f commit 1020b8f

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

src/android/InAppBrowser.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,8 @@ else if (action.equals("loadAfterBeforeload")) {
269269
@SuppressLint("NewApi")
270270
@Override
271271
public void run() {
272-
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O) {
273-
currentClient.waitForBeforeload = false;
274-
inAppWebView.setWebViewClient(currentClient);
275-
} else {
276-
((InAppBrowserClient)inAppWebView.getWebViewClient()).waitForBeforeload = false;
277-
}
272+
currentClient.waitForBeforeload = false;
273+
inAppWebView.setWebViewClient(currentClient);
278274
inAppWebView.loadUrl(url);
279275
}
280276
});
@@ -414,7 +410,7 @@ private void injectDeferredObject(String source, String jsWrapper) {
414410
@SuppressLint("NewApi")
415411
@Override
416412
public void run() {
417-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
413+
if (Build.VERSION.SDK_INT < 19) {
418414
// This action will have the side-effect of blurring the currently focused element
419415
inAppWebView.loadUrl("javascript:" + finalScriptToInject);
420416
} else {
@@ -1006,7 +1002,7 @@ public void postMessage(String data) {
10061002
}
10071003
}
10081004

1009-
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
1005+
if(android.os.Build.VERSION.SDK_INT >= 17) {
10101006
settings.setMediaPlaybackRequiresUserGesture(mediaPlaybackRequiresUserGesture);
10111007
inAppWebView.addJavascriptInterface(new JsObject(), "cordova_iab");
10121008
}
@@ -1038,7 +1034,7 @@ public void postMessage(String data) {
10381034
}
10391035

10401036
// Enable Thirdparty Cookies on >=Android 5.0 device
1041-
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
1037+
if (android.os.Build.VERSION.SDK_INT >= 21) {
10421038
CookieManager.getInstance().setAcceptThirdPartyCookies(inAppWebView,true);
10431039
}
10441040

@@ -1129,7 +1125,7 @@ private void sendUpdate(JSONObject obj, boolean keepCallback, PluginResult.Statu
11291125
*/
11301126
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
11311127
// For Android >= 5.0
1132-
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
1128+
if(Build.VERSION.SDK_INT >= 21) {
11331129
LOG.d(LOG_TAG, "onActivityResult (For Android >= 5.0)");
11341130
// If RequestCode or Callback is Invalid
11351131
if(requestCode != FILECHOOSER_REQUESTCODE_LOLLIPOP || mUploadCallbackLollipop == null) {
@@ -1202,7 +1198,7 @@ public boolean shouldOverrideUrlLoading(WebView webView, String url) {
12021198
* @param webView
12031199
* @param request
12041200
*/
1205-
@TargetApi(Build.VERSION_CODES.N)
1201+
@TargetApi(24)
12061202
@Override
12071203
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) {
12081204
return shouldOverrideUrlLoading(request.getUrl().toString(), request.getMethod());
@@ -1374,7 +1370,7 @@ public WebResourceResponse shouldInterceptRequest (final WebView view, String ur
13741370
* @param webView
13751371
* @param request
13761372
*/
1377-
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
1373+
@TargetApi(21)
13781374
@Override
13791375
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
13801376
return shouldInterceptRequest(request.getUrl().toString(), super.shouldInterceptRequest(view, request), request.getMethod());
@@ -1425,12 +1421,12 @@ public void onPageFinished(WebView view, String url) {
14251421
super.onPageFinished(view, url);
14261422

14271423
// Set the namespace for postMessage()
1428-
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
1424+
if (Build.VERSION.SDK_INT >= 17) {
14291425
injectDeferredObject("window.webkit={messageHandlers:{cordova_iab:cordova_iab}}", null);
14301426
}
14311427

14321428
// CB-10395 InAppBrowser's WebView not storing cookies reliable to local device storage
1433-
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
1429+
if (android.os.Build.VERSION.SDK_INT >= 21) {
14341430
CookieManager.getInstance().flush();
14351431
} else {
14361432
CookieSyncManager.getInstance().sync();

0 commit comments

Comments
 (0)