diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java index 50557cb..a26a291 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java @@ -59,42 +59,46 @@ public class RequestLiveManager { * @param requestLiveListener {@link IRequestLiveListener} */ public void requestDesignativeVehicleLive(String type, String liveSn, IRequestLiveListener requestLiveListener) { - Gson gson = new Gson(); - LivePush livePush = new LivePush(liveSn, type, FRONT_CAMERA); - String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); - Map map = new HashMap<>(); - map.put("sn", sn); - map.put("data", gson.toJson(livePush)); - liveApiServer.getDesignativeVehicleLive(map) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + try { + Gson gson = new Gson(); + LivePush livePush = new LivePush(liveSn, type, FRONT_CAMERA); + String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); + Map map = new HashMap<>(); + map.put("sn", sn); + map.put("data", gson.toJson(livePush)); + liveApiServer.getDesignativeVehicleLive(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } - - @Override - public void onNext(@NonNull BaseData baseData) { - - } - - @Override - public void onError(@NonNull Throwable e) { - if (requestLiveListener != null) { - requestLiveListener.onError(e); } - Log.e(LiveConstant.TAG, "requestDesignativeVehicleLive exception : " + e); - } - @Override - public void onComplete() { + @Override + public void onNext(@NonNull BaseData baseData) { - } - }); + } - if (requestLiveListener != null) { - requestLiveListener.onSuccess(); + @Override + public void onError(@NonNull Throwable e) { + if (requestLiveListener != null) { + requestLiveListener.onError(e); + } + Log.e(LiveConstant.TAG, "requestDesignativeVehicleLive exception : " + e); + } + + @Override + public void onComplete() { + + } + }); + + if (requestLiveListener != null) { + requestLiveListener.onSuccess(); + } + } catch (Exception e) { + e.printStackTrace(); } } @@ -107,48 +111,52 @@ public class RequestLiveManager { * @param requestLiveListener {@link IRequestLiveListener} */ public void requestFrontVehicleLive(double lat, double lon, int bearing, IRequestLiveListener requestLiveListener) { - Gson gson = new Gson(); - String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); - LivePush livePush = new LivePush(sn, FRONT_CAMERA, lat, lon, bearing); - Map map = new HashMap<>(); - map.put("sn", sn); - map.put("data", gson.toJson(livePush)); - liveApiServer.getFrontVehicleLive(map) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { + try { + Gson gson = new Gson(); + String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); + LivePush livePush = new LivePush(sn, FRONT_CAMERA, lat, lon, bearing); + Map map = new HashMap<>(); + map.put("sn", sn); + map.put("data", gson.toJson(livePush)); + liveApiServer.getFrontVehicleLive(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull BaseData baseData) { - if (requestLiveListener != null && baseData != null) { - LiveReceive liveReceive = baseData.result; - if (liveReceive != null && liveReceive.getSn() != null) { - requestLiveListener.onSuccess(liveReceive.getSn(), liveReceive.getLat(), liveReceive.getLon()); + @Override + public void onNext(@NonNull BaseData baseData) { + if (requestLiveListener != null && baseData != null) { + LiveReceive liveReceive = baseData.result; + if (liveReceive != null && liveReceive.getSn() != null) { + requestLiveListener.onSuccess(liveReceive.getSn(), liveReceive.getLat(), liveReceive.getLon()); + } else { + requestLiveListener.onError(new Throwable("前方暂无可直播车机")); + } } else { requestLiveListener.onError(new Throwable("前方暂无可直播车机")); } - } else { - requestLiveListener.onError(new Throwable("前方暂无可直播车机")); } - } - @Override - public void onError(@NonNull Throwable e) { - if (requestLiveListener != null) { - requestLiveListener.onError(e); + @Override + public void onError(@NonNull Throwable e) { + if (requestLiveListener != null) { + requestLiveListener.onError(e); + } + Log.e(LiveConstant.TAG, "requestFrontVehicleLive exception : " + e); } - Log.e(LiveConstant.TAG, "requestFrontVehicleLive exception : " + e); - } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -160,48 +168,52 @@ public class RequestLiveManager { * @param requestLiveListener {@link IRequestLiveListener} */ public void requestFrontIntersectionLive(double lat, double lon, int bearing, IRequestLiveListener requestLiveListener) { - Gson gson = new Gson(); - String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); - LivePush livePush = new LivePush(sn, lat, lon, bearing); - Map map = new HashMap<>(); - map.put("sn", sn); - map.put("data", gson.toJson(livePush)); - liveApiServer.getFrontIntersectionLive(map) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { + try { + Gson gson = new Gson(); + String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); + LivePush livePush = new LivePush(sn, lat, lon, bearing); + Map map = new HashMap<>(); + map.put("sn", sn); + map.put("data", gson.toJson(livePush)); + liveApiServer.getFrontIntersectionLive(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull BaseData baseData) { - if (requestLiveListener != null && baseData != null) { - LiveReceive liveReceive = baseData.result; - if (liveReceive != null && liveReceive.getLive() != null) { - requestLiveListener.onSuccess(liveReceive.getLive()); + @Override + public void onNext(@NonNull BaseData baseData) { + if (requestLiveListener != null && baseData != null) { + LiveReceive liveReceive = baseData.result; + if (liveReceive != null && liveReceive.getLive() != null) { + requestLiveListener.onSuccess(liveReceive.getLive()); + } else { + requestLiveListener.onError(new Throwable("前方路口暂无可直播设备")); + } } else { requestLiveListener.onError(new Throwable("前方路口暂无可直播设备")); } - } else { - requestLiveListener.onError(new Throwable("前方路口暂无可直播设备")); } - } - @Override - public void onError(@NonNull Throwable e) { - if (requestLiveListener != null) { - requestLiveListener.onError(e); + @Override + public void onError(@NonNull Throwable e) { + if (requestLiveListener != null) { + requestLiveListener.onError(e); + } + Log.e(LiveConstant.TAG, "requestFrontIntersectionLive exception : " + e); } - Log.e(LiveConstant.TAG, "requestFrontIntersectionLive exception : " + e); - } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -211,47 +223,51 @@ public class RequestLiveManager { * @param requestLiveListener {@link IRequestLiveListener} */ public void requestDesignativeIntersectionLive(String cameraId, IRequestLiveListener requestLiveListener) { - Gson gson = new Gson(); - String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); - Map map = new HashMap<>(); - map.put("unitSn", cameraId); - liveApiServer.getDesignativeIntersectionLive(map) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { + try { + Gson gson = new Gson(); + String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); + Map map = new HashMap<>(); + map.put("unitSn", cameraId); + liveApiServer.getDesignativeIntersectionLive(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull BaseData baseData) { - if (requestLiveListener != null && baseData != null) { - LiveCamera liveData = baseData.result; - if (liveData == null || liveData.getCamera() == null || liveData.getCamera().getRtmpUrl() == null) { + @Override + public void onNext(@NonNull BaseData baseData) { + if (requestLiveListener != null && baseData != null) { + LiveCamera liveData = baseData.result; + if (liveData == null || liveData.getCamera() == null || liveData.getCamera().getRtmpUrl() == null) { + requestLiveListener.onError(new Throwable("此路口摄像头暂无直播流")); + return; + } + Camera camera = liveData.getCamera(); + requestLiveListener.onSuccess(camera.getRtmpUrl()); + } else { requestLiveListener.onError(new Throwable("此路口摄像头暂无直播流")); - return; } - Camera camera = liveData.getCamera(); - requestLiveListener.onSuccess(camera.getRtmpUrl()); - } else { - requestLiveListener.onError(new Throwable("此路口摄像头暂无直播流")); } - } - @Override - public void onError(@NonNull Throwable e) { - if (requestLiveListener != null) { - requestLiveListener.onError(e); + @Override + public void onError(@NonNull Throwable e) { + if (requestLiveListener != null) { + requestLiveListener.onError(e); + } + Log.e(LiveConstant.TAG, "requestDesignativeIntersectionLive exception : " + e); } - Log.e(LiveConstant.TAG, "requestDesignativeIntersectionLive exception : " + e); - } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/foudations/mogo-network/src/main/java/com/mogo/cloud/network/OkHttpFactory.kt b/foudations/mogo-network/src/main/java/com/mogo/cloud/network/OkHttpFactory.kt index d1864f0..0db7598 100644 --- a/foudations/mogo-network/src/main/java/com/mogo/cloud/network/OkHttpFactory.kt +++ b/foudations/mogo-network/src/main/java/com/mogo/cloud/network/OkHttpFactory.kt @@ -46,25 +46,7 @@ class OkHttpFactory private constructor() { .writeTimeout(WRITE_TIMEOUT, TimeUnit.MILLISECONDS) .eventListenerFactory(WeakNetworkEventFactory.FACTORY) .dispatcher(dispatcher) - // 可选:添加自定义 DNS 解析逻辑 - .dns(CustomDns()) // 使用系统默认 DNS 或者自定义 Dns 实现 .build() } } - - class CustomDns : Dns { - override fun lookup(hostname: String): List { - return try { - Log.d("CustomDns", "Lookup resolve host: $hostname") - // 使用默认的 DNS 解析逻辑 - Dns.SYSTEM.lookup(hostname) - } catch (uhe: UnknownHostException) { - // 处理 UnknownHostException - // 在这里记录日志、通知用户或其他处理方式 - Log.e("CustomDns", "Unable to resolve host: $hostname", uhe) - // 返回空列表表示无法解析 - emptyList() - } - } - } } \ No newline at end of file diff --git a/foudations/mogo-v2x/src/main/java/com/mogo/v2x/V2XManager.kt b/foudations/mogo-v2x/src/main/java/com/mogo/v2x/V2XManager.kt index 691da83..5f8b386 100755 --- a/foudations/mogo-v2x/src/main/java/com/mogo/v2x/V2XManager.kt +++ b/foudations/mogo-v2x/src/main/java/com/mogo/v2x/V2XManager.kt @@ -74,8 +74,12 @@ object V2XManager { private val refreshTask = object : Runnable { override fun run() { - V2XRefreshModel.querySnapshot(longitude = this@V2XManager.realLongitude.get(), latitude = this@V2XManager.realLatitude.get(), refreshCallback) - handler.postDelayed(this, config.get().durationForTriggerRefresh) + try { + V2XRefreshModel.querySnapshot(longitude = this@V2XManager.realLongitude.get(), latitude = this@V2XManager.realLatitude.get(), refreshCallback) + handler.postDelayed(this, config.get().durationForTriggerRefresh) + } catch (e: Exception) { + e.printStackTrace() + } } } diff --git a/foudations/mogo-v2x/src/main/java/com/mogo/v2x/http/V2XRefreshModel.kt b/foudations/mogo-v2x/src/main/java/com/mogo/v2x/http/V2XRefreshModel.kt index 60dbc13..6526314 100644 --- a/foudations/mogo-v2x/src/main/java/com/mogo/v2x/http/V2XRefreshModel.kt +++ b/foudations/mogo-v2x/src/main/java/com/mogo/v2x/http/V2XRefreshModel.kt @@ -15,10 +15,6 @@ import com.mogo.v2x.utils.DeviceUtils import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers -import retrofit2.Retrofit -import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory -import retrofit2.converter.gson.GsonConverterFactory -import java.util.concurrent.atomic.AtomicReference internal class V2XRefreshModel { diff --git a/gradle.properties b/gradle.properties index 1dd6684..856fad4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -33,30 +33,30 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/ USERNAME=xintai PASSWORD=xintai2018 # 编译模式: false - 依赖本地版本, true - 依赖 maven 版本 -RELEASE=false +RELEASE=true # AI CLOUD 云平台 # 工具类 -MOGO_UTILS_VERSION=1.4.7.59 +MOGO_UTILS_VERSION=1.4.7.62 # 网络请求 -MOGO_NETWORK_VERSION=1.4.7.59 +MOGO_NETWORK_VERSION=1.4.7.62 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.7.59 +MOGO_PASSPORT_VERSION=1.4.7.62 # 常链接 -MOGO_SOCKET_VERSION=1.4.7.59 +MOGO_SOCKET_VERSION=1.4.7.62 # 数据采集 -MOGO_REALTIME_VERSION=1.4.7.59 +MOGO_REALTIME_VERSION=1.4.7.62 # 探路,道路事件发布,获取 -MOGO_TANLU_VERSION=1.4.7.59 +MOGO_TANLU_VERSION=1.4.7.62 # 直播推流 -MOGO_LIVE_VERSION=1.4.7.59 +MOGO_LIVE_VERSION=1.4.7.62 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.7.59 +MOGO_TRAFFICLIVE_VERSION=1.4.7.62 # 定位服务 -MOGO_LOCATION_VERSION=1.4.7.59 +MOGO_LOCATION_VERSION=1.4.7.62 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.7.59 +MOGO_TELEMATIC_VERSION=1.4.7.62 # v2x -MOGO_V2X_VERSION=1.4.7.59 +MOGO_V2X_VERSION=1.4.7.62 # SKIN MOGO_SKIN_VERSION=1.4.7.50 # SDK @@ -75,7 +75,7 @@ SONATYPE_HOST=S01 RELEASE_SIGNING_ENABLED=false # 组织名 GROUP=com.mogo.cloud -VERSION_NAME=1.4.7.59 +VERSION_NAME=1.4.7.62 # 主页 POM_URL=https://gitlab.zhidaoauto.com/SCA/L4HA/AndroidApp/support/countly-sdk-android # 版本控制信息 diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/MogoRoadSearchManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/MogoRoadSearchManager.java index fdb6ae5..63b9f2e 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/MogoRoadSearchManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/MogoRoadSearchManager.java @@ -61,34 +61,38 @@ public class MogoRoadSearchManager { * @param callback {@link IRoadInfoSearchCallback} */ public void queryRoadInfo(RoadInfoRequest roadInfoRequest, IRoadInfoSearchCallback callback) { - Map map = new HashMap<>(); - map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); - map.put("data", GsonUtil.jsonFromObject(roadInfoRequest)); + try { + Map map = new HashMap<>(); + map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); + map.put("data", GsonUtil.jsonFromObject(roadInfoRequest)); - apiService.queryRoadInfos(map) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { + apiService.queryRoadInfos(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull BaseData roadInfos) { - callback.onSuccess(roadInfos); - } + @Override + public void onNext(@NonNull BaseData roadInfos) { + callback.onSuccess(roadInfos); + } - @Override - public void onError(@NonNull Throwable e) { - callback.onError(e); - } + @Override + public void onError(@NonNull Throwable e) { + callback.onError(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/core/UploadManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/core/UploadManager.java index 4bfcbd3..b2544ff 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/core/UploadManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/core/UploadManager.java @@ -56,32 +56,36 @@ public class UploadManager { * @param callback */ public void loadUpload(InformationBody informationBody, ITanluUploadCallback callback) { - Gson gson = new Gson(); - Map map = new HashMap<>(); - map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); - map.put("data", gson.toJson(informationBody)); - apiService.uploadInformation(map) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(Disposable d) { - } + try { + Gson gson = new Gson(); + Map map = new HashMap<>(); + map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); + map.put("data", gson.toJson(informationBody)); + apiService.uploadInformation(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + } - @Override - public void onNext(BaseData result) { - callback.onSuccess(result); - } + @Override + public void onNext(BaseData result) { + callback.onSuccess(result); + } - @Override - public void onError(Throwable e) { - callback.onError(e); - } + @Override + public void onError(Throwable e) { + callback.onError(e); + } - @Override - public void onComplete() { - } - }); + @Override + public void onComplete() { + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } }