}
}
} else { // The app has been restarted.
- // Set the saved tab position to be the size of the saved state array list. The tab position is 0 based, meaning the at the new tab will be the tab position that is restored.
- savedTabPosition = savedStateArrayList.size();
+ // Get the information from the intent.
+ String intentAction = intent.getAction();
+ Uri intentUriData = intent.getData();
+ String intentStringExtra = intent.getStringExtra(Intent.EXTRA_TEXT);
+
+ // Determine if this is a web search.
+ boolean isWebSearch = ((intentAction != null) && intentAction.equals(Intent.ACTION_WEB_SEARCH));
+
+ // If the new intent will open a new tab, set the saved tab position to be the size of the saved state array list.
+ // The tab position is 0 based, meaning the at the new tab will be the tab position that is restored.
+ if (intentUriData != null || intentStringExtra != null || isWebSearch)
+ savedTabPosition = savedStateArrayList.size();
// Replace the intent that started the app with this one. This will load the tab after the others have been restored.
setIntent(intent);
startActivity(emailIntent);
} catch (ActivityNotFoundException exception) {
// Display a snackbar.
- Snackbar.make(currentWebView, getString(R.string.error) + " " + exception, Snackbar.LENGTH_INDEFINITE).show();
+ Snackbar.make(currentWebView, getString(R.string.error) + exception, Snackbar.LENGTH_INDEFINITE).show();
}
// Consume the event.
currentWebView.loadUrl(temporaryMhtFile.toString());
} catch (Exception exception) {
// Display a snackbar.
- Snackbar.make(currentWebView, getString(R.string.error) + " " + exception, Snackbar.LENGTH_INDEFINITE).show();
+ Snackbar.make(currentWebView, getString(R.string.error) + exception, Snackbar.LENGTH_INDEFINITE).show();
}
} else { // Let the WebView handle opening of the file.
// Open the file.
startActivity(openWithAppIntent);
} catch (ActivityNotFoundException exception) { // There are no apps available to open the URL.
// Show a snackbar with the error.
- Snackbar.make(currentWebView, getString(R.string.error) + " " + exception, Snackbar.LENGTH_INDEFINITE).show();
+ Snackbar.make(currentWebView, getString(R.string.error) + exception, Snackbar.LENGTH_INDEFINITE).show();
}
}
startActivity(openWithBrowserIntent);
} catch (ActivityNotFoundException exception) { // There are no browsers available to open the URL.
// Show a snackbar with the error.
- Snackbar.make(currentWebView, getString(R.string.error) + " " + exception, Snackbar.LENGTH_INDEFINITE).show();
+ Snackbar.make(currentWebView, getString(R.string.error) + exception, Snackbar.LENGTH_INDEFINITE).show();
}
}
startActivity(emailIntent);
} catch (ActivityNotFoundException exception) {
// Display a snackbar.
- Snackbar.make(currentWebView, getString(R.string.error) + " " + exception, Snackbar.LENGTH_INDEFINITE).show();
+ Snackbar.make(currentWebView, getString(R.string.error) + exception, Snackbar.LENGTH_INDEFINITE).show();
}
startActivity(dialIntent);
} catch (ActivityNotFoundException exception) {
// Display a snackbar.
- Snackbar.make(currentWebView, getString(R.string.error) + " " + exception, Snackbar.LENGTH_INDEFINITE).show();
+ Snackbar.make(currentWebView, getString(R.string.error) + exception, Snackbar.LENGTH_INDEFINITE).show();
}
// Returning true indicates Privacy Browser is handling the URL by creating an intent.
try {
startActivity(genericIntent);
} catch (ActivityNotFoundException exception) {
- Snackbar.make(nestedScrollWebView, getString(R.string.unrecognized_url) + " " + url, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(nestedScrollWebView, getString(R.string.unrecognized_url) + url, Snackbar.LENGTH_SHORT).show();
}
// Returning true indicates Privacy Browser is handling the URL by creating an intent.
if ((currentDomainName != null) && !currentDomainName.isEmpty()) {
// Get the IP addresses for the current URI.
- GetHostIpAddressesCoroutine.getAddresses(currentDomainName, nestedScrollWebView, getSupportFragmentManager(), getString(R.string.pinned_mismatch));
+ GetHostIpAddressesCoroutine.checkPinnedMismatch(currentDomainName, nestedScrollWebView, getSupportFragmentManager(), getString(R.string.pinned_mismatch));
}
// Replace Refresh with Stop if the options menu has been created. (The first WebView typically begins loading before the menu items are instantiated.)