From 0f9b686e5530a5d8e5f9f06d1fdad36721338c34 Mon Sep 17 00:00:00 2001 From: Mygod Date: Fri, 25 Dec 2015 17:29:00 +0800 Subject: [PATCH] Fix per-app proxy not enabled when NAT is on --- .../com/github/shadowsocks/ShadowsocksSettings.scala | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala index df774c1e..21318675 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala @@ -172,14 +172,18 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan } def onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) = key match { - case Key.isNAT => activity.handler.post(() => { - activity.deattachService - activity.attachService - }) + case Key.isNAT => + activity.handler.post(() => { + activity.deattachService + activity.attachService + }) + setEnabled(enabled) case _ => } + private var enabled = true def setEnabled(enabled: Boolean) { + this.enabled = enabled findPreference(Key.isNAT).setEnabled(enabled) for (name <- PROXY_PREFS) { val pref = findPreference(name)