X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fhelpers%2FOrbotProxyHelper.java;h=02f76466a7aeb592e84e3a73c8eeba4323457a18;hp=a3607dad9ebaa98bd9f947871aeb4c9cca997098;hb=418b3169ab1aa4ebd05e041f29dafccac84540e1;hpb=5a385f0ba12a7af005761e30155f7fd18767d2f9 diff --git a/app/src/main/java/com/stoutner/privacybrowser/helpers/OrbotProxyHelper.java b/app/src/main/java/com/stoutner/privacybrowser/helpers/OrbotProxyHelper.java index a3607dad..02f76466 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/helpers/OrbotProxyHelper.java +++ b/app/src/main/java/com/stoutner/privacybrowser/helpers/OrbotProxyHelper.java @@ -1,5 +1,5 @@ /* - * Copyright © 2016-2018 Soren Stoutner . + * Copyright © 2016-2019 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -24,12 +24,15 @@ import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.net.Proxy; -import android.support.v7.app.AlertDialog; +import android.preference.PreferenceManager; import android.util.ArrayMap; import android.util.Log; +import androidx.appcompat.app.AlertDialog; + import com.stoutner.privacybrowser.activities.MainWebViewActivity; import com.stoutner.privacybrowser.R; @@ -39,15 +42,21 @@ import java.lang.reflect.Method; public class OrbotProxyHelper { public static void setProxy(Context privacyBrowserContext, Activity parentActivity, String proxyHost, String proxyPort) { - // Set the proxy values - System.setProperty("proxyHost", proxyHost); - System.setProperty("proxyPort", proxyPort); + if (proxyPort.equals("0")) { + // Clear the proxy values. + System.clearProperty("proxyHost"); + System.clearProperty("proxyPort"); + } else { + // Set the proxy values + System.setProperty("proxyHost", proxyHost); + System.setProperty("proxyPort", proxyPort); + } - // These entries shouldn't be needed if the above general settings are applied. But I leave them in here for troubleshooting just in case. - //System.setProperty("http.proxyHost", proxyHost); - //System.setProperty("http.proxyPort", proxyPort); - //System.setProperty("https.proxyHost", proxyHost); - //System.setProperty("https.proxyPort", proxyPort); + // These entries shouldn't be needed if the above general settings are applied. They are here for troubleshooting just in case. + // System.setProperty("http.proxyHost", proxyHost); + // System.setProperty("http.proxyPort", proxyPort); + // System.setProperty("https.proxyHost", proxyHost); + // System.setProperty("https.proxyPort", proxyPort); // Use reflection to apply the new proxy values. try { @@ -95,7 +104,7 @@ public class OrbotProxyHelper { if (proxyPort.equals("8118")) { // Orbot proxy was turned on. try { // Check to see if Orbot is installed. PackageManager packageManager = privacyBrowserContext.getPackageManager(); - packageManager.getPackageInfo("org.torproject.android", PackageManager.GET_ACTIVITIES); + packageManager.getPackageInfo("org.torproject.android", 0); // Ask Orbot to connect if its current status is not "ON". if (!MainWebViewActivity.orbotStatus.equals("ON")) { @@ -115,8 +124,14 @@ public class OrbotProxyHelper { // Use `AlertDialog.Builder` to create the `AlertDialog`. AlertDialog.Builder dialogBuilder; + // Get a handle for the shared preferences. + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(privacyBrowserContext); + + // Get the theme preference. + boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false); + // Set the style according to the theme. - if (MainWebViewActivity.darkTheme) { + if (darkTheme) { dialogBuilder = new AlertDialog.Builder(parentActivity, R.style.PrivacyBrowserAlertDialogDark); } else { dialogBuilder = new AlertDialog.Builder(parentActivity, R.style.PrivacyBrowserAlertDialogLight);