Commit b6fc013a authored by Mygod's avatar Mygod

Unregister preference change callback in onDestroy instead of onPause

Fix #496
parent 4d7bf8d7
...@@ -104,7 +104,6 @@ class Shadowsocks ...@@ -104,7 +104,6 @@ class Shadowsocks
var progressDialog: ProgressDialog = _ var progressDialog: ProgressDialog = _
var progressTag = -1 var progressTag = -1
var state = State.STOPPED var state = State.STOPPED
var prepared = false
var currentProfile = new Profile var currentProfile = new Profile
var vpnEnabled = -1 var vpnEnabled = -1
var trafficCache: String = _ var trafficCache: String = _
...@@ -402,7 +401,6 @@ class Shadowsocks ...@@ -402,7 +401,6 @@ class Shadowsocks
protected override def onPause() { protected override def onPause() {
super.onPause() super.onPause()
ShadowsocksApplication.profileManager.save ShadowsocksApplication.profileManager.save
prepared = false
} }
private def stateUpdate() { private def stateUpdate() {
...@@ -517,7 +515,6 @@ class Shadowsocks ...@@ -517,7 +515,6 @@ class Shadowsocks
override def onActivityResult(requestCode: Int, resultCode: Int, data: Intent) = resultCode match { override def onActivityResult(requestCode: Int, resultCode: Int, data: Intent) = resultCode match {
case Activity.RESULT_OK => case Activity.RESULT_OK =>
prepared = true
serviceStart() serviceStart()
case _ => case _ =>
cancelStart() cancelStart()
......
...@@ -166,18 +166,16 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan ...@@ -166,18 +166,16 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan
isProxyApps.setChecked(ShadowsocksApplication.settings.getBoolean(Key.isProxyApps, false)) // update isProxyApps.setChecked(ShadowsocksApplication.settings.getBoolean(Key.isProxyApps, false)) // update
} }
override def onPause { override def onDestroy {
super.onPause() super.onDestroy()
ShadowsocksApplication.settings.unregisterOnSharedPreferenceChangeListener(this) ShadowsocksApplication.settings.unregisterOnSharedPreferenceChangeListener(this)
} }
def onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) = key match { def onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) = key match {
case Key.isNAT => case Key.isNAT => activity.handler.post(() => {
activity.handler.post(() => {
activity.deattachService activity.deattachService
activity.attachService activity.attachService
}) })
setEnabled(enabled)
case _ => case _ =>
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment