@ -301,45 +301,35 @@ public class LightningWebClient extends WebViewClient {
@@ -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 ( 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 ;
}
} 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 ;
}
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 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 ) {