[tor-commits] [orbot/master] fixes for prefs/settings management

n8fr8 at torproject.org n8fr8 at torproject.org
Mon Jul 22 19:22:58 UTC 2013


commit 21d1023adabbefb97f7c98a87686693808ffaa2f
Author: Nathan Freitas <nathan at freitas.net>
Date:   Mon Jul 22 15:18:02 2013 -0400

    fixes for prefs/settings management
---
 src/org/torproject/android/Orbot.java              |   26 +--
 src/org/torproject/android/service/TorService.java |  175 ++++++++++----------
 .../torproject/android/settings/AppManager.java    |    2 +-
 .../android/settings/SettingsPreferences.java      |   10 +-
 .../android/wizard/ChooseLocaleWizardActivity.java |    2 +-
 .../android/wizard/ConfigureTransProxy.java        |    4 +-
 src/org/torproject/android/wizard/LotsaText.java   |    6 +-
 src/org/torproject/android/wizard/Permissions.java |    4 +-
 8 files changed, 115 insertions(+), 114 deletions(-)

diff --git a/src/org/torproject/android/Orbot.java b/src/org/torproject/android/Orbot.java
index 002ddd8..0c47441 100644
--- a/src/org/torproject/android/Orbot.java
+++ b/src/org/torproject/android/Orbot.java
@@ -4,18 +4,14 @@
 package org.torproject.android;
 
 import java.util.Locale;
-import java.util.StringTokenizer;
 
 import org.torproject.android.service.ITorService;
 import org.torproject.android.service.ITorServiceCallback;
 import org.torproject.android.service.TorServiceConstants;
 import org.torproject.android.settings.ProcessSettingsAsyncTask;
 import org.torproject.android.settings.SettingsPreferences;
-import org.torproject.android.share.ShareItem;
-import org.torproject.android.share.ShareService;
 import org.torproject.android.wizard.ChooseLocaleWizardActivity;
 
-import android.annotation.SuppressLint;
 import android.app.AlertDialog;
 import android.app.NotificationManager;
 import android.content.ComponentName;
@@ -25,6 +21,7 @@ import android.content.Intent;
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Configuration;
 import android.net.Uri;
@@ -33,7 +30,6 @@ import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
 import android.os.RemoteException;
-import android.os.StrictMode;
 import android.preference.PreferenceManager;
 import android.text.ClipboardManager;
 import android.text.Layout;
@@ -55,7 +51,7 @@ import com.actionbarsherlock.view.MenuInflater;
 import com.actionbarsherlock.view.MenuItem;
 
 
-public class Orbot extends SherlockActivity implements TorConstants, OnLongClickListener
+public class Orbot extends SherlockActivity implements TorConstants, OnLongClickListener, OnSharedPreferenceChangeListener
 {
 	/* Useful UI bits */
 	private TextView lblStatus = null; //the main text display widget
@@ -99,6 +95,9 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
         	StrictMode.setVmPolicy(vmpolicy);
         	}
         */
+
+    	prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+    	prefs.registerOnSharedPreferenceChangeListener(this);
         
         Orbot.setCurrent(this);
 
@@ -110,8 +109,6 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
         
         startService(new Intent(INTENT_TOR_SERVICE));
 		
-    	prefs = PreferenceManager.getDefaultSharedPreferences(this);
-    	
     	doLayout();
 	}
 	
