diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index 38633cccd5..0f9e23c4d0 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -11,6 +11,7 @@ import androidx.annotation.NonNull; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.voice.AIAssist; +import com.mogo.eagle.core.data.map.CenterLine; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.map.CallerHDMapManager; @@ -334,10 +335,12 @@ public class BusFragment extends BaseBusTabFragment .latitude(lat) .longitude(longi); IMogoMarker marker = MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .addMarker(uuid, options); - marker.setRotateAngle(CallerHDMapManager.INSTANCE.getCenterLineInfo( - longi,lat,-1) - .getAngle() - .floatValue()); + CenterLine centerLine = CallerHDMapManager.INSTANCE.getCenterLineInfo( + longi,lat,-1); + if (null != centerLine){ // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 + marker.setRotateAngle(centerLine.getAngle().floatValue()); + } + }else { CallerLogger.INSTANCE.d(M_BUS + "RemoveMapMaker=",uuid+"=latitude="+lat+",longitude="+longi); MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers(uuid); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java index e38ed03522..2105bb497e 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java @@ -4,6 +4,7 @@ import android.content.Context; import com.mogo.commons.AbsMogoApplication; import com.mogo.eagle.core.utilcode.mogo.toast.TipToast; +import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.och.bus.bean.BusQueryLinesResponse; import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.callback.IBusLinesCallback; @@ -53,7 +54,11 @@ public class BusLineModel { @Override public void onFail(String failMsg) { - + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.longTip("查询所有绑定路线失败:"+failMsg); + } } }); } @@ -69,7 +74,11 @@ public class BusLineModel { @Override public void onFail(String failMsg) { - TipToast.longTip("切换路线失败"); + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.longTip("切换路线失败:"+failMsg); + } } }); } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index e7e11b5703..87da0cd87f 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -461,6 +461,8 @@ public class BusOrderModel { public void onFail(String failMsg) { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); + }else{ + TipToast.longTip("离站上报失败:"+failMsg); } } }); @@ -548,7 +550,10 @@ public class BusOrderModel { public void onFail(String failMsg) { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.longTip("离站上报失败:"+failMsg); } + } }); } @@ -605,7 +610,7 @@ public class BusOrderModel { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); }else { - TipToast.shortTip(failMsg); + TipToast.shortTip("收车失败:"+failMsg); } } }); @@ -632,7 +637,7 @@ public class BusOrderModel { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); }else { - TipToast.shortTip(failMsg); + TipToast.shortTip("出车失败:"+failMsg); } } }); @@ -659,8 +664,9 @@ public class BusOrderModel { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); }else { - TipToast.shortTip(failMsg); + TipToast.shortTip("出车收车状态查询:"+failMsg); } + queryOperationStatus(); } }); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 5518237875..b3747cebc7 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -653,7 +653,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback @Override public void onFail(int code, String msg) { - + queryOrderRouteList(); } }); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 96739467ae..c18996b9c0 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -285,10 +285,13 @@ public class TaxiModel { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); } + queryCarStatus(); } @Override public void onFail(int code, String msg) { + TipToast.shortTip(code + "," + msg); + queryCarStatus(); } }); } @@ -314,6 +317,8 @@ public class TaxiModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); } } @@ -455,12 +460,14 @@ public class TaxiModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); } } @Override public void onFail(int code, String msg) { -// TipToast.shortTip(code + "," + msg); + TipToast.shortTip(code + "," + msg); } }); } @@ -486,9 +493,18 @@ public class TaxiModel { } } + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); + } + } + @Override public void onFail(int code, String msg) { -// TipToast.shortTip(code + "," + msg); + TipToast.shortTip(code + "," + msg); } }); } @@ -506,9 +522,18 @@ public class TaxiModel { } } + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); + } + } + @Override public void onFail(int code, String msg) { -// TipToast.shortTip(code + "," + msg); + TipToast.shortTip(code + "," + msg); } }); } @@ -551,9 +576,18 @@ public class TaxiModel { } } + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); + } + } + @Override public void onFail(int code, String msg) { - TipToast.shortTip("请求异常,请稍后重试"); + TipToast.shortTip(code + "," + msg); } }); } @@ -635,9 +669,18 @@ public class TaxiModel { } } + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); + } + } + @Override public void onFail(int code, String msg) { - TipToast.shortTip("请求异常,请稍后重试"); + TipToast.shortTip(code + "," + msg); } }); } @@ -721,8 +764,17 @@ public class TaxiModel { } @Override - public void onFail(int code, String msg) { + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + TipToast.shortTip("网络异常,请稍后重试"); + }else { + TipToast.shortTip("请求出现异常,请稍后重试"); + } + } + @Override + public void onFail(int code, String msg) { + TipToast.shortTip(code + "," + msg); } }); } @@ -1094,6 +1146,11 @@ public class TaxiModel { } + @Override + public void onError() { + // TODO: 2022/5/18 是否在请求异常时候进行提示 + } + @Override public void onFail(int code, String msg) { @@ -1171,22 +1228,27 @@ public class TaxiModel { * 查询当前订单的全局路径 (当自动驾驶开启后,订单前往乘客上车点,杀掉应用再次进来时候) */ private void queryOrderRouteList(String orderNo) { - if (mCurrentOCHOrder != null){ - TaxiServiceManager.getInstance().queryOrderRoute(mContext, orderNo, - new TaxiServiceCallback() { - @Override - public void onSuccess(QueryOrderRouteResp data) { - if (data != null && data.data != null){ - mRoutePoints.clear(); - mRoutePoints.addAll(data.data); - } - } + if (mCurrentOCHOrder != null) { + TaxiServiceManager.getInstance().queryOrderRoute(mContext, orderNo, + new TaxiServiceCallback() { + @Override + public void onSuccess(QueryOrderRouteResp data) { + if (data != null && data.data != null) { + mRoutePoints.clear(); + mRoutePoints.addAll(data.data); + } + } - @Override - public void onFail(int code, String msg) { + @Override + public void onError() { + // TODO: 2022/5/18 是否在请求异常的时候提示 + } - } - }); + @Override + public void onFail(int code, String msg) { + + } + }); } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java index b5a3f83639..b504478a2e 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java @@ -186,7 +186,7 @@ interface TaxiServiceApiNew { * @return */ @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST("/autopilot-car-hailing/order/v2/driver/taxi/orderRoute") + @POST("/autopilot-car-hailing/order/v2/driver/taxi/saveOrderRoute") // @POST("/mock/268/autopilot-car-hailing/order/v2/driver/taxi/orderRoute") Observable updateOrderRoute(@Header ("appId") String appId, @Header("ticket") String ticket, @Body OrderRouteUpdateReqBean data); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java index a32d01c771..14cb6b72e7 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java @@ -20,6 +20,7 @@ import com.amap.api.navi.model.NaviLatLng; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.voice.AIAssist; +import com.mogo.eagle.core.data.map.CenterLine; import com.mogo.eagle.core.function.call.map.CallerHDMapManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.toast.TipToast; @@ -623,10 +624,11 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement .latitude(station.get(1)) .longitude(station.get(0)); IMogoMarker marker = MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).addMarker(uuid, options); - marker.setRotateAngle(CallerHDMapManager.INSTANCE.getCenterLineInfo( - station.get(0),station.get(1),-1) - .getAngle() - .floatValue()); + CenterLine centerLine = CallerHDMapManager.INSTANCE.getCenterLineInfo(station.get(0) + ,station.get(1),-1); + if (null != centerLine){// 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 + marker.setRotateAngle(centerLine.getAngle().floatValue()); + } }else { CallerLogger.INSTANCE.d(M_TAXI + "RemoveMapMaker=",uuid+"=latitude="+station.get(1)+",longitude="+station.get(0)); diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml index d268b79352..da7aa36c9d 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml @@ -236,7 +236,6 @@ android:text="@string/module_och_taxi_order_server_start" android:textColor="#4DFFFFFF" android:textSize="24sp" - app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java index 5a854bb105..5f787317e7 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java @@ -107,7 +107,7 @@ public class MoGoHandAdasMsgManager implements @Override public void onAutopilotCarConfig(@NotNull MessagePad.CarConfigResp carConfigResp) { - if (carConfigResp != null && !TextUtils.isEmpty(carConfigResp.getMacAddress())) { //TODO 这里判断 + if (carConfigResp != null && !TextUtils.isEmpty(carConfigResp.getMacAddress())) { Log.d("liyz", "司机端 onAutopilotCarConfig ---" + carConfigResp.getMacAddress()); CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(carConfigResp.getMacAddress(), MoGoAiCloudClientConfig.getInstance().getSn()); } diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt index f1d1ebe0ff..dfc51cfcd7 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt @@ -1,6 +1,8 @@ package com.mogo.eagle.core.function.autopilot.telematic +import android.util.Log import com.google.protobuf.TextFormat +import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant @@ -58,6 +60,8 @@ class TeleMsgHandler : IMsgHandler { AppConfigInfo.plateNumber = carConfig.plateNumber AppConfigInfo.iPCMacAddress = carConfig.macAddress invokeNettyConnResult("司机屏发送给乘客屏配置信息为:${TextFormat.printer().escapingNonAscii(false).printToString(carConfig)}") + Log.d("liyz", "TeleMsgHandler macAddress = " + carConfig.macAddress) + CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(carConfig.macAddress, MoGoAiCloudClientConfig.getInstance().sn) } else -> { } diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java index b54bce69f8..c055e354e7 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java @@ -56,13 +56,13 @@ public class BindingcarProvider implements IMoGoBindingcarProvider { */ @Override public void getBindingcarInfo(String macAddress, String widevineIDWithMd5) { -// mAddress = macAddress; -// mWidevineIDWithMd5 = widevineIDWithMd5; -// if (getScreenType() == 1) { //司机屏 -// driverScreen(macAddress, widevineIDWithMd5); -// } else if (getScreenType() == 2) { //乘客屏 -// passengerScreen(macAddress, widevineIDWithMd5); -// } + mAddress = macAddress; + mWidevineIDWithMd5 = widevineIDWithMd5; + if (getScreenType() == 1) { //司机屏 + driverScreen(macAddress, widevineIDWithMd5); + } else if (getScreenType() == 2) { //乘客屏 + passengerScreen(macAddress, widevineIDWithMd5); + } } /** @@ -94,10 +94,9 @@ public class BindingcarProvider implements IMoGoBindingcarProvider { private void driverScreen(String macAddress, String widevineIDWithMd5) { long currentHour = System.currentTimeMillis() / (1000 * 60); long oldHour = SharedPrefsMgr.getInstance(mContext).getLong("typeDriver", 0); - Log.d("liyz", "driverScreen ------ macAddress = " + macAddress + "--widevineIDWithMd5 = " + widevineIDWithMd5 + "--getScreenType() = " + getScreenType()); - //如果5分钟内频繁调,需要拦截,业务导致的会多次请求工控机信息 TODO + //如果5分钟内频繁调,需要拦截,业务导致的会多次请求工控机信息 if (HmiBuildConfig.isShowSnBindingView) { - Log.d("liyz", "driverScreen -----间隔时间 = " + (currentHour - oldHour)); + Log.d("liyz", "driverScreen -----间隔时间 = " + (currentHour - oldHour) + "-- macAddress = " + macAddress + "--widevineIDWithMd5 = " + widevineIDWithMd5 + "--getScreenType() = " + getScreenType()); if (currentHour - oldHour > 5) { SharedPrefsMgr.getInstance(mContext).putLong("typeDriver", System.currentTimeMillis() / (1000 * 60)); BindingcarNetWorkManager.getInstance().getBindingcarInfo(mContext, macAddress, widevineIDWithMd5, getScreenType()); @@ -108,10 +107,9 @@ public class BindingcarProvider implements IMoGoBindingcarProvider { private void passengerScreen(String macAddress, String widevineIDWithMd5) { long currentHour = System.currentTimeMillis() / (1000 * 60); long oldHour = SharedPrefsMgr.getInstance(mContext).getLong("typePassenger", 0); - Log.d("liyz", "passengerScreen ------ mAddress = " + macAddress + "--mWidevineIDWithMd5 = " + widevineIDWithMd5 + "--getScreenType() = " + getScreenType()); //如果5分钟内频繁调,需要拦截,业务导致的会多次请求工控机信息 if (HmiBuildConfig.isShowSnBindingView) { - Log.d("liyz", "passengerScreen -----间隔时间 = " + (currentHour - oldHour)); + Log.d("liyz", "passengerScreen --间隔时间 = " + (currentHour - oldHour) + "-- mAddress = " + macAddress + "--mWidevineIDWithMd5 = " + widevineIDWithMd5 + "--getScreenType() = " + getScreenType()); if (currentHour - oldHour > 5) { SharedPrefsMgr.getInstance(mContext).putLong("typePassenger", System.currentTimeMillis() / (1000 * 60)); BindingcarNetWorkManager.getInstance().getBindingcarInfo(mContext, macAddress, widevineIDWithMd5, getScreenType()); diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/ipcupgrade/IPCUpgradeManager.kt b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/ipcupgrade/IPCUpgradeManager.kt index cc58d51b57..769fafaec6 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/ipcupgrade/IPCUpgradeManager.kt +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/ipcupgrade/IPCUpgradeManager.kt @@ -13,7 +13,6 @@ import com.mogo.eagle.core.function.call.bindingcar.CallerBindingCarListenerMana import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.ipcupgrade.network.IPCUpgradeNetWorkModel import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.eagle.core.utilcode.util.GsonUtils import org.json.JSONObject /** @@ -112,7 +111,7 @@ class IPCUpgradeManager: IMogoOnMessageListener , fun upgradeConfirm(images: List,padSn: String,releaseId: String){ ipcUpgradeNetWorkModel.upgradeConfirm(images,padSn,releaseId, onSuccess = { - + CallerBindingCarListenerManager.invokePushServerConfirm() }, onError = { @@ -131,9 +130,10 @@ class IPCUpgradeManager: IMogoOnMessageListener , val images = jsonObject.getJSONArray("images") val dockerList = ArrayList() for(i in 0 until images.length()){ - if(!i.toString().contains(dockerVersion)){ + if(!images[i].toString().contains(dockerVersion)){ dockerList.add(images[i].toString()) } + } //将数组结果回调 CallerBindingCarListenerManager.invokeQueryContainersResponse(dockerList) diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt index d4f41bdca5..08dc07db56 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt @@ -5,7 +5,6 @@ import com.mogo.eagle.core.data.report.ReportEntity import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager -import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.TimeUtils import mogo_msg.MogoReportMsg diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt index df28e0d747..d50094ebfd 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt @@ -29,5 +29,10 @@ class MogoLogCatchConst { * 上传本地缓存链路日志 */ const val CACHE_TRACE_UPLOAD = 5 + + /** + * 下发map缓存日志开关开启 + */ + const val CACHE_MAP_UPLOAD = 6 } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt index 71dfe30926..7d4b3cf392 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt @@ -27,6 +27,7 @@ import com.zhidao.loglib.bean.RemoteLogPushContent import com.zhidao.loglib.call.LogInfoManagerFactory import com.zhidao.loglib.core.ILogListener import com.zhidao.loglib.core.LogInfoManager +import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CACHE_MAP_UPLOAD import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CACHE_TRACE_UPLOAD import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.LOCAL_CONFIG_CLOSE_LOG import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.LOCAL_CONFIG_OPEN_LOG @@ -49,6 +50,7 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl private val manualContent = RemoteLogPushContent() private val catchingList: MutableList = mutableListOf() private var logInfoManager: LogInfoManager? = null + private var mapCacheUpload = false fun init(context: Context) { mContext = context @@ -108,6 +110,10 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl TipToast.longTip("上传本地缓存链路日志") LogInfoManagerFactory.cacheTraceLogUpload() } + CACHE_MAP_UPLOAD -> { + TipToast.longTip("上传本地地图缓存日志") + mapCacheUpload = true + } else -> { } } @@ -235,6 +241,9 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl } override fun uploadFile(filePath: String) { + if(!mapCacheUpload){ + return + } val file = File(filePath) if (file.isFile) { CallerLogger.d("$M_DEVA$TAG", "uploadFile path : $filePath") diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 991406e9a6..d4bfe4bdae 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -34,6 +34,7 @@ import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWaringProvider import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager +import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager import com.mogo.eagle.core.function.call.check.CallerCheckManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager @@ -232,9 +233,15 @@ class MoGoHmiFragment : MvpFragment(), ThreadUtils.runOnUiThread{ if(ipcReportWindow==null){ ipcReportWindow= activity?.let { IPCReportWindow(it) } - ipcReportWindow?.showFloatWindow() + ipcReportWindow?.setClickListener(object: IPCReportWindow.ClickListener{ + override fun closeWindow() { + ipcReportWindow?.hideFloatWindow() + ipcReportWindow =null + } + }) AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSVoice("嘟") } + ipcReportWindow?.showFloatWindow() ipcReportWindow?.refreshData(reportList) } } @@ -968,6 +975,20 @@ class MoGoHmiFragment : MvpFragment(), ThreadUtils.runOnUiThread{ if(adUpgradeDialog == null){ adUpgradeDialog = AdUpgradeDialog(requireContext(),images, padSn, releaseId) + adUpgradeDialog?.setClickListener(object: AdUpgradeDialog.ClickListener{ + override fun confirm() { + //确认升级 + CallerBindingcarManager.getBindingcarProvider().upgradeConfirm(images, padSn, releaseId) + adUpgradeDialog?.dismiss() + adUpgradeDialog = null + } + + override fun cancel() { + adUpgradeDialog?.dismiss() + adUpgradeDialog = null + } + + }) } adUpgradeDialog?.showUpgradeDialog() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt index 559a5def67..efc5ef32be 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.graphics.PixelFormat import android.util.DisplayMetrics import android.view.* +import android.widget.ImageView import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.data.report.ReportEntity @@ -21,6 +22,7 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ private var mWindowParams: WindowManager.LayoutParams? = null private var mWindowManager: WindowManager? = null private lateinit var rvIPCReport: RecyclerView + private lateinit var ivIpcClose: ImageView private var ipcReportAdapter: IPCReportAdapter?=null private lateinit var mFloatLayout: View @@ -31,6 +33,8 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ private var mInScreenX = 0f private var mInScreenY = 0f + private var clickListener: ClickListener? = null + init { initFloatWindow(); } @@ -39,20 +43,25 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ mFloatLayout = LayoutInflater.from(mActivity).inflate(R.layout.view_ipc_report, null) as View mFloatLayout.setOnTouchListener(this) rvIPCReport= mFloatLayout.findViewById(R.id.rv_ipc_report) + ivIpcClose = mFloatLayout.findViewById(R.id.iv_ipc_close) mWindowParams = WindowManager.LayoutParams() mWindowManager = mActivity.windowManager mWindowParams?.let { it.format = PixelFormat.RGBA_8888 it.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE it.gravity = Gravity.START or Gravity.TOP - it.width = 800 - it.height = 1000 + it.width = 600 + it.height = 800 it.alpha = 0.9f } ipcReportAdapter = IPCReportAdapter() rvIPCReport.layoutManager = LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL,false) rvIPCReport.adapter = ipcReportAdapter + + ivIpcClose.setOnClickListener { + clickListener?.closeWindow() + } } fun refreshData(data:List){ @@ -122,5 +131,13 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ return sbar } + fun setClickListener(clickListener: ClickListener) { + this.clickListener = clickListener + } + + interface ClickListener { + fun closeWindow() + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt index 789a94c7b3..d4abbc8aac 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt @@ -3,7 +3,6 @@ package com.mogo.eagle.core.function.hmi.ui.tools import android.content.Context import android.widget.TextView import androidx.lifecycle.LifecycleObserver -import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager import com.mogo.eagle.core.function.hmi.R import com.mogo.module.common.dialog.BaseFloatDialog @@ -21,7 +20,6 @@ class AdUpgradeDialog(context: Context,images: List,padSn: String,releas private var clickListener: ClickListener? = null private var images: List?=null - private var imageVersion: String?=null private var padSn: String?=null private var releaseId: String?=null @@ -33,13 +31,9 @@ class AdUpgradeDialog(context: Context,images: List,padSn: String,releas upgradeConfirm?.setOnClickListener{ clickListener?.confirm() - //确认升级 - CallerBindingcarManager.getBindingcarProvider().upgradeConfirm(images, padSn, releaseId) - dismiss() } upgradeCancel?.setOnClickListener { clickListener?.cancel() - dismiss() } this.images = images this.padSn = padSn diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt index 0fdc8af523..4f0cdb2e0a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt @@ -58,8 +58,6 @@ class SystemVersionView @JvmOverloads constructor( private fun initView() { showCurrentPadVersion() showCurrentAdVersion() - - //鹰眼版本视图点击事件 ivPadVersion.setOnClickListener { CallerLogger.i("$M_HMI$$TAG", "pad version view clicked") @@ -85,13 +83,28 @@ class SystemVersionView @JvmOverloads constructor( when { AdUpgradeStateHelper.isDownloading(it.status) -> { //下载中,点击Toast提示:下载剩余时间 - ToastUtils.showShort( - "预计" + AdUpgradeStateHelper.getRemainingTime( - it.progress.progressDetail.total, - previousProgress, - currentProgress - ) + "下载完成" - ) + it.progress?.let { progress-> + progress.progressDetail?.let {progressDetail-> + if(AdUpgradeStateHelper.getRemainingTime( + progressDetail.total, + previousProgress, + currentProgress + ).isEmpty()){ + ToastUtils.showShort("下载已完成") + }else{ + ToastUtils.showShort( + "预计" + AdUpgradeStateHelper.getRemainingTime( + progressDetail.total, + previousProgress, + currentProgress + ) + "下载完成" + ) + } + } + + } + + } AdUpgradeStateHelper.isUpgrading(it.status) -> { //工控机状态为“升级中” @@ -118,7 +131,11 @@ class SystemVersionView @JvmOverloads constructor( */ private fun setAdUpgradeInfo(ipcUpgradeStateInfo: IPCUpgradeStateInfo) { this.previousProgress = this.currentProgress - this.currentProgress = ipcUpgradeStateInfo.progress.progressDetail.current + ipcUpgradeStateInfo.progress?.let { + it.progressDetail?.let {progressDetail-> + this.currentProgress = progressDetail.current + } + } this.ipcUpgradeStateInfo = ipcUpgradeStateInfo } @@ -140,12 +157,18 @@ class SystemVersionView @JvmOverloads constructor( CallerLogger.i( "$M_HMI$$TAG", "showAdUpgradeStatus status=$status" ) - adCircularProgressView.setProgress( - AdUpgradeStateHelper.downloadProgress( - ipcUpgradeStateInfo.progress.progressDetail.current, - ipcUpgradeStateInfo.progress.progressDetail.total - ) - ) + ipcUpgradeStateInfo.progress?.let { progress-> + progress.progressDetail?.let {progressDetail-> + adCircularProgressView.setProgress( + AdUpgradeStateHelper.downloadProgress( + progressDetail.current, + progressDetail.total + ) + ) + + } + + } } ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background) } @@ -155,6 +178,19 @@ class SystemVersionView @JvmOverloads constructor( adCircularProgressView?.visibility = View.GONE ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background) } + AdUpgradeStateHelper.isDownloadFinish(status) ->{ + //升级中,将状态设为“升级中”角标,并隐藏进度条 + ivAdStatus?.setImageResource(R.drawable.icon_upgrading) + adCircularProgressView?.visibility = View.GONE + ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background) + } + AdUpgradeStateHelper.isUpgrading(status) ->{ + //升级中,将状态设为“升级中”角标,并隐藏进度条 + ivAdStatus?.setImageResource(R.drawable.icon_upgrading) + adCircularProgressView?.visibility = View.GONE + ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background) + } + AdUpgradeStateHelper.isUpgrading(status) ->{ //升级中,将状态设为“升级中”角标,并隐藏进度条 ivAdStatus?.setImageResource(R.drawable.icon_upgrading) @@ -250,6 +286,9 @@ class SystemVersionView @JvmOverloads constructor( showCurrentAdVersion() } + /** + * 查询工控机新版本回调 + */ override fun queryContainersResponse(dockerList: List) { this.dockerList = dockerList if(dockerList.isNotEmpty()){ @@ -267,4 +306,15 @@ class SystemVersionView @JvmOverloads constructor( } } + /** + * 确认升级回调 + */ + override fun pushServerConfirm() { + //将角标改为“下载中” + ivAdStatus?.setImageResource(R.drawable.icon_downloading) + ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background) + //设置状态为不可升级 + AdUpgradeStateHelper.setUpgradeableStatus(false) + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt new file mode 100644 index 0000000000..8aff937915 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt @@ -0,0 +1,82 @@ +package com.mogo.eagle.core.function.hmi.ui.widget + +import android.annotation.SuppressLint +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.widget.LinearLayout +import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.AppUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import kotlinx.android.synthetic.main.view_version_name.view.* + +/** + * @author XuXinChao + * @description APP版本号+MAP版本号水印显示 + * @since: 2022/5/20 + */ +class VersionNameView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : LinearLayout(context, attrs, defStyleAttr),IMoGoAutopilotStatusListener { + + companion object { + const val TAG = "VersionNameView" + } + + private var dockerVersion: String? = null //工控机版本 + + init{ + LayoutInflater.from(context).inflate(R.layout.view_version_name, this, true) + initView() + } + + private fun initView(){ + showCurrentPadVersion() + showCurrentMapVersion() + } + + /** + * 展示当前鹰眼版本 + */ + @SuppressLint("SetTextI18n") + private fun showCurrentPadVersion() { + tvAppVersionName?.let { + it.text = "APP:${AppUtils.getAppVersionName()}" + } + } + + /** + * 展示当前工控机版本 + */ + @SuppressLint("SetTextI18n") + private fun showCurrentMapVersion() { + UiThreadHandler.post { + tvMapVersionName?.let { + if (!dockerVersion.isNullOrEmpty()) { + it.text = "MAP:${dockerVersion}" + } + } + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerAutoPilotStatusListenerManager.addListener(TAG, this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerAutoPilotStatusListenerManager.removeListener(TAG) + } + + override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) { + dockerVersion = autoPilotStatusInfo.dockVersion + showCurrentMapVersion() + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/icon_report_close.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/icon_report_close.png new file mode 100644 index 0000000000..3268295fba Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/icon_report_close.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml index bf10165a96..0e2e3830cf 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml @@ -39,7 +39,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + @@ -171,6 +171,18 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + + + + diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml index 6841bc661d..b055c72d90 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml @@ -10,6 +10,11 @@ android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" + android:textColor="@color/color_FFFFFF" + android:textSize="14sp" + android:text="@string/ipc_report_time" + android:layout_marginTop="10dp" + android:layout_marginStart="10dp" /> \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml index 66efb068a3..066d30f6db 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml @@ -1,17 +1,38 @@ - + android:layout_height="wrap_content"> + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values-xhdpi-2560x1440/dimens.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values-xhdpi-2560x1440/dimens.xml index c696276cb8..6aed16e240 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values-xhdpi-2560x1440/dimens.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values-xhdpi-2560x1440/dimens.xml @@ -42,7 +42,7 @@ 154px 60px 40px - 23px + 28px 210px 120px 15px diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml index 3641ccb612..00e9e6bef4 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml @@ -48,7 +48,7 @@ 154px 60px 40px - 23px + 28px 210px 120px 15px diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml index e506e3ef46..0073f44b4f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml @@ -39,9 +39,15 @@ 确认 稍后升级 + 时间: + 类型: + 原因: + 建议操作: + 绑定车机 是否修改车机绑定? 是否绑定车机? + diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.java index 44201bf5cb..d236338a9f 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.java @@ -1,5 +1,7 @@ package com.mogo.eagle.core.function.map; +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_MAP; + import android.content.Context; import android.os.Bundle; @@ -14,6 +16,7 @@ import com.mogo.eagle.core.function.api.map.hd.IMoGoMapFragmentProvider; import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener; import com.mogo.eagle.core.function.call.map.CallerHDMapManager; import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.map.IMogoMap; import com.mogo.map.IMogoUiSettings; import com.mogo.map.MogoMapView; @@ -54,7 +57,9 @@ public class MapFragment extends MvpFragment @Override public void stepInVrMode(boolean isDayMode) { try { - mMogoMapView.getMap().getUIController().stepInVrMode(isDayMode); + if (mMogoMapView != null && mMogoMapView.getMap() != null && mMogoMapView.getMap().getUIController() != null) { + mMogoMapView.getMap().getUIController().stepInVrMode(isDayMode); + } } catch (Exception e) { e.printStackTrace(); } @@ -95,6 +100,8 @@ public class MapFragment extends MvpFragment super.onSaveInstanceState(outState); if (mMogoMapView != null) { mMogoMapView.onSaveInstanceState(outState); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); } } @@ -106,6 +113,8 @@ public class MapFragment extends MvpFragment } if (mMogoMapView != null) { mMogoMapView.onPause(); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); } } @@ -117,6 +126,8 @@ public class MapFragment extends MvpFragment } if (mMogoMapView != null) { mMogoMapView.onResume(); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); } } @@ -125,6 +136,8 @@ public class MapFragment extends MvpFragment super.onLowMemory(); if (mMogoMapView != null) { mMogoMapView.onLowMemory(); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); } } @@ -173,6 +186,8 @@ public class MapFragment extends MvpFragment mMogoMapView.onDestroy(); mMogoMapView = null; mMogoMap = null; + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); } super.onDestroyView(); } @@ -185,12 +200,20 @@ public class MapFragment extends MvpFragment @Override public void changeMaoViewAngle(int type) { - mMogoMapView.getMap().getUIController().changeMapViewAngle(type); + if (mMogoMapView != null && mMogoMapView.getMap() != null && mMogoMapView.getMap().getUIController() != null) { + mMogoMapView.getMap().getUIController().changeMapViewAngle(type); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); + } } @Override public void changeCurrentIcon(int iconId) { - mMogoMapView.getMap().getUIController().changeCurrentIcon(iconId); + if (mMogoMapView != null && mMogoMapView.getMap() != null && mMogoMapView.getMap().getUIController() != null) { + mMogoMapView.getMap().getUIController().changeCurrentIcon(iconId); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); + } } /** @@ -207,7 +230,11 @@ public class MapFragment extends MvpFragment @Override public void setMapDAngle(int mode) { float angle = getSightModeAngle(mode); - mMogoMapView.getMap().getUIController().setMapDAngle(angle); + if (mMogoMapView != null && mMogoMapView.getMap() != null && mMogoMapView.getMap().getUIController() != null) { + mMogoMapView.getMap().getUIController().setMapDAngle(angle); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); + } } private float getSightModeAngle(int mode) { @@ -230,7 +257,12 @@ public class MapFragment extends MvpFragment @Nullable @Override public CenterLine getCenterLineInfo(double lon, double lat, float angle) { - return mMogoMapView.getMap().getUIController().getCenterLineInfo(lon, lat, angle); + if (mMogoMapView != null && mMogoMapView.getMap() != null && mMogoMapView.getMap().getUIController() != null) { + return mMogoMapView.getMap().getUIController().getCenterLineInfo(lon, lat, angle); + } else { + CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null"); + return null; //上层使用应该判空 + } } @Override diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/CarInfo.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/CarInfo.java index 675571b22d..b4a5b2201d 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/CarInfo.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/CarInfo.java @@ -13,6 +13,7 @@ public class CarInfo implements Serializable { // compare为1 是表示车辆已绑定ipad sn 并且 与所传appsn一致 // compare为2 是表示cmdb车辆没有真实绑定ipad // compare为3 是表示车辆已绑定ipad sn 并且 与所传appsn不一致 +// compare为4 appsn已经存在,并且绑定在其他的车上 private String compare; private String old_version; private String vendor; //销售商 diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/IPCUpgradeStateInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/IPCUpgradeStateInfo.kt index beda315feb..f6669751d6 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/IPCUpgradeStateInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/IPCUpgradeStateInfo.kt @@ -10,7 +10,8 @@ import androidx.annotation.Nullable data class IPCUpgradeStateInfo( val callback_url: String, val images: List, - val progress: Progress, + @Nullable + val progress: Progress?, @Nullable val releaseId: String?, val status: String, @@ -19,7 +20,8 @@ data class IPCUpgradeStateInfo( data class Progress( val id: String, - val progressDetail: ProgressDetail, + @Nullable + val progressDetail: ProgressDetail?, val status: String ) diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/bindingcar/IMoGoBindingCarListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/bindingcar/IMoGoBindingCarListener.kt index db8578a5d2..926c3a104c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/bindingcar/IMoGoBindingCarListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/bindingcar/IMoGoBindingCarListener.kt @@ -9,4 +9,6 @@ interface IMoGoBindingCarListener { fun queryContainersResponse(dockerList: List) + fun pushServerConfirm() + } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/bindingcar/CallerBindingCarListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/bindingcar/CallerBindingCarListenerManager.kt index 41c979cae1..a39d34a90e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/bindingcar/CallerBindingCarListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/bindingcar/CallerBindingCarListenerManager.kt @@ -62,4 +62,11 @@ object CallerBindingCarListenerManager { } } + fun invokePushServerConfirm(){ + BINDING_CAR_LISTENER.forEach{ + val listener = it.value + listener.pushServerConfirm() + } + } + } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index ca76dc0070..d47e0194e9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -90,8 +90,8 @@ WEBSOCKET_VERSION=1.1.7 applicationId=com.mogo.launcer applicationName=IntelligentPilot # RoboBus司机端:2.5.1;RoboTaxi司机端:2.5.1;RoboTaxi乘客端:1.0.0 -versionCode=2060600 -versionName=2.6.6 +versionCode=2070000 +versionName=2.7.0 ################# 新架构模块Maven版本管理 ################# MOGO_CORE_FUNCTION_AUTOPILOT_VERSION=0.0.58.10