private void DoStop() { DoChangeStatus(VPN.Status.DISCONNECTING); SupportTools.StartThread(new Java.Lang.Runnable(() => { DoStopService(); currentNotificationText = ""; WaitForVpnThreadToFinish(); })); }
private void DoStart(Bundle data) { LastError = ""; DoChangeStatus(VPN.Status.CONNECTING); if ((Application as AndroidApplication).Initialized) { try { TunnelSetup(data); } catch (Exception e) { LastError = "Tunnel start failed: " + e.Message; DoStopService(); } Java.Lang.Thread newVpnTask = SupportTools.StartThread(new Java.Lang.Runnable(() => { EddieLogger.Info("Starting VPN thread"); vpnTunnel.Run(); })); if (newVpnTask != null) { vpnThread = newVpnTask; } } else { LastError = "Initialization failed"; DoStopService(); } }