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.INTERNET"/>
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
|
|
||||||
|
|
||||||
<application android:name="org.torproject.android.OrbotApp" android:icon="@drawable/ic_launcher"
|
<application android:name="org.torproject.android.OrbotApp" android:icon="@drawable/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
@ -89,7 +90,8 @@
|
||||||
|
|
||||||
|
|
||||||
<activity android:name="org.torproject.android.ui.wizard.PromoAppsActivity" android:exported="false"/>
|
<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.SettingsPreferences" android:label="@string/app_name"/>
|
||||||
<activity android:name=".settings.AppManager" android:label="@string/app_name"/>
|
<activity android:name=".settings.AppManager" android:label="@string/app_name"/>
|
||||||
|
@ -105,11 +107,21 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</service>
|
</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>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
<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" />
|
<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"/>
|
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
|
||||||
|
<category android:name="android.intent.category.HOME" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
|
|
|
@ -20,12 +20,13 @@ public class OnBootReceiver extends BroadcastReceiver {
|
||||||
|
|
||||||
if (startOnBoot)
|
if (startOnBoot)
|
||||||
{
|
{
|
||||||
if (useVPN)
|
|
||||||
startVpnService(context);
|
|
||||||
|
|
||||||
startService(TorServiceConstants.CMD_INIT,context);
|
startService(TorServiceConstants.CMD_INIT,context);
|
||||||
startService(TorServiceConstants.CMD_START,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.net.VpnService;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.IBinder;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
|
import android.os.Parcel;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
|
import android.os.RemoteException;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
@ -37,6 +40,7 @@ import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
|
||||||
import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone;
|
import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone;
|
||||||
|
|
||||||
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
|
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
|
||||||
|
|
||||||
public class OrbotVpnService extends VpnService implements Handler.Callback {
|
public class OrbotVpnService extends VpnService implements Handler.Callback {
|
||||||
private static final String TAG = "OrbotVpnService";
|
private static final String TAG = "OrbotVpnService";
|
||||||
|
|
||||||
|
@ -217,37 +221,32 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRevoke() {
|
public void onRevoke() {
|
||||||
|
|
||||||
new Thread ()
|
try
|
||||||
{
|
{
|
||||||
public void run()
|
Log.d(TAG,"closing interface, destroying VPN interface");
|
||||||
|
|
||||||
|
//Tun2Socks.Stop();
|
||||||
|
|
||||||
|
if (mInterface != null)
|
||||||
{
|
{
|
||||||
try
|
mInterface.close();
|
||||||
{
|
mInterface = null;
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}.start();
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.d(TAG,"error stopping tun2socks",e);
|
||||||
|
}
|
||||||
|
catch (Error e)
|
||||||
|
{
|
||||||
|
Log.d(TAG,"error stopping tun2socks",e);
|
||||||
|
}
|
||||||
|
|
||||||
super.onRevoke();
|
super.onRevoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue