diff --git a/src/main/java/com/github/shadowsocks/aidl/IShadowsocksService.aidl b/src/main/java/com/github/shadowsocks/aidl/IShadowsocksService.aidl index 66b2f820..70667310 100644 --- a/src/main/java/com/github/shadowsocks/aidl/IShadowsocksService.aidl +++ b/src/main/java/com/github/shadowsocks/aidl/IShadowsocksService.aidl @@ -7,8 +7,8 @@ interface IShadowsocksService { int getMode(); int getState(); - void registerCallback(IShadowsocksServiceCallback cb); - void unregisterCallback(IShadowsocksServiceCallback cb); + oneway void registerCallback(IShadowsocksServiceCallback cb); + oneway void unregisterCallback(IShadowsocksServiceCallback cb); oneway void start(in Config config); oneway void stop(); diff --git a/src/main/java/com/github/shadowsocks/aidl/IShadowsocksServiceCallback.aidl b/src/main/java/com/github/shadowsocks/aidl/IShadowsocksServiceCallback.aidl index 00ef9b63..d079a20c 100644 --- a/src/main/java/com/github/shadowsocks/aidl/IShadowsocksServiceCallback.aidl +++ b/src/main/java/com/github/shadowsocks/aidl/IShadowsocksServiceCallback.aidl @@ -1,5 +1,5 @@ package com.github.shadowsocks.aidl; interface IShadowsocksServiceCallback { - void stateChanged(int state, String msg); -} \ No newline at end of file + oneway void stateChanged(int state, String msg); +} diff --git a/src/main/scala/com/github/shadowsocks/BaseService.scala b/src/main/scala/com/github/shadowsocks/BaseService.scala index ae4be7a1..9e90efb4 100644 --- a/src/main/scala/com/github/shadowsocks/BaseService.scala +++ b/src/main/scala/com/github/shadowsocks/BaseService.scala @@ -106,9 +106,8 @@ trait BaseService { override def run() { if (state != s) { val n = callbacks.beginBroadcast() - val m = if (msg != null) msg.substring(0, 64) else null for (i <- 0 to n - 1) { - callbacks.getBroadcastItem(i).stateChanged(s, m) + callbacks.getBroadcastItem(i).stateChanged(s, msg) } callbacks.finishBroadcast() state = s