/**
- * Copyright 2015 Soren Stoutner
+ * Copyright 2015-2016 Soren Stoutner <soren@stoutner.com>.
*
- * This file is part of Privacy Browser <https://privacybrowser.stoutner.com/>.
+ * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
*
* Privacy Browser is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatDialogFragment;
import android.webkit.WebView;
+import android.webkit.WebViewClient;
public class AboutDialog extends AppCompatDialogFragment {
- // onCreateDialog requires @NonNull.
@Override
+ // onCreateDialog requires @NonNull.
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Create a WebView to display about_text.html
aboutDialogWebView.loadUrl("file:///android_asset/about_text.html");
// Use AlertDialog.Builder to create the AlertDialog
- AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
+ final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
alertDialogBuilder.setTitle(R.string.about_privacy_browser);
alertDialogBuilder.setView(aboutDialogWebView);
alertDialogBuilder.setPositiveButton(R.string.dismiss, new DialogInterface.OnClickListener() {
final AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
+ aboutDialogWebView.setWebViewClient(new WebViewClient() {
+ // shouldOverrideUrlLoading lets us close AboutDialog when a link is touched. Otherwise the dialog covers the website that loads beneath in Privacy Browser.
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ MainWebViewActivity.mainWebView.loadUrl(url);
+ alertDialog.dismiss();
+ return true;
+ }
+ });
+
// onCreateDialog requires the return of an AlertDialog.
return alertDialog;
}