From 159e1dff789401c66daf6c939261bbe9179cc09d Mon Sep 17 00:00:00 2001 From: Mygod Date: Mon, 11 Jul 2016 19:51:47 +0800 Subject: [PATCH] Bugfix for NAT mode --- .../github/shadowsocks/ShadowsocksRunnerService.scala | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksRunnerService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksRunnerService.scala index 9af9c182..b9cadb2b 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksRunnerService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksRunnerService.scala @@ -55,14 +55,17 @@ class ShadowsocksRunnerService extends Service with ServiceBoundContext { override def onServiceConnected() { handler.postDelayed(() => if (bgService != null) { - if (app.isNatEnabled || VpnService.prepare(ShadowsocksRunnerService.this) == null) { - bgService.use(app.profileId) - bgService.getState // ensure the oneway call to use is finished - } + if (app.isNatEnabled) startBackgroundService() + else if (VpnService.prepare(ShadowsocksRunnerService.this) == null) startBackgroundService() stopSelf() }, 1000) } + def startBackgroundService() = { + bgService.use(app.profileId) + bgService.getState // ensure the oneway call to use is finished + } + override def onCreate() { super.onCreate() attachService()