author | Zhiwei Yan <zhiwei.yan@amlogic.com> | 2017-05-09 06:27:03 (GMT) |
---|---|---|
committer | Zhiwei Yan <zhiwei.yan@amlogic.com> | 2017-05-12 02:27:34 (GMT) |
commit | 4adc12c4c69f37ec35bf40b6bed31eac27cc9086 (patch) | |
tree | 60f0ba5489932eecde4d69070de81d0f17dc0f84 | |
parent | 304a6e031c4f3354431dad59c3377b86de06b14a (diff) | |
download | SubTitle-4adc12c4c69f37ec35bf40b6bed31eac27cc9086.zip SubTitle-4adc12c4c69f37ec35bf40b6bed31eac27cc9086.tar.gz SubTitle-4adc12c4c69f37ec35bf40b6bed31eac27cc9086.tar.bz2 |
pd#143617:avoid to add subtitleservice more than once and open file when has subtitle
Change-Id: I7f9ddfba1d329b636d0344c895b4c01a6a262034
-rw-r--r-- | jni/subtitle/sub_socket.cpp | 5 | ||||
-rw-r--r-- | src/com/droidlogic/SubTitleService/SubTitleService.java | 4 | ||||
-rw-r--r-- | src/com/droidlogic/SubTitleService/SubTitleServiceBroadcastReceiver.java | 8 |
3 files changed, 14 insertions, 3 deletions
diff --git a/jni/subtitle/sub_socket.cpp b/jni/subtitle/sub_socket.cpp index 3317a47..c482e22 100644 --- a/jni/subtitle/sub_socket.cpp +++ b/jni/subtitle/sub_socket.cpp @@ -125,6 +125,11 @@ void* startServerThread(void* arg) { ALOGE("Failed to unlink old socket '%s': %s\n", addr.sun_path, strerror(errno)); return NULL; }*/ + int on = 1; + if ((setsockopt(mSockFd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) < 0) { + ALOGE("setsockopt failed.\n"); + exit(1); + } if (bind(mSockFd,(struct sockaddr *)&addr,sizeof(addr)) == -1) { ALOGE("bind fail. error=%d, err:%s\n", errno, strerror(errno)); return NULL; diff --git a/src/com/droidlogic/SubTitleService/SubTitleService.java b/src/com/droidlogic/SubTitleService/SubTitleService.java index bb5f109..4065bd4 100644 --- a/src/com/droidlogic/SubTitleService/SubTitleService.java +++ b/src/com/droidlogic/SubTitleService/SubTitleService.java @@ -197,7 +197,9 @@ public class SubTitleService extends ISubTitleService.Stub { mSetSubId = -1; } LOGI("[open] mCurSubId: " + mCurSubId); - sendOpenMsg(mCurSubId); + if (mSubTotal > 0) { + sendOpenMsg(mCurSubId); + } //load("http://milleni.ercdn.net/9_test/double_lang_test.xml"); for test //sendOptionMsg(); diff --git a/src/com/droidlogic/SubTitleService/SubTitleServiceBroadcastReceiver.java b/src/com/droidlogic/SubTitleService/SubTitleServiceBroadcastReceiver.java index 4b43a16..13291e5 100644 --- a/src/com/droidlogic/SubTitleService/SubTitleServiceBroadcastReceiver.java +++ b/src/com/droidlogic/SubTitleService/SubTitleServiceBroadcastReceiver.java @@ -15,8 +15,12 @@ public class SubTitleServiceBroadcastReceiver extends BroadcastReceiver { String action = intent.getAction(); Log.i (TAG, "[onReceive]action:" + action + ", subtitleService:" + subtitleService); if (Intent.ACTION_BOOT_COMPLETED.equals (action)) { - subtitleService = new SubTitleService (context); - ServiceManager.addService (/*Context.SUBTITLE_SERVICE*/"subtitle_service", subtitleService); + if (ServiceManager.getService("subtitle_service") == null) { + subtitleService = new SubTitleService (context); + ServiceManager.addService (/*Context.SUBTITLE_SERVICE*/"subtitle_service", subtitleService); + } else { + Log.i (TAG, "subtitle_service is already added."); + } } } } |