[master] fix bug of handler upload data in main thread
This commit is contained in:
@@ -2,6 +2,8 @@ package com.mogo.cloud.location.third.service;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -9,15 +11,12 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.elegant.utils.ThreadPoolService;
|
||||
import com.elegant.utils.UiThreadHandler;
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.mogo.cloud.location.LocationConfig;
|
||||
import com.mogo.cloud.location.third.core.LocUploadConfig;
|
||||
import com.mogo.cloud.location.third.core.Location;
|
||||
import com.mogo.cloud.location.third.core.LocationDelegateManager;
|
||||
import com.mogo.cloud.location.third.core.LocationServiceProvider;
|
||||
import com.zhidao.ptech.connsvr.payload.protocol.MogoPayload;
|
||||
import com.zhidao.ptech.connsvr.protocol.MogoConnsvr;
|
||||
import com.zhidao.socket.Callback;
|
||||
import com.zhidao.socket.CallbackManager;
|
||||
import com.zhidao.socket.SocketClient;
|
||||
@@ -32,6 +31,8 @@ public class UploadDataService extends Service {
|
||||
|
||||
private final LinkedList<MogoPayload.Coordinate> coordinates = new LinkedList<>();
|
||||
|
||||
private Handler handler;
|
||||
|
||||
private final Callback callback = new Callback() {
|
||||
@Override
|
||||
public void update(@NonNull CallbackManager manager, @NonNull byte[] message, String appId, long msgId) {
|
||||
@@ -46,7 +47,7 @@ public class UploadDataService extends Service {
|
||||
@Override
|
||||
public void run() {
|
||||
ThreadPoolService.execute(UploadDataService.this::publishData);
|
||||
UiThreadHandler.postDelayed(uploadTask, 5 * LocUploadConfig.instance().getLocInterval());
|
||||
handler.postDelayed(uploadTask, 5 * LocUploadConfig.instance().getLocInterval());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -73,7 +74,7 @@ public class UploadDataService extends Service {
|
||||
location.setTime(provider.getTime());
|
||||
buildCoordinates(location);
|
||||
}
|
||||
UiThreadHandler.postDelayed(this, LocUploadConfig.instance().getLocInterval());
|
||||
handler.postDelayed(this, LocUploadConfig.instance().getLocInterval());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -87,8 +88,11 @@ public class UploadDataService extends Service {
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
SocketClient.getInstance().registerSocketCallback(callback);
|
||||
UiThreadHandler.post(buildLocationTask);
|
||||
UiThreadHandler.postDelayed(uploadTask, 5 * LocUploadConfig.instance().getLocInterval());
|
||||
HandlerThread mHandlerThread = new HandlerThread("upload_data_thread");
|
||||
mHandlerThread.start();
|
||||
handler = new Handler(mHandlerThread.getLooper());
|
||||
handler.post(buildLocationTask);
|
||||
handler.postDelayed(uploadTask, 5 * LocUploadConfig.instance().getLocInterval());
|
||||
}
|
||||
|
||||
private void publishData() {
|
||||
@@ -109,8 +113,8 @@ public class UploadDataService extends Service {
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
SocketClient.getInstance().unregisterSocketCallback(callback);
|
||||
UiThreadHandler.removeCallbacks(uploadTask);
|
||||
UiThreadHandler.removeCallbacks(buildLocationTask);
|
||||
handler.removeCallbacks(uploadTask);
|
||||
handler.removeCallbacks(buildLocationTask);
|
||||
clearLocationCache();
|
||||
}
|
||||
|
||||
|
||||
@@ -36,24 +36,24 @@ PASSWORD=xintai2018
|
||||
RELEASE=true
|
||||
# AI CLOUD 云平台
|
||||
# 工具类
|
||||
MOGO_UTILS_VERSION=1.4.7.21
|
||||
MOGO_UTILS_VERSION=1.4.7.23
|
||||
# 网络请求
|
||||
MOGO_NETWORK_VERSION=1.4.7.21
|
||||
MOGO_NETWORK_VERSION=1.4.7.23
|
||||
# 鉴权
|
||||
MOGO_PASSPORT_VERSION=1.4.7.21
|
||||
MOGO_PASSPORT_VERSION=1.4.7.23
|
||||
# 常链接
|
||||
MOGO_SOCKET_VERSION=1.4.7.21
|
||||
MOGO_SOCKET_VERSION=1.4.7.23
|
||||
# 数据采集
|
||||
MOGO_REALTIME_VERSION=1.4.7.21
|
||||
MOGO_REALTIME_VERSION=1.4.7.23
|
||||
# 探路,道路事件发布,获取
|
||||
MOGO_TANLU_VERSION=1.4.7.21
|
||||
MOGO_TANLU_VERSION=1.4.7.23
|
||||
# 直播推流
|
||||
MOGO_LIVE_VERSION=1.4.7.21
|
||||
MOGO_LIVE_VERSION=1.4.7.23
|
||||
# 直播拉流
|
||||
MOGO_TRAFFICLIVE_VERSION=1.4.7.21
|
||||
MOGO_TRAFFICLIVE_VERSION=1.4.7.23
|
||||
# 定位服务
|
||||
MOGO_LOCATION_VERSION=1.4.7.21
|
||||
MOGO_LOCATION_VERSION=1.4.7.23
|
||||
# 远程通讯模块
|
||||
MOGO_TELEMATIC_VERSION=1.4.7.21
|
||||
MOGO_TELEMATIC_VERSION=1.4.7.23
|
||||
# v2x
|
||||
MOGO_V2X_VERSION=1.4.7.21
|
||||
MOGO_V2X_VERSION=1.4.7.23
|
||||
|
||||
Reference in New Issue
Block a user