@@ -368,7 +365,6 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 	
 	private void enableHiddenServicePort (int hsPort)
 	{
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
 		Editor pEdit = prefs.edit();
 		
 		String hsPortString = prefs.getString("pref_hs_ports", "");
@@ -522,7 +518,6 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 		{
 		
 			
-			SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
 	
 			boolean showWizard = prefs.getBoolean("show_wizard",true);
 			
@@ -586,7 +581,6 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 	private void startWizard ()
 	{
 
-        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
 
 		Editor pEdit = prefs.edit();
 		pEdit.putBoolean("wizardscreen1",true);
@@ -1075,11 +1069,10 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
     private void setLocale ()
     {
     	
-    	SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
 
         Configuration config = getResources().getConfiguration();
 
-        String lang = settings.getString(PREF_DEFAULT_LOCALE, "");
+        String lang = prefs.getString(PREF_DEFAULT_LOCALE, "");
         
         if (! "".equals(lang) && ! config.locale.getLanguage().equals(lang))
         {
@@ -1123,5 +1116,12 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 		
    		//return count+" kB";
 	}
+
+	@Override
+	public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
+			String key) {
+	
+		
+	}
    	
 }
diff --git a/src/org/torproject/android/service/TorService.java b/src/org/torproject/android/service/TorService.java
index 3520ec1..de3fc10 100644
--- a/src/org/torproject/android/service/TorService.java
+++ b/src/org/torproject/android/service/TorService.java
@@ -44,15 +44,14 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
 import android.net.ConnectivityManager;
 import android.net.Uri;
-import android.os.AsyncTask;
 import android.os.IBinder;
 import android.os.RemoteCallbackList;
 import android.os.RemoteException;
 import android.preference.PreferenceManager;
 import android.util.Log;
-import android.widget.Toast;
 
 public class TorService extends Service implements TorServiceConstants, TorConstants, Runnable, EventHandler
 {
@@ -97,9 +96,16 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 	private long mTotalTrafficWritten = 0;
 	private long mTotalTrafficRead = 0;
 	private boolean mConnectivity = true; 
+
+	private long lastRead = -1;
+	private long lastWritten = -1;
+	
 	
 	private NotificationManager mNotificationManager = null;
 	
+	
+	SharedPreferences mPrefs = null;
+
     public void logMessage(String msg)
     {
     	if (ENABLE_DEBUG_LOG)
@@ -246,6 +252,19 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 
 		_torInstance = this;
 		
+		mPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+		mPrefs.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener()
+		{
+
+			@Override
+			public void onSharedPreferenceChanged(
+					SharedPreferences sharedPreferences, String key) {
+				updateSettings();
+				
+			}
+			
+		});
+		
 		initTorPaths();
 
 	   IntentFilter mNetworkStateFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
@@ -276,9 +295,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 		if (intent != null && intent.getAction()!=null && intent.getAction().equals("onboot"))
 		{
 			
-			SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-			
-			boolean startOnBoot = prefs.getBoolean("pref_start_boot",false);
+			boolean startOnBoot = mPrefs.getBoolean("pref_start_boot",false);
 			
 			if (startOnBoot)
 			{
@@ -347,9 +364,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
     {
     	currentStatus = STATUS_OFF;
     	
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-    	
- 		boolean hasRoot = prefs.getBoolean(PREF_HAS_ROOT,false);
+ 		boolean hasRoot = mPrefs.getBoolean(PREF_HAS_ROOT,false);
  		
     	try
     	{	
@@ -407,9 +422,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 	private String getHiddenServiceHostname ()
 	{
 
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-		
-        boolean enableHiddenServices = prefs.getBoolean("pref_hs_enable", false);
+        boolean enableHiddenServices = mPrefs.getBoolean("pref_hs_enable", false);
         
         if (enableHiddenServices)
         {
@@ -420,7 +433,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 		    	try {
 					String onionHostname = Utils.readString(new FileInputStream(file)).trim();
 					showToolbarNotification(getString(R.string.hidden_service_on) + ' ' + onionHostname, HS_NOTIFY_ID, R.drawable.ic_stat_tor, Notification.FLAG_ONGOING_EVENT);
-					Editor pEdit = prefs.edit();
+					Editor pEdit = mPrefs.edit();
 					pEdit.putString("pref_hs_hostname",onionHostname);
 					pEdit.commit();
 				
@@ -534,9 +547,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 
     	initTorPaths();
 		
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-    	String currTorBinary = prefs.getString(TorServiceConstants.PREF_BINARY_TOR_VERSION_INSTALLED, null);
-    	String currPrivoxyBinary = prefs.getString(TorServiceConstants.PREF_BINARY_PRIVOXY_VERSION_INSTALLED, null);
+    	String currTorBinary = mPrefs.getString(TorServiceConstants.PREF_BINARY_TOR_VERSION_INSTALLED, null);
+    	String currPrivoxyBinary = mPrefs.getString(TorServiceConstants.PREF_BINARY_PRIVOXY_VERSION_INSTALLED, null);
     	
     	StringBuilder cmdLog = new StringBuilder();
     	int exitCode = -1;
@@ -579,7 +591,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
     		if (success)
     		{
     			
-    			Editor edit = prefs.edit();
+    			Editor edit = mPrefs.edit();
     			edit.putString(TorServiceConstants.PREF_BINARY_TOR_VERSION_INSTALLED, TorServiceConstants.BINARY_TOR_VERSION);
     			edit.putString(TorServiceConstants.PREF_BINARY_PRIVOXY_VERSION_INSTALLED, TorServiceConstants.BINARY_PRIVOXY_VERSION);
     			edit.commit();
@@ -625,17 +637,30 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 		
     }
     
-    public void initTor () throws Exception
+    private boolean mHasRoot = false;
+    private boolean mEnableTransparentProxy = false;
+    private boolean mTransProxyAll = false;
+    private boolean mTransProxyTethering = false;
+    
+    private void updateSettings ()
     {
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-    	ENABLE_DEBUG_LOG = prefs.getBoolean("pref_enable_logging",false);
+    	android.os.Debug.waitForDebugger();
+
+    	mHasRoot = mPrefs.getBoolean(PREF_HAS_ROOT,false);
+ 		mEnableTransparentProxy = mPrefs.getBoolean("pref_transparent", false);
+ 		mTransProxyAll = mPrefs.getBoolean("pref_transparent_all", false);
+	 	mTransProxyTethering = mPrefs.getBoolean("pref_transparent_tethering", false);
+	 	
+    	ENABLE_DEBUG_LOG = mPrefs.getBoolean("pref_enable_logging",false);
     	Log.i(TAG,"debug logging:" + ENABLE_DEBUG_LOG);
 
- 		boolean hasRoot = prefs.getBoolean(PREF_HAS_ROOT,false);
- 		boolean enableTransparentProxy = prefs.getBoolean("pref_transparent", false);
- 		boolean transProxyAll = prefs.getBoolean("pref_transparent_all", false);
-	 	boolean transProxyTethering = prefs.getBoolean("pref_transparent_tethering", false);
-	 		
+    	prefPersistNotifications = mPrefs.getBoolean(TorConstants.PREF_PERSIST_NOTIFICATIONS, true);
+    }
+    
+    public void initTor () throws Exception
+    {
+    	
+    	updateSettings ();
     	
 		currentStatus = STATUS_CONNECTING;
 
@@ -652,10 +677,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
     		runTorShellCmd();
     		runPrivoxyShellCmd();
     		
-    		if (hasRoot && enableTransparentProxy)
-    			enableTransparentProxy(transProxyAll, transProxyTethering);
-    		
-    		//new Thread (new TotalUpdaterRunnable()).start();
+    		if (mHasRoot && mEnableTransparentProxy)
+    			enableTransparentProxy(mTransProxyAll, mTransProxyTethering);
     		
 
 		} catch (Exception e) {
@@ -751,8 +774,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 		
 		String torrcPath = new File(appBinHome, TORRC_ASSET_KEY).getAbsolutePath();
 		
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-		boolean transProxyTethering = prefs.getBoolean("pref_transparent_tethering", false);
+		boolean transProxyTethering = mPrefs.getBoolean("pref_transparent_tethering", false);
  		
 		if (transProxyTethering)
 		{
@@ -1033,7 +1055,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 			}
 		}
 		
-		private void startNotification (String message)
+		private void startNotification (String message, boolean persistent)
 		{
 			
 			Notification notice = new Notification(R.drawable.ic_stat_tor, getString(R.string.status_activated), System.currentTimeMillis());
@@ -1045,7 +1067,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 			//This method is deprecated. Use Notification.Builder instead.
 			notice.setLatestEventInfo(TorService.this,getString(R.string.app_name), message, pendIntent);
 
-			if (prefPersistNotifications)
+			if (persistent)
 			{
 				notice.flags |= Notification.FLAG_NO_CLEAR;
 				notice.flags |= Notification.FLAG_ONGOING_EVENT;
@@ -1072,7 +1094,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
           {
         	  currentStatus = STATUS_ON;
 
-        	  startNotification(getString(R.string.status_activated));
+        	  startNotification(getString(R.string.status_activated),prefPersistNotifications);
         	    			
 
   			
@@ -1133,28 +1155,26 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 	
 	public void bandwidthUsed(long read, long written) {
 		
+		if (read != lastRead || written != lastWritten)
+		{
 			StringBuilder sb = new StringBuilder();
 			sb.append("Bandwidth: ");
 			sb.append(formatCount(read));
 			sb.append(" down / ");
 			sb.append(formatCount(written));
 			sb.append(" up");
-	   	
-		if (mConnectivity && prefPersistNotifications)
-			startNotification(sb.toString());
-		
-		mTotalTrafficWritten += written;
-		mTotalTrafficRead += read;
-		/*
-		try
-		{
-			mTotalTrafficWritten =  Long.parseLong(conn.getInfo("traffic/written"));
-			mTotalTrafficRead = Long.parseLong(conn.getInfo("traffic/read"));
+		   	
+			if (mConnectivity && prefPersistNotifications)
+				startNotification(sb.toString(),prefPersistNotifications);
+			
+			mTotalTrafficWritten += written;
+			mTotalTrafficRead += read;
+			
+			sendCallbackStatusMessage(written, read, mTotalTrafficWritten, mTotalTrafficRead); 
 		}
-		catch (IOException ioe){}
-  	  */
 		
-		sendCallbackStatusMessage(written, read, mTotalTrafficWritten, mTotalTrafficRead); 
+		lastWritten = written;
+		lastRead = read;
 
 	}
 	
@@ -1269,12 +1289,6 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 		}
     	
     	
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-    	
-    	ENABLE_DEBUG_LOG = prefs.getBoolean("pref_enable_logging",false);
-    	Log.i(TAG,"debug logging:" + ENABLE_DEBUG_LOG);
-    	
-    	prefPersistNotifications = prefs.getBoolean(TorConstants.PREF_PERSIST_NOTIFICATIONS, true);
     	
     	new Thread ()
     	{
@@ -1335,7 +1349,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 
 		    	
 			} catch (RemoteException e) {
-				logException ("error applying prefs",e);
+				logException ("error applying mPrefs",e);
 			}
         	
         }
@@ -1589,16 +1603,16 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 					if (!mConnectivity)
 					{
 						logNotice("No network connectivity. Putting Tor to sleep...");
-						startNotification(getString(R.string.no_internet_connection_tor));
+						startNotification(getString(R.string.no_internet_connection_tor),prefPersistNotifications);
 						
 					}
 					else
 					{
 						logNotice("Network connectivity is good. Waking Tor up...");
-						startNotification(getString(R.string.status_activated));
+						startNotification(getString(R.string.status_activated),prefPersistNotifications);
 			        }
 	    		} catch (RemoteException e) {
-					logException ("error applying prefs",e);
+					logException ("error applying mPrefs",e);
 				}
     		}
     	}
@@ -1606,34 +1620,27 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 
     private boolean processSettingsImpl () throws RemoteException
     {
-    	
-    	SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-		
-    	prefPersistNotifications = prefs.getBoolean(TorConstants.PREF_PERSIST_NOTIFICATIONS, true);
    
-    	ENABLE_DEBUG_LOG = prefs.getBoolean("pref_enable_logging",false);
-    	Log.i(TAG,"debug logging:" + ENABLE_DEBUG_LOG);
-    		
-		boolean useBridges = prefs.getBoolean(TorConstants.PREF_BRIDGES_ENABLED, false);
+		boolean useBridges = mPrefs.getBoolean(TorConstants.PREF_BRIDGES_ENABLED, false);
 		
-		//boolean autoUpdateBridges = prefs.getBoolean(TorConstants.PREF_BRIDGES_UPDATED, false);
+		//boolean autoUpdateBridges = mPrefs.getBoolean(TorConstants.PREF_BRIDGES_UPDATED, false);
 
-        boolean becomeRelay = prefs.getBoolean(TorConstants.PREF_OR, false);
-        boolean ReachableAddresses = prefs.getBoolean(TorConstants.PREF_REACHABLE_ADDRESSES,false);
-        boolean enableHiddenServices = prefs.getBoolean("pref_hs_enable", false);
+        boolean becomeRelay = mPrefs.getBoolean(TorConstants.PREF_OR, false);
+        boolean ReachableAddresses = mPrefs.getBoolean(TorConstants.PREF_REACHABLE_ADDRESSES,false);
+        boolean enableHiddenServices = mPrefs.getBoolean("pref_hs_enable", false);
 
-        boolean enableStrictNodes = prefs.getBoolean("pref_strict_nodes", false);
-        String entranceNodes = prefs.getString("pref_entrance_nodes", "");
-        String exitNodes = prefs.getString("pref_exit_nodes", "");
-        String excludeNodes = prefs.getString("pref_exclude_nodes", "");
+        boolean enableStrictNodes = mPrefs.getBoolean("pref_strict_nodes", false);
+        String entranceNodes = mPrefs.getString("pref_entrance_nodes", "");
+        String exitNodes = mPrefs.getString("pref_exit_nodes", "");
+        String excludeNodes = mPrefs.getString("pref_exclude_nodes", "");
         
-        String proxyType = prefs.getString("pref_proxy_type", null);
+        String proxyType = mPrefs.getString("pref_proxy_type", null);
         if (proxyType != null)
         {
-        	String proxyHost = prefs.getString("pref_proxy_host", null);
-        	String proxyPort = prefs.getString("pref_proxy_port", null);
-        	String proxyUser = prefs.getString("pref_proxy_username", null);
-        	String proxyPass = prefs.getString("pref_proxy_password", null);
+        	String proxyHost = mPrefs.getString("pref_proxy_host", null);
+        	String proxyPort = mPrefs.getString("pref_proxy_port", null);
+        	String proxyUser = mPrefs.getString("pref_proxy_username", null);
+        	String proxyPass = mPrefs.getString("pref_proxy_password", null);
         	
         	if (proxyHost != null && proxyPort != null)
         	{
@@ -1688,7 +1695,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
         
 		if (useBridges)
 		{
-			String bridgeList = prefs.getString(TorConstants.PREF_BRIDGES_LIST,getString(R.string.default_bridges));
+			String bridgeList = mPrefs.getString(TorConstants.PREF_BRIDGES_LIST,getString(R.string.default_bridges));
 
 			if (bridgeList == null || bridgeList.length() == 0)
 			{
@@ -1711,7 +1718,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 			
 			showToolbarNotification(getString(R.string.notification_using_bridges) + ": " + bridgeList, TRANSPROXY_NOTIFY_ID, R.drawable.ic_stat_tor, -1);
 
-			boolean obfsBridges = prefs.getBoolean(TorConstants.PREF_BRIDGES_OBFUSCATED, false);
+			boolean obfsBridges = mPrefs.getBoolean(TorConstants.PREF_BRIDGES_OBFUSCATED, false);
 			String bridgeCfgKey = "bridge";
 
 			if (obfsBridges)
@@ -1745,7 +1752,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
             if (ReachableAddresses)
             {
                 String ReachableAddressesPorts =
-                    prefs.getString(TorConstants.PREF_REACHABLE_ADDRESSES_PORTS, "*:80,*:443");
+                    mPrefs.getString(TorConstants.PREF_REACHABLE_ADDRESSES_PORTS, "*:80,*:443");
                 
                 mBinder.updateConfiguration("ReachableAddresses", ReachableAddressesPorts, false);
 
@@ -1766,8 +1773,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
         {
             if (becomeRelay && (!useBridges) && (!ReachableAddresses))
             {
-                int ORPort =  Integer.parseInt(prefs.getString(TorConstants.PREF_OR_PORT, "9001"));
-                String nickname = prefs.getString(TorConstants.PREF_OR_NICKNAME, "Orbot");
+                int ORPort =  Integer.parseInt(mPrefs.getString(TorConstants.PREF_OR_PORT, "9001"));
+                String nickname = mPrefs.getString(TorConstants.PREF_OR_NICKNAME, "Orbot");
 
                 String dnsFile = writeDNSFile ();
                 
@@ -1797,7 +1804,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
         	mBinder.updateConfiguration("HiddenServiceDir",appCacheHome.getAbsolutePath(), false);
         	//mBinder.updateConfiguration("RendPostPeriod", "600 seconds", false); //possible feature to investigate
         	
-        	String hsPorts = prefs.getString("pref_hs_ports","");
+        	String hsPorts = mPrefs.getString("pref_hs_ports","");
         	
         	StringTokenizer st = new StringTokenizer (hsPorts,",");
         	String hsPortConfig = null;
diff --git a/src/org/torproject/android/settings/AppManager.java b/src/org/torproject/android/settings/AppManager.java
index ae03924..bbf2644 100644
--- a/src/org/torproject/android/settings/AppManager.java
+++ b/src/org/torproject/android/settings/AppManager.java
@@ -272,7 +272,7 @@ public class AppManager extends Activity implements OnCheckedChangeListener, OnC
 		if (apps == null)
 			return;
 		
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
 
 	//	final SharedPreferences prefs = context.getSharedPreferences(PREFS_KEY, 0);
 
diff --git a/src/org/torproject/android/settings/SettingsPreferences.java b/src/org/torproject/android/settings/SettingsPreferences.java
index f0fbafd..e6adcf9 100644
--- a/src/org/torproject/android/settings/SettingsPreferences.java
+++ b/src/org/torproject/android/settings/SettingsPreferences.java
@@ -46,16 +46,10 @@ public class SettingsPreferences
 		
 		addPreferencesFromResource(R.xml.preferences);
 		
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 		
 		hasRoot = prefs.getBoolean("has_root",false);
 		
-		if (!hasRoot)
-		{
-			hasRoot = prefs.getBoolean("use_whispercore", false);
-			
-		}
-		
 		init();
 	}
 	
@@ -170,7 +164,7 @@ public class SettingsPreferences
 		}
 		else if (preference == prefLocale)
 		{
-			 SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
+			 SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 		        Configuration config = getResources().getConfiguration();
 
diff --git a/src/org/torproject/android/wizard/ChooseLocaleWizardActivity.java b/src/org/torproject/android/wizard/ChooseLocaleWizardActivity.java
index c958221..a8bebe9 100644
--- a/src/org/torproject/android/wizard/ChooseLocaleWizardActivity.java
+++ b/src/org/torproject/android/wizard/ChooseLocaleWizardActivity.java
@@ -116,7 +116,7 @@ public class ChooseLocaleWizardActivity extends Activity implements TorConstants
 	private void setLocalePref(int selId)
 	{
 
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
         Configuration config = getResources().getConfiguration();
 
diff --git a/src/org/torproject/android/wizard/ConfigureTransProxy.java b/src/org/torproject/android/wizard/ConfigureTransProxy.java
index 49aa2e3..974c968 100644
--- a/src/org/torproject/android/wizard/ConfigureTransProxy.java
+++ b/src/org/torproject/android/wizard/ConfigureTransProxy.java
@@ -76,7 +76,7 @@ public class ConfigureTransProxy extends Activity implements TorConstants {
 	
 	private void setupUI ()
 	{
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 		boolean transEnabled = prefs.getBoolean(PREF_TRANSPARENT, false);
 		
@@ -162,7 +162,7 @@ public class ConfigureTransProxy extends Activity implements TorConstants {
 	        		RadioButton rb1 = (RadioButton)findViewById(R.id.radio1);
 	        		RadioButton rb2 = (RadioButton)findViewById(R.id.radio2);
 
-	        		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+	        		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 					Editor pEdit = prefs.edit();
 					pEdit.putBoolean(PREF_TRANSPARENT, rb0.isChecked());
diff --git a/src/org/torproject/android/wizard/LotsaText.java b/src/org/torproject/android/wizard/LotsaText.java
index 3393157..2bff373 100644
--- a/src/org/torproject/android/wizard/LotsaText.java
+++ b/src/org/torproject/android/wizard/LotsaText.java
@@ -39,7 +39,7 @@ public class LotsaText extends Activity implements TorConstants{
 		super.onStart();
 		setContentView(R.layout.scrollingtext_buttons_view);
 		
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 		boolean wizardScreen1 = prefs.getBoolean("wizardscreen1",true);
 		if(wizardScreen1)
@@ -71,7 +71,7 @@ public class LotsaText extends Activity implements TorConstants{
 	
 	private void stepOne() {
 		
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 		Editor pEdit = prefs.edit();
 		pEdit.putBoolean("wizardscreen1",true);
@@ -104,7 +104,7 @@ public class LotsaText extends Activity implements TorConstants{
 	
 	private void stepTwo() {
 		
-		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 		Editor pEdit = prefs.edit();
 		pEdit.putBoolean("wizardscreen1",false);
diff --git a/src/org/torproject/android/wizard/Permissions.java b/src/org/torproject/android/wizard/Permissions.java
index ad0cd44..b93ba19 100644
--- a/src/org/torproject/android/wizard/Permissions.java
+++ b/src/org/torproject/android/wizard/Permissions.java
@@ -115,7 +115,7 @@ public class Permissions extends Activity implements TorConstants {
 					boolean isChecked) {
 			
 				
-				SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+				SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
 				Editor pEdit = prefs.edit();
 				
@@ -144,7 +144,7 @@ public class Permissions extends Activity implements TorConstants {
 			public void onClick(View v) {
 				//Check and Install iptables - TorTransProxy.testOwnerModule(this)
 				
-				SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+				SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 				boolean hasRoot = prefs.getBoolean("has_root",false);
 				
 				





More information about the tor-commits mailing list