diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index df338e2..1a0aaec 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -23,6 +23,7 @@
+
diff --git a/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java b/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java
index b13bfea..bb04f6f 100644
--- a/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java
+++ b/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java
@@ -96,6 +96,7 @@ public class SocketManager implements IMogoCloudSocketManager, Callback {
public void registerOnMessageListener(int msgType, IMogoCloudSocketOnMessageListener listener) {
if (mListeners.containsKey(msgType)) {
Logger.w(TAG, "msgType %d is exist.", msgType);
+ return;
}
if (!mListeners.containsKey(msgType)) {
mListeners.put(msgType, new ArrayList<>());
diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/UploadInTimeHandler.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/UploadInTimeHandler.java
index b2f6ae2..cb669ff 100644
--- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/UploadInTimeHandler.java
+++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/UploadInTimeHandler.java
@@ -38,19 +38,21 @@ public class UploadInTimeHandler {
}
public void start() {
- mHandler = new Handler(WorkThreadHandler.newInstance(TAG).getLooper()) {
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- if (msg.what == MSG_DATA_CHANGED) {
- mHandler.sendEmptyMessageDelayed(MSG_DATA_CHANGED, uploadDelay);
- if (iUploadInTimeListener != null) {
- iUploadInTimeListener.sendLocationData();
+ if (mHandler == null) {
+ mHandler = new Handler(WorkThreadHandler.newInstance(TAG).getLooper()) {
+ @Override
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ if (msg.what == MSG_DATA_CHANGED) {
+ mHandler.sendEmptyMessageDelayed(MSG_DATA_CHANGED, uploadDelay);
+ if (iUploadInTimeListener != null) {
+ iUploadInTimeListener.sendLocationData();
+ }
}
}
- }
- };
- mHandler.sendEmptyMessage(MSG_DATA_CHANGED);
+ };
+ mHandler.sendEmptyMessage(MSG_DATA_CHANGED);
+ }
}
public void setUploadInTimeListener(IUploadInTimeListener uploadInTimeListener) {