/*
- * Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
*
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.os.Bundle;
+import android.preference.PreferenceManager;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.view.KeyEvent;
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;
@Override
protected void onCreate(Bundle savedInstanceState) {
+ // Get a handle for the shared preferences.
+ SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+
+ // Get the screenshot and theme preferences.
+ boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+ boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+
// Disable screenshots if not allowed.
- if (!MainWebViewActivity.allowScreenshots) {
+ if (!allowScreenshots) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
// Set the theme.
- if (MainWebViewActivity.darkTheme) {
+ if (darkTheme) {
setTheme(R.style.PrivacyBrowserDark);
} else {
setTheme(R.style.PrivacyBrowserLight);
// 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.
// 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) {
+ if (darkTheme) {
swipeRefreshLayout.setColorSchemeResources(R.color.blue_600);
swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.gray_800);
} else {
}
// 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);
}
}
}
@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;