import com.stoutner.privacybrowser.R
-// Declare the class constants.
+// Define the class constants.
private const val TAB_NUMBER = "tab_number"
+private const val SCROLL_X = "scroll_x"
+private const val SCROLL_Y = "scroll_y"
class AboutWebViewFragment : Fragment() {
- // Declare the class variables.
+ // Define the class variables.
private var tabNumber = 0
// Declare the class views.
// Set a WebView client.
tabWebView.webViewClient = object : WebViewClient() {
- // `shouldOverrideUrlLoading` allows the sending of external links back to the main Privacy Browser WebView. The deprecated `shouldOverrideUrlLoading` must be used until API >= 24.
+ // // Send external links back to the main Privacy Browser WebView. The deprecated `shouldOverrideUrlLoading` must be used until API >= 24.
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
// Create an intent to view the URL.
val urlIntent = Intent(Intent.ACTION_VIEW)
// Make it so.
startActivity(urlIntent)
+
+ // Consume the click.
return true
}
-
+
+ // Process asset requests with the asset loader.
override fun shouldInterceptRequest(webView: WebView, url: String): WebResourceResponse? {
- // Have the WebView asset loader process the request. This allows the loading of SVG files, which otherwise is prevented by the CORS policy.
+ // This allows using the `appassets.androidplatform.net` URL, which handles the loading of SVG files, which otherwise is prevented by the CORS policy.
return webViewAssetLoader.shouldInterceptRequest(Uri.parse(url))
}
}
// Scroll the tab if the saved instance state is not null.
if (savedInstanceState != null) {
tabWebView.post {
- tabWebView.scrollX = savedInstanceState.getInt("scroll_x")
- tabWebView.scrollY = savedInstanceState.getInt("scroll_y")
+ tabWebView.scrollX = savedInstanceState.getInt(SCROLL_X)
+ tabWebView.scrollY = savedInstanceState.getInt(SCROLL_Y)
}
}
// Save the scroll positions if the layout is not null, which can happen if a tab is not currently selected.
if (tabWebView != null) {
- savedInstanceState.putInt("scroll_x", tabWebView.scrollX)
- savedInstanceState.putInt("scroll_y", tabWebView.scrollY)
+ savedInstanceState.putInt(SCROLL_X, tabWebView.scrollX)
+ savedInstanceState.putInt(SCROLL_Y, tabWebView.scrollY)
}
}
-}
\ No newline at end of file
+}