X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FAboutViewSourceDialog.java;h=e163ac54c1e2ac12e5e13a222a884f26d42d8f03;hp=4cd4e7fe3972f57a5d5ffc42bef066c895e5f075;hb=fa3b8b382eb5ed86c598e3b126d1ef5dd117c5be;hpb=ba22901e9774cfdc652c1c718ec921b8d647d4e8 diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/AboutViewSourceDialog.java b/app/src/main/java/com/stoutner/privacybrowser/dialogs/AboutViewSourceDialog.java index 4cd4e7fe..e163ac54 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/AboutViewSourceDialog.java +++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/AboutViewSourceDialog.java @@ -1,5 +1,5 @@ /* - * Copyright © 2018 Soren Stoutner . + * Copyright © 2018-2019 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -21,19 +21,32 @@ package com.stoutner.privacybrowser.dialogs; import android.app.AlertDialog; import android.app.Dialog; -import android.app.DialogFragment; +import android.content.SharedPreferences; import android.os.Bundle; +import android.preference.PreferenceManager; +import android.view.WindowManager; + +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import com.stoutner.privacybrowser.R; -import com.stoutner.privacybrowser.activities.MainWebViewActivity; public class AboutViewSourceDialog extends DialogFragment { + @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { + // Get a handle for the shared preferences. + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext()); + + // Get the screenshot and theme preferences. + boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false); + boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false); + // Use a builder to create the alert dialog. AlertDialog.Builder dialogBuilder; // Set the style and the icon according to the theme. - if (MainWebViewActivity.darkTheme) { + if (darkTheme) { dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark); dialogBuilder.setIcon(R.drawable.about_dark); } else { @@ -50,7 +63,19 @@ public class AboutViewSourceDialog extends DialogFragment { // Set the text. dialogBuilder.setMessage(R.string.about_view_source_message); - // `onCreateDialog` requires the return of an `AlertDialog`. - return dialogBuilder.create(); + // Create an alert dialog from the alert dialog builder. + AlertDialog alertDialog = dialogBuilder.create(); + + // Disable screenshots if not allowed. + if (!allowScreenshots) { + // Remove the warning below that `getWindow()` might be null. + assert alertDialog.getWindow() != null; + + // Disable screenshots. + alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); + } + + // Return the alert dialog. + return alertDialog; } }