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 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 the launching intent
Intent intent = getIntent();
- // Get the user agent.
+ // Get the information from the intent.
String userAgent = intent.getStringExtra("user_agent");
+ String currentUrl = intent.getStringExtra("current_url");
// Store a handle for the current activity.
activity = this;
// Get a handle for the url text box.
EditText urlEditText = findViewById(R.id.url_edittext);
- // Get the formatted URL string from the main activity.
- String formattedUrlString = MainWebViewActivity.formattedUrlString;
-
// Populate the URL text box.
- urlEditText.setText(formattedUrlString);
+ urlEditText.setText(currentUrl);
// Initialize the foreground color spans for highlighting the URLs. We have to use the deprecated `getColor()` until API >= 23.
redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
}
});
- // Implement swipe to refresh.
+ // Get a handle for the swipe refresh layout.
SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.view_source_swiperefreshlayout);
+
+ // Implement swipe to refresh.
swipeRefreshLayout.setOnRefreshListener(() -> {
// Get the URL.
String url = urlEditText.getText().toString();
});
// 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 (formattedUrlString.startsWith("http")) {
- new GetSource(this, userAgent).execute(formattedUrlString);
+ if (currentUrl.startsWith("http")) {
+ new GetSource(this, userAgent).execute(currentUrl);
}
}
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;