diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java index 17529023d4..2ccf94dc3b 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java @@ -57,14 +57,14 @@ public class SweeperProvider implements IMogoOCH, IMoGoSweeperModeListener { FragmentManager supportFragmentManager = activity.getSupportFragmentManager(); if (sweeperOperateFragment == null) { CallerLogger.d(TAG, "准备add fragment======"); - Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(sweeperOperateFragment.TAG); + Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(SweeperOperateFragment.TAG); if (fragmentByTag instanceof SweeperOperateFragment) { sweeperOperateFragment = (SweeperOperateFragment) fragmentByTag; } else { sweeperOperateFragment = new SweeperOperateFragment(); } if (!sweeperOperateFragment.isAdded()) { - supportFragmentManager.beginTransaction().add(containerId, sweeperOperateFragment, sweeperOperateFragment.TAG).commitAllowingStateLoss(); + supportFragmentManager.beginTransaction().add(containerId, sweeperOperateFragment, SweeperOperateFragment.TAG).commitAllowingStateLoss(); } return; } @@ -76,14 +76,14 @@ public class SweeperProvider implements IMogoOCH, IMoGoSweeperModeListener { FragmentManager supportFragmentManager = activity.getSupportFragmentManager(); if (sweeperCloudFragment == null) { CallerLogger.d(TAG, "准备add fragment======"); - Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(sweeperCloudFragment.TAG); + Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(SweeperCloudFragment.TAG); if (fragmentByTag instanceof SweeperCloudFragment) { sweeperCloudFragment = (SweeperCloudFragment) fragmentByTag; } else { sweeperCloudFragment = new SweeperCloudFragment(); } if (!sweeperCloudFragment.isAdded()) { - supportFragmentManager.beginTransaction().add(containerId, sweeperCloudFragment, sweeperCloudFragment.TAG).commitAllowingStateLoss(); + supportFragmentManager.beginTransaction().add(containerId, sweeperCloudFragment, SweeperCloudFragment.TAG).commitAllowingStateLoss(); } return; } diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java index 0c58b0d95a..e359f8d97f 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java @@ -458,7 +458,7 @@ public class SweeperCloudTaskModel implements IMoGoSweeperFutianCloudTaskListene public void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudTaskCloudSuspendResume:" + SweeperCloudTaskUtils.printMessage(bigTaskActionPush)); + "onSweeperFutianCloudTaskCloudSuspendResume:" + bigTaskActionPush == null ? "null" : SweeperCloudTaskUtils.printMessage(bigTaskActionPush)); DebugView.Companion.printInfoMsg("[云控]云端下发暂停/恢复指令,messageType=" + messageType.getNumber() + ", sysTime=" + sysTime + ", reqNo=" + reqNo diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt index 8c43d614a7..2a5d592cb6 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt @@ -54,22 +54,26 @@ class TurnSignalView : LinearLayout { //根据左右进行显示和隐藏,实际要判断每个来的时间和频度 when (directionLight) { Chassis.LightSwitch.LIGHT_LEFT -> { //左转向 - leftSelectImage.visibility = View.VISIBLE - rightSelectImage.visibility = View.GONE - rightSelectImage.clearAnimation() - setAnimation(leftSelectImage) + leftSelectImage?.visibility = View.VISIBLE + rightSelectImage?.visibility = View.GONE + rightSelectImage?.clearAnimation() + leftSelectImage?.also { + setAnimation(it) + } } Chassis.LightSwitch.LIGHT_RIGHT -> { //右转向 - leftSelectImage.visibility = View.GONE - rightSelectImage.visibility = View.VISIBLE - leftSelectImage.clearAnimation() - setAnimation(rightSelectImage) + leftSelectImage?.visibility = View.GONE + rightSelectImage?.visibility = View.VISIBLE + leftSelectImage?.clearAnimation() + rightSelectImage?.also { + setAnimation(it) + } } else -> { //消失 - leftSelectImage.clearAnimation() - rightSelectImage.clearAnimation() - leftSelectImage.visibility = View.GONE - rightSelectImage.visibility = View.GONE + leftSelectImage?.clearAnimation() + rightSelectImage?.clearAnimation() + leftSelectImage?.visibility = View.GONE + rightSelectImage?.visibility = View.GONE } } } @@ -77,14 +81,18 @@ class TurnSignalView : LinearLayout { //实现图片闪烁效果 private fun setAnimation(imageView: ImageView) { - val animationSet = AnimatorSet() - val valueAnimator = ObjectAnimator.ofFloat(imageView, "alpha", 0f, 1.0f) - val valueAnimatorDisappare = ObjectAnimator.ofFloat(imageView, "alpha", 1.0f, 0f) - valueAnimator.duration = 1000 - valueAnimatorDisappare.duration = 800 - valueAnimator.repeatCount = -1 - valueAnimatorDisappare.repeatCount = -1 - animationSet.playTogether(valueAnimatorDisappare, valueAnimator) - animationSet.start() + try { + val animationSet = AnimatorSet() + val valueAnimator = ObjectAnimator.ofFloat(imageView, "alpha", 0f, 1.0f) + val valueAnimatorDisappare = ObjectAnimator.ofFloat(imageView, "alpha", 1.0f, 0f) + valueAnimator.duration = 1000 + valueAnimatorDisappare.duration = 800 + valueAnimator.repeatCount = -1 + valueAnimatorDisappare.repeatCount = -1 + animationSet.playTogether(valueAnimatorDisappare, valueAnimator) + animationSet.start() + } catch (e: Exception) { + e.printStackTrace() + } } } \ No newline at end of file diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 662e2aceaf..bab5a47f4c 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -764,12 +764,20 @@ public class TaxiModel { @Override public void onSuccess(TaxiDataBaseRespBean data) { - updateAutopilotStatus(data.code == 0); + /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击; + * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制) + */ + // updateAutopilotStatus(data.code == 0); + updateAutopilotStatus(true); } @Override public void onFail(int code, String msg) { - updateAutopilotStatus(false); + /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击; + * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制) + */ + // updateAutopilotStatus(false); + updateAutopilotStatus(true); } }); } @@ -792,13 +800,20 @@ public class TaxiModel { new OchCommonServiceCallback() { @Override public void onSuccess(TaxiDataBaseRespBean data) { - if (data != null && data.code == 0) - updateAutopilotStatus(data.data.equals(true)); + /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击; + * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制) + */ + // updateAutopilotStatus(data.data.equals(true)); + updateAutopilotStatus(true); } @Override public void onFail(int code, String msg) { - updateAutopilotStatus(false); + /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击; + * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制) + */ + // updateAutopilotStatus(false); + updateAutopilotStatus(true); } }); } diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index 54007473e2..be5e671701 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -258,6 +258,11 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiModel.getInstance().cleanLineMarker(); TaxiModel.getInstance().cleanStation(); runOnUIThread(() -> { + /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击; + * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制) + */ + mView.updateCtvAutopilotStatusTag(false); + if(TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus){ CallerOrderListenerManager.INSTANCE.invokeOrderStatus(false); } diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java index 0fcc863c72..baa4517898 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java @@ -283,7 +283,14 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment Color.parseColor("#FF1D5EF3"), true); - showOrHideOrderModeBtn(true); + /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击; + * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制) + */ + // showOrHideOrderModeBtn(true); + showOrHideOrderModeBtn(false); + CallerLogger.d(M_TAXI + TAG, "自驾模式"); + mOrderStartModeBtn.setTag(0); + startOrEndService(); } }else if (TaxiModel.getInstance().checkCurrentOCHOrder()) { diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index 1b3d2b1bf4..89f97e6b1d 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -230,6 +230,11 @@ public class TaxiFragment extends BaseTaxiTabFragment