fixes for onboot logic and handling
This commit is contained in:
parent
8c5b38eeea
commit
150488dd9c
|
@ -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>
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue