[tor-commits] [orbot/master] fixes for onboot logic and handling

n8fr8 at torproject.org n8fr8 at torproject.org
Fri Apr 3 17:04:08 UTC 2015


commit 150488dd9c04594cc646e38e728a16659683e6aa
Author: Nathan Freitas <nathan at freitas.net>
Date:   Thu Apr 2 23:11:04 2015 -0400

    fixes for onboot logic and handling
---
 AndroidManifest.xml                                |   16 +++++-
 .../torproject/android/service/OnBootReceiver.java |    7 +--
 .../torproject/android/vpn/OrbotVpnService.java    |   51 ++++++++++----------
 3 files changed, 43 insertions(+), 31 deletions(-)

diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2dd7d1c..18e13c3 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -17,6 +17,7 @@
 	<uses-permission android:name="android.permission.INTERNET"/>
 	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 	<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+	
 
     <application android:name="org.torproject.android.OrbotApp" android:icon="@drawable/ic_launcher"
      android:label="@string/app_name" 
@@ -89,7 +90,8 @@
 			      	
 			      	
       	<activity android:name="org.torproject.android.ui.wizard.PromoAppsActivity" android:exported="false"/>
-  org.torproject.android.ui.wizard.ChooseLocaleWizardActivityui.ChooseLocaleWizardActivity" android:exported="false"/>
+      	<activity android:name="org.torproject.android.ui.wizard.ChooseLocaleWizardActivity" android:exported="false"/>
+      	
       	
       	<activity android:name=".settings.SettingsPreferences"  android:label="@string/app_name"/>
         <activity android:name=".settings.AppManager"  android:label="@string/app_name"/>       
@@ -105,11 +107,21 @@
            </intent-filter>
    	</service>
    	
-   	<receiver android:name="org.torproject.android.service.OnBootReceiver">
+   	<receiver android:name="org.torproject.android.service.OnBootReceiver"
+   	    android:enabled="true" android:exported="true"
+   	    
+   	    >
 			<intent-filter>
 				<action	android:name="android.intent.action.BOOT_COMPLETED" />
+				  <category android:name="android.intent.category.HOME" />
+			</intent-filter>
+			<intent-filter>
 				<action android:name="android.intent.action.QUICKBOOT_POWERON" />
+				  <category android:name="android.intent.category.HOME" />
+			</intent-filter>
+			<intent-filter>
 				<action android:name="android.intent.action.MEDIA_MOUNTED"/>
+				  <category android:name="android.intent.category.HOME" />
 			</intent-filter>
 		</receiver>
 		
diff --git a/src/org/torproject/android/service/OnBootReceiver.java b/src/org/torproject/android/service/OnBootReceiver.java
index 340bfab..9ed66ae 100644
--- a/src/org/torproject/android/service/OnBootReceiver.java
+++ b/src/org/torproject/android/service/OnBootReceiver.java
@@ -20,12 +20,13 @@ public class OnBootReceiver extends BroadcastReceiver {
 		
 		if (startOnBoot)
 		{
-			if (useVPN)
-				startVpnService(context);
 			
 			startService(TorServiceConstants.CMD_INIT,context);
 			startService(TorServiceConstants.CMD_START,context);		
-		
+			
+			if (useVPN)
+				startVpnService(context);
+			
 		}
 
 	}
diff --git a/src/org/torproject/android/vpn/OrbotVpnService.java b/src/org/torproject/android/vpn/OrbotVpnService.java
index 93a4d0a..ec841cb 100644
--- a/src/org/torproject/android/vpn/OrbotVpnService.java
+++ b/src/org/torproject/android/vpn/OrbotVpnService.java
@@ -28,8 +28,11 @@ import android.content.pm.PackageManager.NameNotFoundException;
 import android.net.VpnService;
 import android.os.Build;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.Message;
+import android.os.Parcel;
 import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
 import android.util.Log;
 import android.widget.Toast;
 
@@ -37,6 +40,7 @@ import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
 import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone;
 
 @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
+
 public class OrbotVpnService extends VpnService implements Handler.Callback {
     private static final String TAG = "OrbotVpnService";
 
@@ -217,37 +221,32 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
     
         
     }
-
+    
     @Override
     public void onRevoke() {
-        
-        new Thread ()
+    
+        try
         {
-            public void run()
+        	Log.d(TAG,"closing interface, destroying VPN interface");
+            
+        	//Tun2Socks.Stop();
+        	
+        	if (mInterface != null)
             {
-                try
-                {
-                	Log.d(TAG,"closing interface, destroying VPN interface");
-                    
-                	//Tun2Socks.Stop();
-                	
-                	if (mInterface != null)
-                    {
-                		mInterface.close();
-                		mInterface = null;
-                    }
-                	
-                }
-                catch (Exception e)
-                {
-                    Log.d(TAG,"error stopping tun2socks",e);
-                }
-	            catch (Error e)
-	            {
-	                Log.d(TAG,"error stopping tun2socks",e);
-	            }
+        		mInterface.close();
+        		mInterface = null;
             }
-        }.start();
+        	
+        }
+        catch (Exception e)
+        {
+            Log.d(TAG,"error stopping tun2socks",e);
+        }
+        catch (Error e)
+        {
+            Log.d(TAG,"error stopping tun2socks",e);
+        }
+
         super.onRevoke();
     }
     





More information about the tor-commits mailing list