Commit 89df2bc7 authored by Mygod's avatar Mygod

Hide stop action in notification if the quick settings tile is present

parent e1364c01
...@@ -40,8 +40,8 @@ class ShadowsocksNotification(private val service: BaseService, profileName: Str ...@@ -40,8 +40,8 @@ class ShadowsocksNotification(private val service: BaseService, profileName: Str
.setContentIntent(PendingIntent.getActivity(service, 0, new Intent(service, classOf[Shadowsocks]) .setContentIntent(PendingIntent.getActivity(service, 0, new Intent(service, classOf[Shadowsocks])
.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT), 0)) .setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT), 0))
.setSmallIcon(R.drawable.ic_stat_shadowsocks) .setSmallIcon(R.drawable.ic_stat_shadowsocks)
.addAction(R.drawable.ic_navigation_close, service.getString(R.string.stop), if (!ShadowsocksTileService.running) builder.addAction(R.drawable.ic_navigation_close,
PendingIntent.getBroadcast(service, 0, new Intent(Action.CLOSE), 0)) service.getString(R.string.stop), PendingIntent.getBroadcast(service, 0, new Intent(Action.CLOSE), 0))
app.profileManager.getAllProfiles match { app.profileManager.getAllProfiles match {
case Some(profiles) => if (profiles.length > 1) case Some(profiles) => if (profiles.length > 1)
builder.addAction(R.drawable.ic_action_settings, service.getString(R.string.quick_switch), builder.addAction(R.drawable.ic_action_settings, service.getString(R.string.quick_switch),
......
...@@ -10,8 +10,14 @@ import com.github.shadowsocks.ShadowsocksApplication.app ...@@ -10,8 +10,14 @@ import com.github.shadowsocks.ShadowsocksApplication.app
/** /**
* @author Mygod * @author Mygod
*/ */
object ShadowsocksTileService {
var running: Boolean = _
}
@TargetApi(24) @TargetApi(24)
final class ShadowsocksTileService extends TileService with ServiceBoundContext { final class ShadowsocksTileService extends TileService with ServiceBoundContext {
import ShadowsocksTileService._
private lazy val iconIdle = Icon.createWithResource(this, R.drawable.ic_start_idle).setTint(0x80ffffff) private lazy val iconIdle = Icon.createWithResource(this, R.drawable.ic_start_idle).setTint(0x80ffffff)
private lazy val iconBusy = Icon.createWithResource(this, R.drawable.ic_start_busy) private lazy val iconBusy = Icon.createWithResource(this, R.drawable.ic_start_busy)
private lazy val iconConnected = Icon.createWithResource(this, R.drawable.ic_start_connected) private lazy val iconConnected = Icon.createWithResource(this, R.drawable.ic_start_connected)
...@@ -42,11 +48,19 @@ final class ShadowsocksTileService extends TileService with ServiceBoundContext ...@@ -42,11 +48,19 @@ final class ShadowsocksTileService extends TileService with ServiceBoundContext
override def onServiceConnected = callback.stateChanged(bgService.getState, null) override def onServiceConnected = callback.stateChanged(bgService.getState, null)
override def onCreate {
super.onCreate
running = true
}
override def onDestroy {
super.onDestroy
running = false
}
override def onStartListening { override def onStartListening {
super.onStartListening super.onStartListening
attachService(callback) attachService(callback)
} }
override def onStopListening { override def onStopListening {
super.onStopListening super.onStopListening
detachService // just in case the user switches to NAT mode, also saves battery detachService // just in case the user switches to NAT mode, also saves battery
......
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