Merge branch 'dev_robotaxi-d-app-module_270_220510_2.7.0' into dev_robotaxi-d-app-module_270_passenger

This commit is contained in:
yangyakun
2022-05-23 09:50:21 +08:00
34 changed files with 507 additions and 102 deletions

View File

@@ -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<BusFragment, BusPresenter>
.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);

View File

@@ -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);
}
}
});
}

View File

@@ -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();
}
});
}

View File

@@ -653,7 +653,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
@Override
public void onFail(int code, String msg) {
queryOrderRouteList();
}
});
}

View File

@@ -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<QueryOrderRouteResp>() {
@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<QueryOrderRouteResp>() {
@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) {
}
});
}
}

View File

@@ -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<BaseData> updateOrderRoute(@Header ("appId") String appId, @Header("ticket") String ticket, @Body OrderRouteUpdateReqBean data);

View File

@@ -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));

View File

@@ -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" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -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());
}

View File

@@ -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 -> {
}

View File

@@ -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());

View File

@@ -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<IPCUpgradeStateInfo> ,
fun upgradeConfirm(images: List<String>,padSn: String,releaseId: String){
ipcUpgradeNetWorkModel.upgradeConfirm(images,padSn,releaseId,
onSuccess = {
CallerBindingCarListenerManager.invokePushServerConfirm()
},
onError = {
@@ -131,9 +130,10 @@ class IPCUpgradeManager: IMogoOnMessageListener<IPCUpgradeStateInfo> ,
val images = jsonObject.getJSONArray("images")
val dockerList = ArrayList<String>()
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)

View File

@@ -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

View File

@@ -29,5 +29,10 @@ class MogoLogCatchConst {
* 上传本地缓存链路日志
*/
const val CACHE_TRACE_UPLOAD = 5
/**
* 下发map缓存日志开关开启
*/
const val CACHE_MAP_UPLOAD = 6
}
}

View File

@@ -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<RemoteLogPushContent>, Handl
private val manualContent = RemoteLogPushContent()
private val catchingList: MutableList<String> = mutableListOf()
private var logInfoManager: LogInfoManager? = null
private var mapCacheUpload = false
fun init(context: Context) {
mContext = context
@@ -108,6 +110,10 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
TipToast.longTip("上传本地缓存链路日志")
LogInfoManagerFactory.cacheTraceLogUpload()
}
CACHE_MAP_UPLOAD -> {
TipToast.longTip("上传本地地图缓存日志")
mapCacheUpload = true
}
else -> {
}
}
@@ -235,6 +241,9 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
}
override fun uploadFile(filePath: String) {
if(!mapCacheUpload){
return
}
val file = File(filePath)
if (file.isFile) {
CallerLogger.d("$M_DEVA$TAG", "uploadFile path : $filePath")

View File

@@ -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<MoGoHmiContract.View?, HmiPresenter?>(),
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<MoGoHmiContract.View?, HmiPresenter?>(),
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()
}

View File

@@ -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<ReportEntity>){
@@ -122,5 +131,13 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{
return sbar
}
fun setClickListener(clickListener: ClickListener) {
this.clickListener = clickListener
}
interface ClickListener {
fun closeWindow()
}
}

View File

@@ -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<String>,padSn: String,releas
private var clickListener: ClickListener? = null
private var images: List<String>?=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<String>,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

View File

@@ -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<String>) {
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)
}
}

View File

@@ -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()
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

View File

@@ -39,7 +39,7 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!--Vie车辆标志-->
<!--Vip车辆标志-->
<com.mogo.eagle.core.function.hmi.ui.widget.VipIdentificationView
android:id="@+id/flVipIdentificationView"
android:layout_width="@dimen/module_vip_width"
@@ -77,7 +77,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/hmi_traffic_light_layout_margin_top"
android:layout_marginRight="@dimen/hmi_traffic_light_layout_margin_right"
android:layout_marginEnd="@dimen/hmi_traffic_light_layout_margin_right"
app:layout_constraintRight_toRightOf="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" />
<!--APP、MAP版本-->
<com.mogo.eagle.core.function.hmi.ui.widget.VersionNameView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="45px"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- app:layout_constraintBottom_toBottomOf="parent"-->

View File

