From 8e3af71696d72b0e39c4c57960cc1964d6fc39fa Mon Sep 17 00:00:00 2001 From: Mygod Date: Fri, 17 Jun 2016 13:42:12 +0800 Subject: [PATCH] Change tile to a quick switch --- src/main/AndroidManifest.xml | 2 +- src/main/res/values-ru/strings.xml | 3 +++ src/main/res/values-zh-rCN/strings.xml | 2 ++ src/main/res/values-zh/strings.xml | 2 ++ src/main/res/values/strings.xml | 1 + .../github/shadowsocks/ShadowsocksTileService.scala | 13 ++++++++----- 6 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 2e0b4d38..5f0a9be7 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -128,7 +128,7 @@ - diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml index e2296cad..1398c864 100644 --- a/src/main/res/values-ru/strings.xml +++ b/src/main/res/values-ru/strings.xml @@ -1,5 +1,8 @@ + + Переключение + Разное Профиль diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml index f25505d4..ff39a258 100644 --- a/src/main/res/values-zh-rCN/strings.xml +++ b/src/main/res/values-zh-rCN/strings.xml @@ -1,6 +1,8 @@ 影梭 + 开关 + 其他 服务器设置 配置名称 diff --git a/src/main/res/values-zh/strings.xml b/src/main/res/values-zh/strings.xml index 5d32b4e6..503d775b 100644 --- a/src/main/res/values-zh/strings.xml +++ b/src/main/res/values-zh/strings.xml @@ -2,6 +2,8 @@ Shadowsocks + 開關 + 其他 伺服器設定 設定檔名稱 diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index bd8ecd3d..ecd0ec71 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -2,6 +2,7 @@ Shadowsocks + Toggle Misc diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksTileService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksTileService.scala index 474ec719..9b40613a 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksTileService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksTileService.scala @@ -1,10 +1,9 @@ package com.github.shadowsocks -import android.content.Intent import android.graphics.drawable.Icon import android.service.quicksettings.{Tile, TileService} import com.github.shadowsocks.aidl.IShadowsocksServiceCallback -import com.github.shadowsocks.utils.State +import com.github.shadowsocks.utils.{State, Utils} import com.github.shadowsocks.ShadowsocksApplication.app /** @@ -48,10 +47,14 @@ final class ShadowsocksTileService extends TileService with ServiceBoundContext override def onStopListening { super.onStopListening - detachService // just in case the user switches to NAT mode + detachService // just in case the user switches to NAT mode, also saves battery } - override def onClick = if (isLocked) unlockAndRun(configure) else configure() + override def onClick = if (isLocked) unlockAndRun(toggle) else toggle() - private def configure() = startActivityAndCollapse(new Intent(this, classOf[Shadowsocks])) + private def toggle() = bgService.getState match { + case State.STOPPED => Utils.startSsService(this) + case State.CONNECTED => Utils.stopSsService(this) + case _ => // ignore + } }