inter-process persistent preferences

This commit is contained in:
Max Lv
2013-05-29 08:59:44 +08:00
parent 8f9ebabd22
commit bdac32bd2f
4 changed files with 28 additions and 14 deletions
@@ -127,18 +127,16 @@ class ShadowsocksService extends Service {
val handler: Handler = new Handler {
override def handleMessage(msg: Message) {
val ed: SharedPreferences.Editor = settings.edit
msg.what match {
case MSG_CONNECT_SUCCESS =>
changeState(State.CONNECTED)
ed.putBoolean("isRunning", true)
settings.edit().putBoolean(Key.isRunning, true).apply()
case MSG_CONNECT_FAIL =>
changeState(State.STOPPED)
case MSG_STOP_SELF =>
stopSelf()
case _ =>
}
ed.commit
super.handleMessage(msg)
}
}
@@ -215,6 +213,7 @@ class ShadowsocksService extends Service {
changeState(State.CONNECTING)
config = Extra.get(intent)
Extra.save(settings, config)
new Thread(new Runnable {
def run() {
@@ -395,9 +394,7 @@ class ShadowsocksService extends Service {
killProcesses()
}
}.start()
val ed: SharedPreferences.Editor = settings.edit
ed.putBoolean("isRunning", false)
ed.commit
settings.edit.putBoolean(Key.isRunning, false).apply()
if (receiver != null) {
unregisterReceiver(receiver)
receiver = null