diff --git a/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala index 58c26992..85b188f4 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala @@ -366,6 +366,8 @@ class ShadowVpnService extends VpnService { override def onCreate() { super.onCreate() + Config.refresh(this) + EasyTracker .getInstance(this) .send(MapBuilder diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 2d69eb5d..537f4d60 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -739,11 +739,10 @@ class Shadowsocks } } - val container = getApplication.asInstanceOf[ShadowsocksApplication].tagContainer - if (container != null) container.refresh(); - switchButton.setOnCheckedChangeListener(this) + Config.refresh(this) + } private def setPreferenceEnabled(enabled: Boolean) { diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala index 967dd14e..a6df5a2a 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala @@ -388,6 +388,8 @@ class ShadowsocksService extends Service { override def onCreate() { super.onCreate() + Config.refresh(this) + EasyTracker .getInstance(this) .send(MapBuilder diff --git a/src/main/scala/com/github/shadowsocks/Utils.scala b/src/main/scala/com/github/shadowsocks/Utils.scala index 73f59a66..65832049 100644 --- a/src/main/scala/com/github/shadowsocks/Utils.scala +++ b/src/main/scala/com/github/shadowsocks/Utils.scala @@ -111,6 +111,11 @@ object Config { } } + def refresh(context: Context) { + val container = context.getApplicationContext.asInstanceOf[ShadowsocksApplication].tagContainer + if (container != null) container.refresh() + } + def getPublicConfig(container: Container, config: Config): Config = { val list = container.getString("proxy_list") val proxies = util.Random.shuffle(list.split('|').toSeq).toSeq