[tor-commits] [orbot/master] auto-restart Tor when config changes

n8fr8 at torproject.org n8fr8 at torproject.org
Wed Apr 8 21:04:31 UTC 2015


commit e6fe25267fbcb511aa0dd64a856bec934d5e6d2e
Author: Nathan Freitas <nathan at freitas.net>
Date:   Wed Apr 8 17:01:09 2015 -0400

    auto-restart Tor when config changes
---
 src/org/torproject/android/OrbotMainActivity.java |   57 ++++++++++++---------
 1 file changed, 32 insertions(+), 25 deletions(-)

diff --git a/src/org/torproject/android/OrbotMainActivity.java b/src/org/torproject/android/OrbotMainActivity.java
index 405e930..26abd58 100644
--- a/src/org/torproject/android/OrbotMainActivity.java
+++ b/src/org/torproject/android/OrbotMainActivity.java
@@ -822,6 +822,7 @@ public class OrbotMainActivity extends Activity implements OrbotConstants, OnLon
         else if (request == REQUEST_VPN && response == RESULT_OK)
         {
             startService(TorServiceConstants.CMD_VPN);
+            restartTor ();   
         }
         
         IntentResult scanResult = IntentIntegrator.parseActivityResult(request, response, data);
@@ -1005,30 +1006,7 @@ public class OrbotMainActivity extends Activity implements OrbotConstants, OnLon
 			String bridgeList = mPrefs.getString(OrbotConstants.PREF_BRIDGES_LIST,null);
 			if (bridgeList != null && bridgeList.length() > 0)
 			{
-				try
-				{
-					//do auto restart
-					stopTor ();
-					
-					mHandler.postDelayed(new Runnable () {
-						
-						public void run ()
-						{
-							try 
-							{
-								startTor();
-							}
-							catch (Exception e)
-							{
-								Log.e(TAG,"can't start orbot",e);
-							}
-						}
-					}, 2000);
-				}
-				catch (Exception e)
-				{
-					Log.e(TAG,"can't stop orbot",e);
-				}
+				restartTor ();
 			}
 			
 		}
@@ -1036,6 +1014,34 @@ public class OrbotMainActivity extends Activity implements OrbotConstants, OnLon
 		
     }
     
+    private void restartTor ()
+    {
+    	try
+		{
+			//do auto restart
+			stopTor ();
+			
+			mHandler.postDelayed(new Runnable () {
+				
+				public void run ()
+				{
+					try 
+					{
+						startTor();
+					}
+					catch (Exception e)
+					{
+						Log.e(TAG,"can't start orbot",e);
+					}
+				}
+			}, 2000);
+		}
+		catch (Exception e)
+		{
+			Log.e(TAG,"can't stop orbot",e);
+		}
+    }
+    
     public void promptStartVpnService ()
     {
     	 LayoutInflater li = LayoutInflater.from(this);
@@ -1086,13 +1092,14 @@ public class OrbotMainActivity extends Activity implements OrbotConstants, OnLon
         else
         {
             startService(TorServiceConstants.CMD_VPN);
-
+            restartTor ();
         }
     }
     
     public void stopVpnService ()
     {    	
         startService(TorServiceConstants.CMD_VPN_CLEAR);
+        restartTor ();
     }
 
     private boolean flushTransProxy ()





More information about the tor-commits mailing list