Simplifying shouldOverrideUrlLoading
This commit is contained in:
parent
b8bbd8f6e0
commit
f89829735d
@ -301,45 +301,35 @@ public class LightningWebClient extends WebViewClient {
|
||||
|
||||
Map<String, String> headers = mLightningView.getRequestHeaders();
|
||||
|
||||
// If the headers are empty, the user has not expressed the desire
|
||||
// to use them and therefore we can revert back to the old way of loading
|
||||
if (headers.isEmpty()) {
|
||||
if (mLightningView.isIncognito()) {
|
||||
// If we are in incognito, immediately load, we don't want the url to leave the app
|
||||
return false;
|
||||
}
|
||||
if (url.startsWith(Constants.ABOUT)) {
|
||||
// If this is an about page, immediately load, we don't need to leave the app
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isMailOrIntent(url, view) || mIntentUtils.startActivityForUrl(view, url)) {
|
||||
// If it was a mailto: link, or an intent, or could be launched elsewhere, do that
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if (mLightningView.isIncognito() && Utils.doesSupportHeaders()) {
|
||||
// If we are in incognito, immediately load, we don't want the url to leave the app
|
||||
view.loadUrl(url, headers);
|
||||
return true;
|
||||
}
|
||||
if (url.startsWith(Constants.ABOUT) && Utils.doesSupportHeaders()) {
|
||||
// If this is an about page, immediately load, we don't need to leave the app
|
||||
view.loadUrl(url, headers);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (isMailOrIntent(url, view) || mIntentUtils.startActivityForUrl(view, url)) {
|
||||
// If it was a mailto: link, or an intent, or could be launched elsewhere, do that
|
||||
return true;
|
||||
} else if (Utils.doesSupportHeaders()) {
|
||||
// Otherwise, load the headers.
|
||||
view.loadUrl(url, headers);
|
||||
return true;
|
||||
}
|
||||
if (mLightningView.isIncognito()) {
|
||||
// If we are in incognito, immediately load, we don't want the url to leave the app
|
||||
return continueLoadingUrl(view, url, headers);
|
||||
}
|
||||
if (url.startsWith(Constants.ABOUT)) {
|
||||
// If this is an about page, immediately load, we don't need to leave the app
|
||||
return continueLoadingUrl(view, url, headers);
|
||||
}
|
||||
|
||||
if (isMailOrIntent(url, view) || mIntentUtils.startActivityForUrl(view, url)) {
|
||||
// If it was a mailto: link, or an intent, or could be launched elsewhere, do that
|
||||
return true;
|
||||
}
|
||||
|
||||
// If none of the special conditions was met, continue with loading the url
|
||||
return continueLoadingUrl(view, url, headers);
|
||||
}
|
||||
|
||||
private boolean continueLoadingUrl(@NonNull WebView webView,
|
||||
@NonNull String url,
|
||||
@NonNull Map<String, String> headers) {
|
||||
if (headers.isEmpty()) {
|
||||
return false;
|
||||
} else if (Utils.doesSupportHeaders()) {
|
||||
webView.loadUrl(url, headers);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
// If none of those instances was true, revert back to the old way of loading
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isMailOrIntent(@NonNull String url, @NonNull WebView view) {
|
||||
|
Loading…
Reference in New Issue
Block a user