@@ -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"
/>
<TextView
@@ -18,6 +23,10 @@
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/tvReportTimeTitle"
android:textColor="@color/color_FFFFFF"
android:textSize="14sp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
/>
<TextView
@@ -26,15 +35,24 @@
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvReportTimeTitle"
android:textColor="@color/color_FFFFFF"
android:textSize="14sp"
android:text="@string/ipc_report_type"
android:layout_marginTop="10dp"
android:layout_marginStart="10dp"
/>
<TextView
android:id="@+id/tvReportResultContent"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tvReportResultTitle"
app:layout_constraintLeft_toRightOf="@id/tvReportResultTitle"
app:layout_constraintRight_toRightOf="parent"
android:textColor="@color/color_FF0006"
android:textSize="14sp"
android:minLines="1"
android:layout_marginEnd="10dp"
/>
<TextView
@@ -43,15 +61,24 @@
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvReportResultContent"
app:layout_constraintLeft_toLeftOf="parent"
android:textColor="@color/color_FFFFFF"
android:textSize="14sp"
android:text="@string/ipc_report_msg"
android:layout_marginTop="10dp"
android:layout_marginStart="10dp"
/>
<TextView
android:id="@+id/tvReportMsgContent"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tvReportMsgTitle"
app:layout_constraintLeft_toRightOf="@id/tvReportMsgTitle"
app:layout_constraintRight_toRightOf="parent"
android:minLines="1"
android:textColor="@color/color_FF0006"
android:textSize="14sp"
android:layout_marginEnd="10dp"
/>
<TextView
@@ -60,15 +87,24 @@
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvReportMsgContent"
android:textColor="@color/color_FFFFFF"
android:textSize="14sp"
android:text="@string/ipc_report_action"
android:layout_marginTop="10dp"
android:layout_marginStart="10dp"
/>
<TextView
android:id="@+id/tvReportActionContent"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tvReportActionTitle"
app:layout_constraintLeft_toRightOf="@id/tvReportActionTitle"
app:layout_constraintRight_toRightOf="parent"
android:minLines="1"
android:textColor="@color/color_FFFFFF"
android:textSize="14sp"
android:layout_marginEnd="10dp"
/>
<View
@@ -76,6 +112,9 @@
android:layout_height="1dp"
android:background="#F0F0F0"
app:layout_constraintTop_toBottomOf="@id/tvReportActionContent"
android:textColor="@color/color_FFFFFF"
android:textSize="14sp"
android:layout_marginTop="5dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,17 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="840px"
android:layout_height="584px"
android:layout_width="500px"
android:layout_height="350px"
android:orientation="vertical">
<ImageView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/icon_drag"
android:padding="15dp"
android:layout_gravity="center_horizontal"
/>
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_ipc_drag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_drag"
android:padding="10dp"
android:layout_gravity="center_horizontal"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<ImageView
android:id="@+id/iv_ipc_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_report_close"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/iv_ipc_drag"
app:layout_constraintBottom_toBottomOf="@id/iv_ipc_drag"
android:padding="10dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.mogo.eagle.core.widget.RoundConstraintLayout
android:layout_width="match_parent"

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tvAppVersionName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textColor="#9EFFFFFF"
/>
<TextView
android:id="@+id/tvMapVersionName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textColor="#9EFFFFFF"
/>
</LinearLayout>

View File

@@ -42,7 +42,7 @@
<dimen name="hmi_traffic_light_layout_height">154px</dimen>
<dimen name="hmi_traffic_light_layout_corner">60px</dimen>
<dimen name="hmi_traffic_light_layout_margin_right">40px</dimen>
<dimen name="hmi_traffic_light_layout_margin_top">23px</dimen>
<dimen name="hmi_traffic_light_layout_margin_top">28px</dimen>
<dimen name="hmi_traffic_light_bg_width">210px</dimen>
<dimen name="hmi_traffic_light_bg_height">120px</dimen>
<dimen name="hmi_traffic_light_bg_margin_left">15px</dimen>

View File

@@ -48,7 +48,7 @@
<dimen name="hmi_traffic_light_layout_height">154px</dimen>
<dimen name="hmi_traffic_light_layout_corner">60px</dimen>
<dimen name="hmi_traffic_light_layout_margin_right">40px</dimen>
<dimen name="hmi_traffic_light_layout_margin_top">23px</dimen>
<dimen name="hmi_traffic_light_layout_margin_top">28px</dimen>
<dimen name="hmi_traffic_light_bg_width">210px</dimen>
<dimen name="hmi_traffic_light_bg_height">120px</dimen>
<dimen name="hmi_traffic_light_bg_margin_left">15px</dimen>

View File

@@ -39,9 +39,15 @@
<string name="confirm">确认</string>
<string name="cancel">稍后升级</string>
<string name="ipc_report_time">时间:</string>
<string name="ipc_report_type">类型:</string>
<string name="ipc_report_msg">原因:</string>
<string name="ipc_report_action">建议操作:</string>
<!--绑定车机-->
<string name="bindingcar_title">绑定车机</string>
<string name="modify_binding_car">是否修改车机绑定?</string>
<string name="to_binding_car">是否绑定车机?</string>
</resources>

View File

@@ -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<MapView, MapPresenter>
@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<MapView, MapPresenter>
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<MapView, MapPresenter>
}
if (mMogoMapView != null) {
mMogoMapView.onPause();
} else {
CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null");
}
}
@@ -117,6 +126,8 @@ public class MapFragment extends MvpFragment<MapView, MapPresenter>
}
if (mMogoMapView != null) {
mMogoMapView.onResume();
} else {
CallerLogger.INSTANCE.e(M_MAP + TAG, "mMogoMapView is null");
}
}
@@ -125,6 +136,8 @@ public class MapFragment extends MvpFragment<MapView, MapPresenter>
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<MapView, MapPresenter>
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<MapView, MapPresenter>
@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<MapView, MapPresenter>
@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<MapView, MapPresenter>
@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

View File

@@ -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; //销售商

View File

@@ -10,7 +10,8 @@ import androidx.annotation.Nullable
data class IPCUpgradeStateInfo(
val callback_url: String,
val images: List<String>,
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
)

View File

@@ -9,4 +9,6 @@ interface IMoGoBindingCarListener {
fun queryContainersResponse(dockerList: List<String>)
fun pushServerConfirm()
}

View File

@@ -62,4 +62,11 @@ object CallerBindingCarListenerManager {
}
}
fun invokePushServerConfirm(){
BINDING_CAR_LISTENER.forEach{
val listener = it.value
listener.pushServerConfirm()
}
}
}

View File

@@ -90,8 +90,8 @@ WEBSOCKET_VERSION=1.1.7
applicationId=com.mogo.launcer
applicationName=IntelligentPilot
# RoboBus司机端2.5.1RoboTaxi司机端2.5.1RoboTaxi乘客端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