diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt index 33369c39d8..ec75137b43 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt @@ -192,6 +192,7 @@ class PM2DrivingModel private constructor() { private val moGoAutopilotPlanningListener = object : IMoGoPlanningRottingListener{ override fun onAutopilotRotting(globalPathResp: MessagePad.GlobalPathResp?) { + d(SceneConstant.M_BUS_P + TAG, "och-rotting==globalPathResp = " + GsonUtils.toJson(globalPathResp)) globalPathResp?.let { d(SceneConstant.M_BUS_P + TAG, "och-rotting==wayPointsSize = " + it.wayPointsList.size) updateRoutePoints(it.wayPointsList) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt index d6107cd423..a90221bd15 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt @@ -28,21 +28,21 @@ class PM2BaseFragment : override fun initViews() { //横竖屏 - setScreenDirection() +// setScreenDirection() //隐藏小地图 initFragment() } - private fun setScreenDirection() { - var ro = Settings.System.getInt(context?.contentResolver, - Settings.System.USER_ROTATION,Surface.ROTATION_270) - if (ro != Surface.ROTATION_270){ - ro = Surface.ROTATION_270 - } - Settings.System.putInt(context?.contentResolver, - Settings.System.USER_ROTATION,ro) - } +// private fun setScreenDirection() { +// var ro = Settings.System.getInt(context?.contentResolver, +// Settings.System.USER_ROTATION,Surface.ROTATION_270) +// if (ro != Surface.ROTATION_270){ +// ro = Surface.ROTATION_270 +// } +// Settings.System.putInt(context?.contentResolver, +// Settings.System.USER_ROTATION,ro) +// } /** * 初始化行程信息,高静地图,宣传 三个fragment diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt index 393619a920..d3e4753941 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt @@ -105,7 +105,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter pause = false if (viewList.size > 0 && viewList[mViewPager.currentItem] is AdvanceVideoView) { val videoView = viewList[mViewPager.currentItem] as AdvanceVideoView - videoView.setRestart() + videoView.setResume() } } diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt index 78d562a7c9..d28037cc68 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt @@ -184,9 +184,9 @@ class AdvanceVideoView @JvmOverloads constructor( } } - fun setRestart() { + fun setResume() { if (videoViewPlayer !== null) { - videoViewPlayer?.startPlayLogic() + videoViewPlayer?.onVideoResume() } } diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml index 849ecb1e0f..dabeba3381 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml @@ -117,14 +117,17 @@ app:layout_constraintLeft_toLeftOf="@+id/speed_tv" android:textColor="@color/m2_line_during_tv_color"/> - @@ -171,13 +174,17 @@ app:layout_constraintLeft_toLeftOf="@+id/speed_tv" android:textColor="@color/m2_no_line_tv_color"/> - diff --git a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java index 4222bf781f..e92bf9bc69 100644 --- a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java @@ -963,7 +963,7 @@ public class OrderModel { //展示在运营消息 OCHSocketMessageManager.INSTANCE.pushAppOperationalMsgBox( DateTimeUtil.getCurrentTimeStamp(), - tips); + tips,OCHSocketMessageManager.OPERATION_SYSTEM); //语音提示 VoiceNotice.showNotice(tips); } diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryRoutesResponse.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryRoutesResponse.kt new file mode 100644 index 0000000000..551982e8f0 --- /dev/null +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryRoutesResponse.kt @@ -0,0 +1,35 @@ +package com.magic.mogo.och.charter.bean + +import com.mogo.eagle.core.data.BaseData + +/** + * @author: wangmingjun + * @date: 2023/2/28 + */ +data class QueryRoutesResponse(var data: Result) : BaseData(){ + + data class Result( + var csvFileUrl : String = "" , + + var csvFileMd5 : String = "" ,//轨迹文件md5,默认“” + + var txtFileUrl : String = "" ,//打点文件下载的cos url,默认“” + + var txtFileMd5 : String = "", //轨迹文件md5,默认“” + + var contrailSaveTime : Long = 0,//上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + + var carModel : String = "" ,//[optional] 车型号(如红旗H9),默认“”,暂不加入校验逻辑、用于人工排查问题 + + var csvFileUrlDPQP : String = "", //轨迹文件下载的cos url,默认“” + + var csvFileMd5DPQP : String = "", //轨迹文件md5,默认“” + + var txtFileUrlDPQP : String = "" ,//打点文件下载的cos url,默认“” + + var txtFileMd5DPQP : String = "" ,//轨迹文件md5,默认“” + + var contrailSaveTimeDPQP : Long = 0//上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + ) + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt index e7d5d9e53a..831a2d1b72 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt @@ -1,7 +1,10 @@ package com.magic.mogo.och.charter.fragment import android.os.Bundle +import android.os.CountDownTimer import android.view.View +import android.view.View.GONE +import android.view.View.VISIBLE import com.alibaba.android.arouter.launcher.ARouter import com.magic.mogo.och.charter.R import com.magic.mogo.och.charter.base.CharterBaseFragment @@ -29,6 +32,7 @@ class DriverM1Fragment : CharterBaseFragment=1 代表是重试 每次到站/路线结束清空置为0 private var loginService: LoginService? = null @@ -400,26 +401,6 @@ class DriverM1Model { } - /** - * 关闭美化模式 - */ - fun closeBeautificationMode() { - if (FunctionBuildConfig.isDemoMode) { //收车结束美化 - FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = - false //是否强制绘制引导线 - setIgnoreConditionDraw(false) // 同步给乘客屏 - setIPCDemoMode(false) //是否自动启动自驾 - d(SceneConstant.M_CHARTER_D + TAG, "美化模式-ignore:置为false") - } - } - - fun startBeautificationMode() { - FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true - setIgnoreConditionDraw(true) - setIPCDemoMode(true) - } - - /** * 延时查询站点信心 */ @@ -492,8 +473,8 @@ class DriverM1Model { CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null) } - fun initAutopilotControlParameters(): AutopilotControlParameters? { - if ( mCurrentOrder == null) return null + private fun initAutopilotControlParameters(): AutopilotControlParameters? { + if ( mCurrentOrder == null || mCurrentResult == null) return null var parameters = AutopilotControlParameters() parameters.routeID = mCurrentOrder?.lineId!! parameters.routeName = mCurrentOrder?.lineName!! @@ -506,17 +487,17 @@ class DriverM1Model { parameters.endLatLon = AutopilotControlParameters.AutoPilotLonLat(mCurrentOrder?.wgs84Lat!!, mCurrentOrder?.wgs84Lon!!) parameters.vehicleType = VEHICLE_TYPE -// if (parameters.autoPilotLine == null) { -// parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine( -// busRoutesResult.getLineId(), -// busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, -// busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, -// busRoutesResult.contrailSaveTime, busRoutesResult.carModel, -// busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, -// busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, -// busRoutesResult.contrailSaveTimeDPQP -// ) -// } + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine( + mCurrentOrder!!.lineId.toLong(), + mCurrentResult!!.csvFileUrl, mCurrentResult!!.csvFileMd5, + mCurrentResult!!.txtFileUrl, mCurrentResult!!.txtFileMd5, + mCurrentResult!!.contrailSaveTime, mCurrentResult!!.carModel, + mCurrentResult!!.csvFileUrlDPQP, mCurrentResult!!.csvFileMd5DPQP, + mCurrentResult!!.txtFileUrlDPQP, mCurrentResult!!.txtFileMd5DPQP, + mCurrentResult!!.contrailSaveTimeDPQP!! + ) + } return parameters } @@ -567,6 +548,9 @@ class DriverM1Model { if (data == null || data.code != 0){ return } + d(SceneConstant.M_CHARTER_D + TAG, "queryCurrentServiceStatus success = " + + GsonUtils.toJson(data.data)) + if (data.data.businessStatus == 2){ if (TextUtils.isEmpty(data.data.orderNo)){//还未换车,显示还车状态 mOrderCallback?.updateReturnCarStatus(false) @@ -590,25 +574,28 @@ class DriverM1Model { DriverM1ServiceManager.queryCurrentOrder(mContext ,object: OchCommonServiceCallback{ override fun onSuccess(data: QueryCurrentOrderResponse?) { - if (data == null || data.code == 0 || mCurrentOrder === data.data) return + if (data == null || data.code != 0 || mCurrentOrder === data.data) return + d(SceneConstant.M_CHARTER_D + TAG, "queryCurrentOrder order =" + + GsonUtils.toJson(data.data)) mCurrentOrder = data.data mOrderCallback?.updateOrderUI(data.data) // 倒计时校验开始 - startOrStopCheckCountDown(true) + checkoutContrail() + checkOrderCountDown() } override fun onFail(code: Int, msg: String?) { - TODO("Not yet implemented") + d(SceneConstant.M_CHARTER_D + TAG, "queryCurrentOrder onFail = $msg") } }) } private fun startOrStopCheckCountDown(start: Boolean) { - if (start){ - DriverM1LooperManager.starCountDownLoop() - }else{ - DriverM1LooperManager.stopCountDownLoop() - } +// if (start){ +// DriverM1LooperManager.starCountDownLoop() +// }else{ +// DriverM1LooperManager.stopCountDownLoop() +// } } fun checkOrderCountDown() { @@ -618,6 +605,7 @@ class DriverM1Model { if (data?.data == null || data.code != 0){ return } + d(SceneConstant.M_CHARTER_D,"checkOrderCountDown = "+ GsonUtils.toJson(data.data)) val gap = data.data.endTime - data.data.currentTime if (gap >= 0){ mOrderCallback?.updateOverCountDown((gap/1000/60).toInt()) @@ -645,6 +633,7 @@ class DriverM1Model { override fun onSuccess(data: BaseData?) { if (data != null && data.code == 0){ d(SceneConstant.M_CHARTER_D + TAG, "confirmed station .") + queryCurrentServiceStatus() sendCommitMsgToClient(true) } } @@ -654,4 +643,22 @@ class DriverM1Model { } }) } + + fun checkoutContrail(){ + if (mCurrentOrder == null) return + DriverM1ServiceManager.checkoutContrail(mContext,mCurrentOrder!!.lineId, + object : OchCommonServiceCallback{ + override fun onSuccess(data: QueryRoutesResponse?) { + if (data == null || data.code != 0) return + d(SceneConstant.M_CHARTER_D + TAG, "checkoutContrail-==" + + GsonUtils.toJson(data.data)) + mCurrentResult = data.data + } + + override fun onFail(code: Int, msg: String?) { + d(SceneConstant.M_CHARTER_D + TAG, "checkoutContrail-onFail== $msg .") + } + + }) + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt index 407afa2d5f..392d501c2d 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt @@ -1,10 +1,7 @@ package com.magic.mogo.och.charter.net import android.content.Context -import com.magic.mogo.och.charter.bean.CheckOrderCountDownResponse -import com.magic.mogo.och.charter.bean.QueryBusinessStatusResponse -import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse -import com.magic.mogo.och.charter.bean.RequestChangeDest +import com.magic.mogo.och.charter.bean.* import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.eagle.core.data.BaseData @@ -78,4 +75,16 @@ object DriverM1ServiceManager { ?.subscribe(OchCommonSubscribeImpl(context!!, callback, "changeDest")) } + fun checkoutContrail(context: Context?,lineId: Int, + callback: OchCommonServiceCallback?){ + mDriverM1ServiceApi.checkoutContrail(MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn, + lineId + )?.transformTry() + ?.subscribe(OchCommonSubscribeImpl(context!!, callback, "checkOrderCountDown")) + } + + + } \ No newline at end of file diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt index 22a1293aca..f6f919a0dc 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt @@ -1,9 +1,6 @@ package com.magic.mogo.och.charter.net -import com.magic.mogo.och.charter.bean.CheckOrderCountDownResponse -import com.magic.mogo.och.charter.bean.QueryBusinessStatusResponse -import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse -import com.magic.mogo.och.charter.bean.RequestChangeDest +import com.magic.mogo.och.charter.bean.* import com.mogo.eagle.core.data.BaseData import io.reactivex.Observable import retrofit2.http.* @@ -52,4 +49,11 @@ interface IDriverM1Service { @GET("/och-rental-cabin/api/business/v1/driver/queryBusinessTime") fun checkOrderCountDown(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Query("sn") sn: String?): Observable? + + @Headers("Content-type:application/json;charset=UTF-8") + @GET("/och-rental-cabin/api/business/v1/driver/contrail") + fun checkoutContrail(@Header("appId") appId: String?, @Header("ticket") ticket: String?, + @Query("sn") sn: String? + ,@Query("lineId") lineId:Int): Observable? + } \ No newline at end of file diff --git a/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml b/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml index c55fe1aeb0..dc40998949 100644 --- a/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml +++ b/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml @@ -99,6 +99,7 @@ android:textStyle="bold" android:textColor="@color/bus_arrived_station_name_text_color" android:includeFontPadding = "false" + android:layout_marginTop="@dimen/dp_10" android:maxLines="2" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" @@ -111,6 +112,7 @@ android:layout_height="wrap_content" android:text="--" android:textSize="@dimen/module_mogo_och_bus_station_name_text_size" + android:layout_marginTop="@dimen/dp_10" android:textStyle="bold" android:textColor="@color/bus_arrived_station_name_text_color" android:includeFontPadding = "false" @@ -164,7 +166,7 @@ ?>() : flStationPanelContainer = findViewById(R.id.module_mogo_och_station_panel_container) slidePanelView = findViewById(R.id.charter_slide_panel) + slidePanelView?.setText(resources.getString(R.string.back_car)) slidePanelView?.setOnSlidePanelMoveToEndListener(onSlideToEndListener) mTrafficDataView = findViewById(R.id.bus_arc) as TrafficDataView? diff --git a/OCH/mogo-och-charter/src/main/res/values/strings.xml b/OCH/mogo-och-charter/src/main/res/values/strings.xml index 10075df0c5..27b49dfd20 100644 --- a/OCH/mogo-och-charter/src/main/res/values/strings.xml +++ b/OCH/mogo-och-charter/src/main/res/values/strings.xml @@ -49,5 +49,6 @@ 距离发车时间还有%1$s分钟 + 确认还车 diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt index 76fc2a39f1..6c8c71bc2d 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt @@ -14,7 +14,7 @@ import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager object OCHSocketMessageManager { const val msgMonitorType:Int = 6295553 //后台运营消息 const val msgWriteOffPassengerType:Int = 6295554 //核销消息 - const val msgOperateDoorType = 6295554 // 开/关门消息 + const val msgOperateDoorType = 6295556 // 开/关门消息 const val msgOrderClosedType = 6295555 //订单结束消息 const val OPERATION_SYSTEM: Int = -1 // 运营消息 默认是次消息类型 diff --git a/app/build.gradle b/app/build.gradle index ea73ae46b3..a0ce6c0e95 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -478,22 +478,24 @@ Object readFileToJson(env){ return null } + def variantName() { if(gradle.startParameter.taskNames.size()>0) { - def taskName = gradle.startParameter.taskNames[0] - taskName = taskName.replace("Debug","") - taskName = taskName.replace("Release","") - if (taskName.endsWith("Qa")) { - return "qa" - } else if (taskName.endsWith("Online")) { - return "online" - } else if (taskName.endsWith("Demo")) { - return "demo" - } else { - return "qa" + for (String taskName : gradle.startParameter.taskNames) { + if (taskName.startsWith("assemble")) { + taskName = taskName.replace("Debug","") + taskName = taskName.replace("Release","") + if (taskName.endsWith("Qa")) { + return "qa" + } else if (taskName.endsWith("Online")) { + return "online" + } else if (taskName.endsWith("Demo")) { + return "demo" + } + } } - }else { - return "qa" } + return "qa" + } diff --git a/app/productFlavors/fOchBus.gradle b/app/productFlavors/fOchBus.gradle index f96331027e..2128701cb6 100644 --- a/app/productFlavors/fOchBus.gradle +++ b/app/productFlavors/fOchBus.gradle @@ -50,6 +50,6 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' //Bus不能启动自驾的档位 - buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' + buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' } } \ No newline at end of file diff --git a/app/productFlavors/fOchBusPassenger.gradle b/app/productFlavors/fOchBusPassenger.gradle index 962f544f6e..0255f8615d 100644 --- a/app/productFlavors/fOchBusPassenger.gradle +++ b/app/productFlavors/fOchBusPassenger.gradle @@ -46,6 +46,6 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' //Bus不能启动自驾的档位 - buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' + buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' } } \ No newline at end of file diff --git a/app/productFlavors/ochDriverM1.gradle b/app/productFlavors/ochDriverM1.gradle index f1f736167d..667e7af6c6 100644 --- a/app/productFlavors/ochDriverM1.gradle +++ b/app/productFlavors/ochDriverM1.gradle @@ -48,5 +48,8 @@ project.android.productFlavors { // 构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' + + //M1不能启动自驾的档位 + buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'null' } } \ No newline at end of file diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java index 45b6b6c46d..6e2cd0d297 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java @@ -1129,6 +1129,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas } }, "1234567");*/ } + options.setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); AdasManager.getInstance().create(options, this); AdasManager.getInstance().setOnAdasListener(this); /*两端数据转发 注释掉 diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java index 733e70d9ae..6bbb4b3825 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java @@ -13,6 +13,8 @@ import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; +import android.widget.RadioButton; +import android.widget.RadioGroup; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; @@ -41,6 +43,7 @@ import com.zhidao.support.adas.high.common.autopilot.ability.AutopilotAbilityMan import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.HashSet; import java.util.List; @@ -64,11 +67,16 @@ public class VersionFragment extends BaseFragment { private CheckBox unregistered_check_all; private TextView hint_registered; private TextView hint_unregistered; + private TextView can; + private TextView gear_influence; + private TextView gear; + private TextView title_gear; + private RadioButton rb_taxi; + private RadioGroup rg; private ConfigAdapter adapter; private InterfaceAdapter unregisteredAdapter; private InterfaceAdapter registeredAdapter; - private Set[] unableGears; private int role = Constants.TERMINAL_ROLE.DEBUG;//角色 默认调试屏 @@ -134,6 +142,12 @@ public class VersionFragment extends BaseFragment { Button btn2 = view.findViewById(R.id.btn2); ipsView = view.findViewById(R.id.ips_view); recyclerView = view.findViewById(R.id.config_list); + rb_taxi = view.findViewById(R.id.rb_taxi); + can = view.findViewById(R.id.can); + gear_influence = view.findViewById(R.id.gear_influence); + gear = view.findViewById(R.id.gear); + title_gear = view.findViewById(R.id.title_gear); + rg = view.findViewById(R.id.rg); initFragmentRecyclerView(); CupidLogUtils.w("InfoFragment===>" + title); tvTitle.setText(title); @@ -176,7 +190,36 @@ public class VersionFragment extends BaseFragment { view.findViewById(R.id.line1).setVisibility(View.GONE); tvTitle.setText("版本"); } + rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + if (checkedId == R.id.rb_taxi) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); + gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray())); + } else if (checkedId == R.id.rb_bus) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS); + gear("BUS", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS.toArray())); + } else if (checkedId == R.id.rb_sweeper) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER); + gear("SWEEPER", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER.toArray())); + } else if (checkedId == R.id.rb_m1) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1); + gear("M1", "无限制"); + } else if (checkedId == R.id.rb_m2) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2); + gear("M1", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2.toArray())); + } else if (checkedId == R.id.rb_van) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN); + gear("VAN", "无限制"); + } + } + }); + gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray())); + } + private void gear(String car, String gear) { + title_gear.setText(car + "不能启动自动驾驶的档位:"); + this.gear.setText(gear); } //根据连接状态更新数据 @@ -218,59 +261,37 @@ public class VersionFragment extends BaseFragment { list.add(new Config("ADAS LIB版本:", AdasManager.getInstance().getAdasVersion())); list.add(new Config("APP构建时间:", BuildConfig.BUILD_TIME)); - list.add(getAutopilotAbilityConfig("")); - list.add(gear()); adapter.setData(list); } - private Config gear() { + private String gear() { StringBuilder builder = new StringBuilder(); Chassis.GearPosition gear = App.INSTANCE.gear; if (gear != null) { - if (unableGears == null) { - unableGears = new Set[6]; - unableGears[0] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS; - unableGears[1] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1; - unableGears[2] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2; - unableGears[3] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER; - unableGears[4] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI; - unableGears[5] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN; - } - for (int j = 0; j < unableGears.length; j++) { - String type = ""; - if (j == 0) { - type = "BUS"; - } else if (j == 1) { - type = "M1"; - } else if (j == 2) { - type = "M2"; - } else if (j == 3) { - type = "SWEEPER"; - } else if (j == 4) { - type = "TAXI"; - } else if (j == 5) { - type = "VAN"; - } - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(unableGears[j]); - boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); - builder.append("车型:").append(type); - builder.append(" 当前档位:").append(gear.name()); - builder.append(" 是否可以启动自驾:").append(b).append('\n'); - } + boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); + builder.append(" 当前档位:").append(gear.name()); + builder.append(" 是否可以启动自驾:").append(b); } - return new Config("档位影响:", builder.toString()); + return builder.toString(); } - private Config getAutopilotAbilityConfig(String value) { - return new Config("能否启动自动驾驶:", value); + private String getAutopilotAbilityConfig(String value) { + return value; } public void autopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) { - List list = adapter.getData(); - if (list != null) { - updateRefreshConfig(list, getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); - updateRefreshConfig(list, gear()); - } + if (getActivity() != null) + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + can.setTextColor(getResources().getColor(RandomColor.randomColor())); + can.setText(getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); + gear_influence.setTextColor(getResources().getColor(RandomColor.randomColor())); + gear_influence.setText(gear()); + } + }); + + } private void updateRefreshConfig(List list, Config temp) { diff --git a/app_ipc_monitoring/src/main/res/layout/fragment_version.xml b/app_ipc_monitoring/src/main/res/layout/fragment_version.xml index 0b6016f93b..2f68eb3f7d 100644 --- a/app_ipc_monitoring/src/main/res/layout/fragment_version.xml +++ b/app_ipc_monitoring/src/main/res/layout/fragment_version.xml @@ -33,12 +33,155 @@ android:layout_margin="20dp" android:orientation="horizontal"> - - + android:layout_weight="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +