X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FViewSourceActivity.java;h=51036fbc38bc82cf46b6d87fd97c070b275a6d90;hb=74655c0cd0ba72c80ac6c48df55bc3d2f5280ad2;hp=2bc431d358ef50517ca09d89166b29591975c0e7;hpb=54c70ca476ba2f53ae274df1ac725be3919e8f56;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/ViewSourceActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/ViewSourceActivity.java index 2bc431d3..51036fbc 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/ViewSourceActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/ViewSourceActivity.java @@ -1,5 +1,5 @@ /* - * Copyright © 2017-2019 Soren Stoutner . + * Copyright © 2017-2020 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -20,12 +20,15 @@ package com.stoutner.privacybrowser.activities; import android.app.Activity; -import android.app.DialogFragment; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Configuration; import android.os.Bundle; +import android.preference.PreferenceManager; import android.text.Spanned; import android.text.style.ForegroundColorSpan; +import android.util.TypedValue; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; @@ -34,10 +37,12 @@ import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; +import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; // The AndroidX toolbar must be used until the minimum API is >= 21. import androidx.core.app.NavUtils; +import androidx.fragment.app.DialogFragment; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.stoutner.privacybrowser.R; @@ -55,17 +60,19 @@ public class ViewSourceActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + // Get a handle for the shared preferences. + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + + // Get the screenshot preference. + boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false); + // Disable screenshots if not allowed. - if (!MainWebViewActivity.allowScreenshots) { + if (!allowScreenshots) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); } // Set the theme. - if (MainWebViewActivity.darkTheme) { - setTheme(R.style.PrivacyBrowserDark); - } else { - setTheme(R.style.PrivacyBrowserLight); - } + setTheme(R.style.PrivacyBrowser); // Run the default commands. super.onCreate(savedInstanceState); @@ -151,7 +158,7 @@ public class ViewSourceActivity extends AppCompatActivity { // Get new source data for the current URL if it beings with `http`. if (url.startsWith("http")) { - new GetSource(this, userAgent).execute(url); + new GetSource(this, this, userAgent).execute(url); } // Consume the key press. @@ -172,24 +179,38 @@ public class ViewSourceActivity extends AppCompatActivity { // Get new source data for the URL if it begins with `http`. if (url.startsWith("http")) { - new GetSource(this, userAgent).execute(url); + new GetSource(this, this, userAgent).execute(url); } else { // Stop the refresh animation. swipeRefreshLayout.setRefreshing(false); } }); - // Set the swipe to refresh color according to the theme. - if (MainWebViewActivity.darkTheme) { - swipeRefreshLayout.setColorSchemeResources(R.color.blue_600); - swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.gray_800); + // Get the current theme status. + int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; + + // Set the refresh color scheme according to the theme. + if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) { + swipeRefreshLayout.setColorSchemeResources(R.color.blue_500); } else { swipeRefreshLayout.setColorSchemeResources(R.color.blue_700); } + // Initialize a color background typed value. + TypedValue colorBackgroundTypedValue = new TypedValue(); + + // Get the color background from the theme. + getTheme().resolveAttribute(android.R.attr.colorBackground, colorBackgroundTypedValue, true); + + // Get the color background int from the typed value. + int colorBackgroundInt = colorBackgroundTypedValue.data; + + // Set the swipe refresh background color. + swipeRefreshLayout.setProgressBackgroundColorSchemeColor(colorBackgroundInt); + // Get the source using an AsyncTask if the URL begins with `http`. - if (currentUrl.startsWith("http")) { - new GetSource(this, userAgent).execute(currentUrl); + if ((currentUrl != null) && currentUrl.startsWith("http")) { + new GetSource(this, this, userAgent).execute(currentUrl); } } @@ -203,12 +224,12 @@ public class ViewSourceActivity extends AppCompatActivity { } @Override - public boolean onOptionsItemSelected(MenuItem menuItem) { + public boolean onOptionsItemSelected(@NonNull MenuItem menuItem) { // Get a handle for the about alert dialog. DialogFragment aboutDialogFragment = new AboutViewSourceDialog(); // Show the about alert dialog. - aboutDialogFragment.show(getFragmentManager(), getString(R.string.about)); + aboutDialogFragment.show(getSupportFragmentManager(), getString(R.string.about)); // Consume the event. return true;