diff --git a/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java b/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java
index 4e98870e57..0c12f4cad9 100644
--- a/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java
+++ b/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java
@@ -379,6 +379,11 @@ public class OrderModel {
};
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
+ @Override
+ public void brakeStatusChanged(boolean isBrakeAvailable) {
+
+ }
+
@Override
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
BusAnalyticsManager.INSTANCE.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
diff --git a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt
index 0d13cced28..125fa0cf16 100644
--- a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt
+++ b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt
@@ -87,7 +87,17 @@ object CharterTrajectoryManager {
// 5. 轨迹管理_轨迹下载超时
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹下载超时")
// ToastUtils.showShort("轨迹下载超时");
- } else if ("ISSM_FUNC_AUTO_PILOT_READY" == guardianInfo.getCode()) {
+ } else if ("EMAP_ATTITUDE_INIT_FAILED" == guardianInfo.getCode()) {
+ CallerMsgBoxManager.saveMsgBox(
+ MsgBoxBean(
+ MsgBoxType.OPERATION,
+ OperationMsg(
+ System.currentTimeMillis(), "请尽快操作车辆至适当位置掉头!", -1
+ )
+ )
+ )
+ SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.startautopilot)
+ } else if ("EMAP_ATTITUDE_INIT_FAILED" == guardianInfo.getCode()) {
// 收到ssm的自动驾驶变为ready,再次下发轨迹下载.解决:域控重启,或者102域控启动太早,107节点初始化未完成导致的轨迹未进行下载。
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() ssm ready,再次发起下载")
syncTrajectoryInfo(get().getBusOrderResult()?.lineId!!,
diff --git a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt
index b3c2d0d73a..1d801a261c 100644
--- a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt
+++ b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt
@@ -333,6 +333,9 @@ class DriverM1Model {
mControllerStatusCallback?.onStartAdasFailure()
}
}
+
+ override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
+ }
}
//监听网络变化,避免启动机器时无网导致无法更新订单信息
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt
index b271975892..1b1ef5458d 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt
@@ -53,6 +53,7 @@ import io.reactivex.Observable
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers
import mogo.telematics.pad.MessagePad
+import mogo_msg.MogoReportMsg
import java.util.*
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.TimeUnit
@@ -197,6 +198,14 @@ object CharterPassengerModel {
d(M_BUS_P + TAG, "底盘给到站信息")
arriveDest()
}
+ override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
+ super.onAutopilotGuardian(guardianInfo)
+ guardianInfo?.let {
+ if (it.code=="IMAP_TRA_LOADED") {
+ ToastCharterUtils.showToastShort("请等待车辆完成掉头后再出发吧~")
+ }
+ }
+ }
}
/**
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt
index 26238e72e9..e362613f11 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt
@@ -13,6 +13,9 @@ import kotlinx.android.synthetic.main.m1_itinerary_info.view.tv_distance_surplus
import kotlinx.android.synthetic.main.m1_itinerary_info.view.tv_distance_unit
import kotlinx.android.synthetic.main.m1_itinerary_info.view.tv_speed
+/**
+ * 速度、剩余时间、剩余距离和到达时间
+ */
class ItineraryView : ConstraintLayout, ItineraryViewModel.ItineraryViewCallback {
private val TAG = "ItineraryView"
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt
index 78b4af73ff..a9816bf408 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt
@@ -19,6 +19,9 @@ import kotlinx.android.synthetic.main.m1_devices_fragment.view.actv_order_times
import kotlinx.android.synthetic.main.m1_devices_fragment.view.cl_order_info
import kotlinx.android.synthetic.main.m1_devices_fragment.view.cl_order_info_endorder_comfit
+/**
+ * 剩余时间和结束订单入口
+ */
class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback {
private val TAG = "OrderInfoView"
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt
index d9fa7178c1..5620c12797 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt
@@ -41,6 +41,9 @@ import kotlinx.android.synthetic.main.m1_order_loading.view.iv_loading_wait_ent
import me.jessyan.autosize.utils.AutoSizeUtils
import org.greenrobot.eventbus.EventBus
+/**
+ * 选择线路
+ */
class SelectLineView : ConstraintLayout, SelectLineViewModel.SelectLineViewCallback {
private val TAG = "OrderInfoView"
diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt
index c071ba0680..46acd5e9fe 100644
--- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt
+++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt
@@ -72,6 +72,9 @@ import kotlinx.android.synthetic.main.m1_soft_fragment.view.tv_temperature_title
import me.jessyan.autosize.utils.AutoSizeUtils
import java.util.concurrent.TimeUnit
+/**
+ * 空调、暖风机、声音控制
+ */
class SoftControlView : ConstraintLayout, SoftControlViewModel.SoftControlCallback {
private val TAG = "OrderInfoView"
diff --git a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml
index 3515c4025c..61b135e866 100644
--- a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml
+++ b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml
@@ -90,12 +90,14 @@
app:layout_constraintEnd_toEndOf="@+id/viewBusPM1MsgBoxButton"
app:layout_constraintTop_toBottomOf="@+id/viewBusPM1MsgBoxButton" />
+
+
+
+
+
-
+
+
+
+
{
- SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask);
+ SweeperCloudTaskUtils.mockSendCloudTaskInfo(AiCloudTask.MessageType.CloudPushTask);
UiThreadHandler.postDelayed(() -> {
debugEndSubTask();
}, 5000);
diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt
index 361c88dcbe..a1449db700 100644
--- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt
+++ b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt
@@ -34,7 +34,7 @@ import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskRes
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskSuspendDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.printMessage
import com.mogo.och.sweepercloud.view.SweeperCurrentTaskInfoView
-import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
+import com.zhjt.mogo.adas.data.AiCloudTask
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.TaskStatus
@@ -204,7 +204,7 @@ class SweeperFragment : BaseSweeperTabFragment
}
@Override
- public void onSweeperCloudTask(@NonNull SweeperCloudTask.MessageType messageType, SweeperTask.TaskInfo taskInfo) {
+ public void onSweeperCloudTask(@NonNull AiCloudTask.MessageType messageType, SweeperTask.TaskInfo taskInfo) {
ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudTask(messageType, taskInfo));
}
@@ -210,7 +210,7 @@ public class SweeperPresenter extends Presenter
}
@Override
- public void onSweeperCloudTaskSuspendResume(@NonNull SweeperCloudTask.MessageType messageType, @NonNull String taskId,
+ public void onSweeperCloudTaskSuspendResume(@NonNull AiCloudTask.MessageType messageType, @NonNull String taskId,
@NonNull String subTaskId, SweeperCommon.Code code) {
}
diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java b/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java
index 08006c5490..5e99dd5719 100644
--- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java
+++ b/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java
@@ -287,6 +287,11 @@ public class SweeperTaskModel {
};
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
+ @Override
+ public void brakeStatusChanged(boolean isBrakeAvailable) {
+
+ }
+
@Override
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
SweeperAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
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 82b061e978..78c305d95f 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
@@ -1064,6 +1064,11 @@ public class TaxiModel {
};
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
+ @Override
+ public void brakeStatusChanged(boolean isBrakeAvailable) {
+
+ }
+
@Override
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
TaxiAnalyticsManager.INSTANCE.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java
index 88f8b9baac..8f34ee8a99 100644
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java
+++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java
@@ -22,6 +22,7 @@ import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.Group;
import androidx.fragment.app.FragmentTransaction;
+import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
@@ -38,6 +39,7 @@ import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView;
import com.mogo.eagle.core.function.view.MapBizView;
import com.mogo.eagle.core.function.smp.view.SmallMapView;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
+import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant;
import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
@@ -45,12 +47,14 @@ import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.map.uicontroller.VisualAngleMode;
import com.mogo.och.common.module.utils.AnimatorDrawableUtil;
+import com.mogo.och.common.module.utils.FrameAnimatorContainer;
import com.mogo.och.taxi.R;
import java.util.Arrays;
import java.util.Objects;
import bag_manager.BagManagerOuterClass;
+import me.jessyan.autosize.utils.AutoSizeUtils;
import mogo.telematics.pad.MessagePad;
import record_cache.RecordPanelOuterClass;
@@ -94,61 +98,8 @@ public abstract class BaseTaxiTabFragment CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "自动驾驶动画暂停"));
+ startManCOAnimator = new FrameAnimatorContainer(R.array.nim_flow_man_co, 20,mAnimFlowIv,false,width,height);
+ startManCOAnimator.setOnAnimStopListener(() -> CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "平行驾驶动画暂停"));
}
@Override
@@ -423,52 +382,51 @@ public abstract class BaseTaxiTabFragment
+
+
+ - @drawable/anim_flow_00000
+ - @drawable/anim_flow_00001
+ - @drawable/anim_flow_00002
+ - @drawable/anim_flow_00003
+ - @drawable/anim_flow_00004
+ - @drawable/anim_flow_00005
+ - @drawable/anim_flow_00006
+ - @drawable/anim_flow_00007
+ - @drawable/anim_flow_00008
+ - @drawable/anim_flow_00009
+
+ - @drawable/anim_flow_00010
+ - @drawable/anim_flow_00011
+ - @drawable/anim_flow_00012
+ - @drawable/anim_flow_00013
+ - @drawable/anim_flow_00014
+ - @drawable/anim_flow_00015
+ - @drawable/anim_flow_00016
+ - @drawable/anim_flow_00017
+ - @drawable/anim_flow_00018
+ - @drawable/anim_flow_00019
+
+ - @drawable/anim_flow_00020
+ - @drawable/anim_flow_00021
+ - @drawable/anim_flow_00022
+ - @drawable/anim_flow_00023
+ - @drawable/anim_flow_00024
+ - @drawable/anim_flow_00025
+ - @drawable/anim_flow_00026
+ - @drawable/anim_flow_00027
+ - @drawable/anim_flow_00028
+ - @drawable/anim_flow_00029
+
+
+ - @drawable/anim_flow_00030
+ - @drawable/anim_flow_00031
+ - @drawable/anim_flow_00032
+ - @drawable/anim_flow_00033
+ - @drawable/anim_flow_00034
+ - @drawable/anim_flow_00035
+ - @drawable/anim_flow_00036
+ - @drawable/anim_flow_00037
+ - @drawable/anim_flow_00038
+ - @drawable/anim_flow_00039
+
+ - @drawable/anim_flow_00040
+ - @drawable/anim_flow_00041
+ - @drawable/anim_flow_00042
+ - @drawable/anim_flow_00043
+ - @drawable/anim_flow_00044
+ - @drawable/anim_flow_00045
+ - @drawable/anim_flow_00046
+ - @drawable/anim_flow_00047
+ - @drawable/anim_flow_00048
+ - @drawable/anim_flow_00049
+
+ - @drawable/anim_flow_00050
+ - @drawable/anim_flow_00051
+ - @drawable/anim_flow_00052
+ - @drawable/anim_flow_00053
+ - @drawable/anim_flow_00054
+ - @drawable/anim_flow_00055
+ - @drawable/anim_flow_00056
+ - @drawable/anim_flow_00057
+ - @drawable/anim_flow_00058
+ - @drawable/anim_flow_00059
+
+
+
+
+ - @drawable/anim_flow_man_co_00000
+ - @drawable/anim_flow_man_co_00001
+ - @drawable/anim_flow_man_co_00002
+ - @drawable/anim_flow_man_co_00003
+ - @drawable/anim_flow_man_co_00004
+ - @drawable/anim_flow_man_co_00005
+ - @drawable/anim_flow_man_co_00006
+ - @drawable/anim_flow_man_co_00007
+ - @drawable/anim_flow_man_co_00008
+ - @drawable/anim_flow_man_co_00009
+ - @drawable/anim_flow_man_co_00010
+ - @drawable/anim_flow_man_co_00011
+ - @drawable/anim_flow_man_co_00012
+ - @drawable/anim_flow_man_co_00013
+ - @drawable/anim_flow_man_co_00014
+ - @drawable/anim_flow_man_co_00015
+ - @drawable/anim_flow_man_co_00016
+ - @drawable/anim_flow_man_co_00017
+ - @drawable/anim_flow_man_co_00018
+ - @drawable/anim_flow_man_co_00019
+ - @drawable/anim_flow_man_co_00020
+ - @drawable/anim_flow_man_co_00021
+ - @drawable/anim_flow_man_co_00022
+ - @drawable/anim_flow_man_co_00023
+ - @drawable/anim_flow_man_co_00024
+ - @drawable/anim_flow_man_co_00025
+ - @drawable/anim_flow_man_co_00026
+ - @drawable/anim_flow_man_co_00027
+ - @drawable/anim_flow_man_co_00028
+ - @drawable/anim_flow_man_co_00029
+ - @drawable/anim_flow_man_co_00030
+ - @drawable/anim_flow_man_co_00031
+ - @drawable/anim_flow_man_co_00032
+ - @drawable/anim_flow_man_co_00033
+ - @drawable/anim_flow_man_co_00034
+ - @drawable/anim_flow_man_co_00035
+ - @drawable/anim_flow_man_co_00036
+ - @drawable/anim_flow_man_co_00037
+ - @drawable/anim_flow_man_co_00038
+ - @drawable/anim_flow_man_co_00039
+ - @drawable/anim_flow_man_co_00040
+ - @drawable/anim_flow_man_co_00041
+ - @drawable/anim_flow_man_co_00042
+ - @drawable/anim_flow_man_co_00043
+ - @drawable/anim_flow_man_co_00044
+ - @drawable/anim_flow_man_co_00045
+ - @drawable/anim_flow_man_co_00046
+ - @drawable/anim_flow_man_co_00047
+ - @drawable/anim_flow_man_co_00048
+ - @drawable/anim_flow_man_co_00049
+ - @drawable/anim_flow_man_co_00050
+ - @drawable/anim_flow_man_co_00051
+ - @drawable/anim_flow_man_co_00052
+ - @drawable/anim_flow_man_co_00053
+ - @drawable/anim_flow_man_co_00054
+ - @drawable/anim_flow_man_co_00055
+ - @drawable/anim_flow_man_co_00056
+ - @drawable/anim_flow_man_co_00057
+ - @drawable/anim_flow_man_co_00058
+ - @drawable/anim_flow_man_co_00059
+
+
+
+
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
index 0527f0798c..0a0cb370fa 100644
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
+++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
@@ -235,7 +235,10 @@ object TaxiPassengerModel {
override fun onStartAutopilotFailure(startFailedCode: String, startFailedMessage: String) {
TaxiPassengerAnalyticsManager.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage)
}
+
+ override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
}
+ }
private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener {
override fun onSummaryClickEvent() {
if (currentOCHOrder == null) {
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java
index 7e8a6673f3..b1f80cf372 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java
@@ -23,4 +23,6 @@ public interface ITaxiADASStatusCallback {
//自驾返回失败
void onStartAdasFailure();
+
+ void updateAutopilotStatus();
}
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt
index 0ee272ed4a..5fbb56c5db 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt
@@ -10,6 +10,7 @@ import android.view.View
import android.view.animation.LinearInterpolator
import androidx.fragment.app.FragmentTransaction
import androidx.localbroadcastmanager.content.LocalBroadcastManager
+import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
@@ -28,7 +29,7 @@ import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.uicontroller.VisualAngleMode
-import com.mogo.och.common.module.utils.AnimatorDrawableUtil
+import com.mogo.och.common.module.utils.FrameAnimatorContainer
import com.mogo.och.common.module.wigets.StartAutopilotAnimationView
import com.mogo.och.taxi.R
import com.mogo.och.taxi.constant.TaxiUnmannedConst
@@ -57,6 +58,7 @@ import kotlinx.android.synthetic.main.taxi_base_fragment.taxi_switch_icon
import kotlinx.android.synthetic.main.taxi_base_fragment.viewDriverMsgBoxBubble
import kotlinx.android.synthetic.main.taxi_base_fragment.viewDriverMsgBoxButton
import kotlinx.android.synthetic.main.taxi_base_fragment.viewDriverMsgBoxList
+import me.jessyan.autosize.utils.AutoSizeUtils
import kotlin.math.abs
/**
@@ -78,61 +80,8 @@ abstract class BaseTaxiTabFragment> : MvpFragment> : MvpFragment> : MvpFragment> : MvpFragment> : MvpFragment> : MvpFragment> : MvpFragment implements ITaxiADASS
runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus());
}
+ @Override
+ public void updateAutopilotStatus() {
+ mView.updateAutopilotStatus(CallerAutoPilotStatusListenerManager.INSTANCE.getState());
+ }
+
@Override
public void onNaviToEnd(boolean isAmap, boolean isShow) {
runOnUIThread(() -> mView.onNaviToEnd(isAmap, isShow));
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt
index b2f3ec6b94..c56d65498d 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt
@@ -20,17 +20,14 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
-import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02
-import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager
import com.mogo.eagle.core.network.utils.GsonUtil
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
@@ -79,7 +76,6 @@ import com.mogo.och.taxi.ui.debug.DebugView
import com.mogo.och.taxi.utils.RxJavaUtils
import com.mogo.och.taxi.utils.TaxiAnalyticsManager
import com.mogo.och.taxi.utils.TaxiTrajectoryManager
-import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
import com.zhjt.service.chain.ChainLog
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -142,6 +138,8 @@ object TaxiTaskModel {
private var mPrepareTaskDelayRunnable: Runnable? = null
+ private var mIsArrivedSiteTag = false //到站标志位,防止围栏触发多次调用到站接口
+
fun addTaskWithOrderListener(tag: String, listener: ITaxiTaskWithOrderCallback) {
if (mTaxiTaskWithOrderCallbackMap.containsKey(tag)) {
return
@@ -229,8 +227,6 @@ object TaxiTaskModel {
AbnormalFactorsLoopManager.startLoopAbnormalFactors(mContext)
TrajectoryAndDistanceManager.addDistanceListener(TAG, localCalculateDistanceListener)
TrajectoryAndDistanceManager.addTrajectoryListener(TAG, localCalculateTrajectoryListener)
- //3.6.0后平行驾驶.刹车 且只用于东风和红旗. 3.6.0前没有
- CallerParallelDrivingActionsListenerManager.addListener(TAG,mParallelDrivingActionsListener)
}
private fun releaseListeners() {
@@ -247,28 +243,8 @@ object TaxiTaskModel {
CallerPlanningRottingListenerManager.removeListener(mMogoAutopilotPlanningListener)
OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null)
AbnormalFactorsLoopManager.stopLoopAbnormalFactors()
- CallerParallelDrivingActionsListenerManager.removeListener(TAG)
}
- // 监听平行驾驶、刹车, 试用于MAP3.6.0以上 且只用于东风和红旗
- private val mParallelDrivingActionsListener: IMoGoParallelDrivingActionsListener =
- object : IMoGoParallelDrivingActionsListener {
- override fun onParallelDrivingAbility(
- isParallelDrivingAbility: Boolean,
- unableParallelDrivingReasons: ArrayList?
- ) {
- if (unableParallelDrivingReasons != null) {
- if (unableParallelDrivingReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name)
- && unableParallelDrivingReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name)) {
- //刹车变化回调
- d(TAG,"onParallelDrivingAbility = $isParallelDrivingAbility," +
- " unableParallelDrivingReasons = ${unableParallelDrivingReasons.toString()}" )
- handleBrakeStatusChange(isParallelDrivingAbility)
- }
- }
- }
- }
-
/**
* brakeStatus: true: 恢复启动自驾
* false: 暂停启动自驾
@@ -321,10 +297,8 @@ object TaxiTaskModel {
DebugView.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_ENABLE,meaning=可自动驾驶,人工干预状态")
if ((FunctionBuildConfig.isDemoMode
&& checkCurrentTaskCondition()
- && (QueryCurrentTaskRespBean.isOrderOnTheWayToEnd(mCurrentTaskWithOrder)
- || QueryCurrentTaskRespBean.isOrderArriveAtEnd(mCurrentTaskWithOrder))
- )
- ) {
+ && QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder)
+ )){
// 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态
return
}
@@ -333,8 +307,7 @@ object TaxiTaskModel {
DebugView.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_DISABLE,meaning=不可自动驾驶")
if ((FunctionBuildConfig.isDemoMode
&& checkCurrentTaskCondition()
- && (QueryCurrentTaskRespBean.isOrderOnTheWayToEnd(mCurrentTaskWithOrder)
- || QueryCurrentTaskRespBean.isOrderArriveAtEnd(mCurrentTaskWithOrder))
+ && QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder)
)
) {
// 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态
@@ -347,8 +320,7 @@ object TaxiTaskModel {
DebugView.printInfoMsg("[自驾状态变化] afterValue=STATUS_PARALLEL_DRIVING,meaning=平行驾驶中")
if (FunctionBuildConfig.isDemoMode) {
if ((checkCurrentTaskCondition()
- && (QueryCurrentTaskRespBean.isOrderOnTheWayToEnd(mCurrentTaskWithOrder)
- || QueryCurrentTaskRespBean.isOrderArriveAtEnd(mCurrentTaskWithOrder))
+ && QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder)
)
) { //订单中
// 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态
@@ -413,7 +385,6 @@ object TaxiTaskModel {
if (checkCurrentTaskCondition()
&& QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder)
) {
-// judgeTaskStartStation(mogoLocation)
judgeTaskEndSiteStation(mogoLocation)
}
@@ -469,6 +440,11 @@ object TaxiTaskModel {
mADASStatusCallback?.onStartAdasFailure()
}
}
+
+ override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
+ //刹车: true 松开, false 踩下
+ handleBrakeStatusChange(isBrakeAvailable)
+ }
}
private val mMogoOnSocketMessageListener =
@@ -576,23 +552,6 @@ object TaxiTaskModel {
}
}
- //根据围栏判断,是否到达起点
- private fun judgeTaskStartStation(location: MogoLocation) {
- if (checkCurrentTaskCondition()) {
- val startSite = mCurrentTaskWithOrder!!.startSite ?: return
- val startLon = startSite.gcjLon
- val startLat = startSite.gcjLat
- val distance = CoordinateUtils.calculateLineDistance(
- startLon, startLat,
- location.longitude, location.latitude
- ).toDouble()
- i(TAG, "judgeTaskStartStation() distance = $distance")
- if (distance <= TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE) {
- submitArriveSite(startSite.siteId, false)
- }
- }
- }
-
private fun autopilotArriveAtStation() {
if (!checkCurrentTaskCondition()) return
i(
@@ -613,6 +572,12 @@ object TaxiTaskModel {
siteId: Long, isArriveAtEndSite: Boolean,
isArrivedNearestStation: Boolean = false
) {
+ if (mIsArrivedSiteTag){
+ DebugView.printInfoMsg("arriveSite接口正在调用中")
+ i(TAG, message = "arriveSite接口正在调用中 mIsArrivedSite = $mIsArrivedSiteTag")
+ return
+ }
+ mIsArrivedSiteTag = true
DebugView.printInfoMsg("[上报ArriveSite] siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
i(TAG, message = "submitArriveSite: siteId=$siteId isArriveAtEndSite=$isArriveAtEndSite")
TaxiTaskWithOrderServiceManager.arriveSite(
@@ -620,6 +585,7 @@ object TaxiTaskModel {
siteId,
object : OchCommonServiceCallback {
override fun onSuccess(data: BaseData?) {
+ mIsArrivedSiteTag = false
if (data == null || data.code != 0) return
DebugView.printInfoMsg("[上报ArriveSite] success siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
d(TAG, "submitArriveSite-onSuccess data=" + GsonUtil.jsonFromObject(data))
@@ -637,6 +603,7 @@ object TaxiTaskModel {
override fun onError() {
super.onError()
+ mIsArrivedSiteTag = false
if (!NetworkUtils.isConnected(mContext)) { // 网络异常,接口重试
ToastUtils.showShort("网络出现异常,请稍后重试")
DebugView.printErrorMsg("[上报ArriveSite] 网络出现异常,请稍后重试")
@@ -647,6 +614,7 @@ object TaxiTaskModel {
}
override fun onFail(code: Int, msg: String?) {
+ mIsArrivedSiteTag = false
DebugView.printErrorMsg("[上报ArriveSite] failed, code=$code, msg=$msg")
d(TAG, "code=$code msg=$msg")
ToastUtils.showShort("到站接口请求出现异常,请稍后重试,code=$code msg=$msg")
@@ -765,6 +733,7 @@ object TaxiTaskModel {
//注意: 需要去除到达乘客上车点的节点, 这个节点不拉取任务
if (result?.currentStatus == TaskStatusEnum.CompleteTask.code
) {
+ mADASStatusCallback?.updateAutopilotStatus()
mTaxiTaskWithOrderCallbackMap.forEach {
val listener = it.value
listener.onTaskCompleted(result)
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00000.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00000.png
old mode 100644
new mode 100755
index b71bd0d040..e0c23e8bf6
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00000.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00000.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00001.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00001.png
old mode 100644
new mode 100755
index c2ef6ba069..0149a8d568
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00001.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00001.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00002.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00002.png
old mode 100644
new mode 100755
index 3ddb02cd12..ecd03ab028
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00002.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00002.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00003.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00003.png
old mode 100644
new mode 100755
index 191f809256..603bb5365f
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00003.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00003.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00004.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00004.png
old mode 100644
new mode 100755
index c3a1dc0a27..d773fbc271
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00004.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00004.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00005.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00005.png
old mode 100644
new mode 100755
index 5c20c76fe1..8d2b53a324
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00005.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00005.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00006.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00006.png
old mode 100644
new mode 100755
index 195edee2ff..6a1ebb8c31
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00006.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00006.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00007.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00007.png
old mode 100644
new mode 100755
index 693630b658..ec5c802776
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00007.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00007.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00008.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00008.png
old mode 100644
new mode 100755
index d4b8ceab85..d0d6b19d24
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00008.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00008.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00009.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00009.png
old mode 100644
new mode 100755
index 6e4706a238..30778eef76
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00009.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00009.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00010.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00010.png
old mode 100644
new mode 100755
index f8350ebc4e..abe4d221d8
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00010.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00010.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00011.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00011.png
old mode 100644
new mode 100755
index 33bb429f93..bdc921b7d9
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00011.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00011.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00012.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00012.png
old mode 100644
new mode 100755
index ae5a6bf520..8a3d483dff
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00012.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00012.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00013.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00013.png
old mode 100644
new mode 100755
index aafcbc5122..54ce2af7d3
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00013.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00013.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00014.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00014.png
old mode 100644
new mode 100755
index 494f1e989b..b466e6501f
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00014.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00014.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00015.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00015.png
old mode 100644
new mode 100755
index d8ae01fa79..5e838cdf3a
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00015.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00015.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00016.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00016.png
old mode 100644
new mode 100755
index fac9c3acce..4225748f00
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00016.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00016.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00017.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00017.png
old mode 100644
new mode 100755
index f2e7e29e0c..6e014ae4a7
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00017.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00017.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00018.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00018.png
old mode 100644
new mode 100755
index f01c9de1f1..607c2376f9
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00018.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00018.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00019.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00019.png
old mode 100644
new mode 100755
index 1e570e8da5..5ee80ce4d2
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00019.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00019.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00020.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00020.png
old mode 100644
new mode 100755
index 86aeabc0cc..3e4662ce40
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00020.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00020.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00021.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00021.png
old mode 100644
new mode 100755
index b1f5bf7471..4fe5475a2e
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00021.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00021.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00022.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00022.png
old mode 100644
new mode 100755
index 72be9d9104..901a681f50
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00022.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00022.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00023.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00023.png
old mode 100644
new mode 100755
index 1d5b705848..9679529de3
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00023.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00023.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00024.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00024.png
old mode 100644
new mode 100755
index 367516ea95..23a6e4959b
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00024.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00024.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00025.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00025.png
old mode 100644
new mode 100755
index 1d0353e635..40bf3c7add
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00025.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00025.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00026.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00026.png
old mode 100644
new mode 100755
index 52945e2c17..7217f2fad6
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00026.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00026.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00027.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00027.png
old mode 100644
new mode 100755
index 7a338bd064..7b6676d47a
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00027.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00027.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00028.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00028.png
old mode 100644
new mode 100755
index 78dc703a46..91367f87e1
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00028.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00028.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00029.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00029.png
old mode 100644
new mode 100755
index 58a450edc1..9ff2c176fc
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00029.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00029.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00030.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00030.png
old mode 100644
new mode 100755
index 49d04f78be..546e258fbf
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00030.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00030.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00031.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00031.png
old mode 100644
new mode 100755
index c473265692..1489960566
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00031.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00031.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00032.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00032.png
old mode 100644
new mode 100755
index baf0ced1fa..49fb411910
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00032.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00032.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00033.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00033.png
old mode 100644
new mode 100755
index 3b75e5db6b..f1edc5bc88
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00033.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00033.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00034.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00034.png
old mode 100644
new mode 100755
index ca66176618..a5b9c37106
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00034.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00034.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00035.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00035.png
old mode 100644
new mode 100755
index e858b504e2..43a6225db0
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00035.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00035.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00036.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00036.png
old mode 100644
new mode 100755
index 75dfc4dd21..a7232cf1fb
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00036.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00036.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00037.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00037.png
old mode 100644
new mode 100755
index bd6c98b3ff..136ddc0906
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00037.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00037.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00038.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00038.png
old mode 100644
new mode 100755
index bb98916b1b..6892edaae9
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00038.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00038.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00039.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00039.png
old mode 100644
new mode 100755
index 9e0c60b41b..a50d62d9ec
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00039.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00039.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00040.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00040.png
old mode 100644
new mode 100755
index fb59f9763c..6b54e4d30d
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00040.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00040.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00041.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00041.png
old mode 100644
new mode 100755
index 26fb304d99..fb664f264d
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00041.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00041.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00042.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00042.png
old mode 100644
new mode 100755
index 9e86fa3b7b..4fc21f8560
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00042.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00042.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00043.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00043.png
old mode 100644
new mode 100755
index 9ac13d48c5..c57629d01c
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00043.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00043.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00044.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00044.png
old mode 100644
new mode 100755
index cfc8198864..06409fd5e0
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00044.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00044.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00045.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00045.png
old mode 100644
new mode 100755
index 352acbb165..3d45b30abf
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00045.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00045.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00046.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00046.png
old mode 100644
new mode 100755
index cc62f17b67..28090a0036
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00046.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00046.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00047.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00047.png
old mode 100644
new mode 100755
index e96c51d714..19a9364eae
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00047.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00047.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00048.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00048.png
old mode 100644
new mode 100755
index a9f4a1ff5f..9aeecd3f48
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00048.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00048.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00049.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00049.png
old mode 100644
new mode 100755
index 22346bd12a..942b373341
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00049.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00049.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00050.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00050.png
old mode 100644
new mode 100755
index cb2512ad6a..f2e0b1464e
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00050.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00050.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00051.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00051.png
old mode 100644
new mode 100755
index dfb322b959..b2be366cb3
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00051.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00051.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00052.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00052.png
old mode 100644
new mode 100755
index 9e8147e189..bdf082d673
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00052.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00052.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00053.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00053.png
old mode 100644
new mode 100755
index 3f261747a8..0074a849bd
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00053.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00053.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00054.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00054.png
old mode 100644
new mode 100755
index d794d2f3bb..febf15908e
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00054.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00054.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00055.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00055.png
old mode 100644
new mode 100755
index 4d6dc4e91f..b709392f8b
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00055.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00055.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00056.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00056.png
old mode 100644
new mode 100755
index 473273f2a6..13bca5e22d
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00056.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00056.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00057.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00057.png
old mode 100644
new mode 100755
index 990b4b5503..a548c71f6b
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00057.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00057.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00058.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00058.png
old mode 100644
new mode 100755
index 022e80d1d3..4d875f104a
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00058.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00058.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00059.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00059.png
old mode 100644
new mode 100755
index efb86c5569..a3bac76723
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00059.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_00059.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00000.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00000.png
index 22ba4eaf3b..41113e0a34 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00000.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00000.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00001.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00001.png
index ce611901b2..8e479139bb 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00001.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00001.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00002.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00002.png
index 244c3e0517..329821726d 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00002.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00002.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00003.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00003.png
index c51f8ac566..4c08cf44ee 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00003.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00003.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00004.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00004.png
index ea16dfd223..15f8ece01f 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00004.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00004.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00005.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00005.png
index 087438db35..a6b6ba6f4e 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00005.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00005.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00006.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00006.png
index 297b485e1b..a604497cfa 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00006.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00006.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00007.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00007.png
index c916ef48f9..9f2e8bca3b 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00007.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00007.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00008.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00008.png
index d73767b6f5..a849e1cf30 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00008.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00008.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00009.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00009.png
index 5f6ce673db..b94fd4e080 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00009.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00009.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00010.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00010.png
index 690bf7df44..59a1ee3ca1 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00010.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00010.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00011.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00011.png
index 8aa7b996b6..a833cdbedd 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00011.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00011.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00012.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00012.png
index 9ca8dbe784..678d5e1f43 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00012.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00012.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00013.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00013.png
index 388db958a9..f09d14094f 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00013.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00013.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00014.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00014.png
index e97f052fb1..1d996567b2 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00014.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00014.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00015.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00015.png
index 08681b174c..30a5ca609e 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00015.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00015.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00016.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00016.png
index feb9460dd5..19914eac75 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00016.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00016.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00017.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00017.png
index 7a057db668..6457e75ae8 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00017.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00017.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00018.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00018.png
index 27ff3cc600..f0df474b87 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00018.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00018.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00019.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00019.png
index 2c99dd5dc9..6c24204284 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00019.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00019.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00020.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00020.png
index 16cdb4bfab..d2b48a1340 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00020.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00020.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00021.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00021.png
index b784e1e4c6..69a50de46b 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00021.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00021.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00022.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00022.png
index 627f4c9d06..b373863b1a 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00022.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00022.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00023.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00023.png
index 46da8e7b5f..6d02b1dfeb 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00023.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00023.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00024.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00024.png
index bcdd8963a8..95cc9034d6 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00024.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00024.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00025.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00025.png
index 4950874cc5..f6275aa4f8 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00025.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00025.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00026.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00026.png
index db24fdd89e..5f1b0ffef8 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00026.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00026.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00027.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00027.png
index b3b3358577..ec2ee8ee5a 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00027.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00027.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00028.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00028.png
index fc79d79547..113e0b341c 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00028.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00028.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00029.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00029.png
index 584e0725f0..15b6c39632 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00029.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00029.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00030.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00030.png
index e2027cfc7c..a363e97825 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00030.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00030.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00031.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00031.png
index ff69d8e339..10335a15af 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00031.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00031.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00032.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00032.png
index c13fe25962..9e3b4fa240 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00032.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00032.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00033.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00033.png
index 02036b0e57..8447f738e7 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00033.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00033.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00034.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00034.png
index e29d990854..6a26403acb 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00034.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00034.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00035.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00035.png
index 114d54e626..01494e84e6 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00035.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00035.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00036.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00036.png
index e44f7aba6a..7127a20fdc 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00036.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00036.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00037.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00037.png
index 4a718e8b89..f808933e4c 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00037.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00037.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00038.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00038.png
index 43c70793e4..e7b2637e1c 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00038.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00038.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00039.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00039.png
index 5f909f1271..7c7e6d5f82 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00039.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00039.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00040.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00040.png
index de2b95946b..42ed69e297 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00040.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00040.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00041.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00041.png
index be65eb18bd..a70c5664d9 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00041.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00041.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00042.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00042.png
index b74820d9ab..342410cc94 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00042.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00042.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00043.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00043.png
index d751c5a8f6..d9bfbb6aa9 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00043.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00043.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00044.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00044.png
index c8c3fe019a..3afa872e55 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00044.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00044.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00045.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00045.png
index 79b1f778b9..309437ede4 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00045.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00045.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00046.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00046.png
index 66cbb1a8bf..9fdeb5c4fc 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00046.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00046.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00047.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00047.png
index e75559ba2b..5a51b33ca7 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00047.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00047.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00048.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00048.png
index 0fa9cf95f3..d766d1a8b5 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00048.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00048.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00049.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00049.png
index 7445350b68..689e9c4940 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00049.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00049.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00050.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00050.png
index 0e4c83c1b3..d4fcdff5ca 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00050.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00050.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00051.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00051.png
index 1b05dfb2c4..4cf20d5875 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00051.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00051.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00052.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00052.png
index 64f3974bb3..d4d7d4bfac 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00052.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00052.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00053.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00053.png
index 9199dda1df..cb2faa96b5 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00053.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00053.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00054.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00054.png
index fcc0fa446c..28c50833c6 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00054.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00054.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00055.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00055.png
index a0ac37b605..a409e84139 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00055.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00055.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00056.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00056.png
index 4879de18eb..84acd73921 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00056.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00056.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00057.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00057.png
index b60bc68114..1be70d9bb6 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00057.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00057.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00058.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00058.png
index 5dc3945a0c..1f5048dfb2 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00058.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00058.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00059.png b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00059.png
index 626c936ee2..d4894dba39 100755
Binary files a/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00059.png and b/OCH/taxi/unmanned-driver/src/main/res/drawable/anim_flow_man_co_00059.png differ
diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml
index 37c44662c4..7c7e6160bf 100644
--- a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml
+++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml
@@ -190,7 +190,7 @@
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="@dimen/dp_20"
- app:layout_constraintRight_toLeftOf="@+id/viewTrafficLightVr"
+ app:layout_constraintRight_toLeftOf="@+id/ivCameraIcon"
app:layout_goneMarginRight="@dimen/dp_160"/>
diff --git a/OCH/taxi/unmanned-driver/src/main/res/values/arrays.xml b/OCH/taxi/unmanned-driver/src/main/res/values/arrays.xml
new file mode 100644
index 0000000000..b1dbd2354f
--- /dev/null
+++ b/OCH/taxi/unmanned-driver/src/main/res/values/arrays.xml
@@ -0,0 +1,137 @@
+
+
+
+ - @drawable/anim_flow_00000
+ - @drawable/anim_flow_00001
+ - @drawable/anim_flow_00002
+ - @drawable/anim_flow_00003
+ - @drawable/anim_flow_00004
+ - @drawable/anim_flow_00005
+ - @drawable/anim_flow_00006
+ - @drawable/anim_flow_00007
+ - @drawable/anim_flow_00008
+ - @drawable/anim_flow_00009
+
+ - @drawable/anim_flow_00010
+ - @drawable/anim_flow_00011
+ - @drawable/anim_flow_00012
+ - @drawable/anim_flow_00013
+ - @drawable/anim_flow_00014
+ - @drawable/anim_flow_00015
+ - @drawable/anim_flow_00016
+ - @drawable/anim_flow_00017
+ - @drawable/anim_flow_00018
+ - @drawable/anim_flow_00019
+
+ - @drawable/anim_flow_00020
+ - @drawable/anim_flow_00021
+ - @drawable/anim_flow_00022
+ - @drawable/anim_flow_00023
+ - @drawable/anim_flow_00024
+ - @drawable/anim_flow_00025
+ - @drawable/anim_flow_00026
+ - @drawable/anim_flow_00027
+ - @drawable/anim_flow_00028
+ - @drawable/anim_flow_00029
+
+
+ - @drawable/anim_flow_00030
+ - @drawable/anim_flow_00031
+ - @drawable/anim_flow_00032
+ - @drawable/anim_flow_00033
+ - @drawable/anim_flow_00034
+ - @drawable/anim_flow_00035
+ - @drawable/anim_flow_00036
+ - @drawable/anim_flow_00037
+ - @drawable/anim_flow_00038
+ - @drawable/anim_flow_00039
+
+ - @drawable/anim_flow_00040
+ - @drawable/anim_flow_00041
+ - @drawable/anim_flow_00042
+ - @drawable/anim_flow_00043
+ - @drawable/anim_flow_00044
+ - @drawable/anim_flow_00045
+ - @drawable/anim_flow_00046
+ - @drawable/anim_flow_00047
+ - @drawable/anim_flow_00048
+ - @drawable/anim_flow_00049
+
+ - @drawable/anim_flow_00050
+ - @drawable/anim_flow_00051
+ - @drawable/anim_flow_00052
+ - @drawable/anim_flow_00053
+ - @drawable/anim_flow_00054
+ - @drawable/anim_flow_00055
+ - @drawable/anim_flow_00056
+ - @drawable/anim_flow_00057
+ - @drawable/anim_flow_00058
+ - @drawable/anim_flow_00059
+
+
+
+
+ - @drawable/anim_flow_man_co_00000
+ - @drawable/anim_flow_man_co_00001
+ - @drawable/anim_flow_man_co_00002
+ - @drawable/anim_flow_man_co_00003
+ - @drawable/anim_flow_man_co_00004
+ - @drawable/anim_flow_man_co_00005
+ - @drawable/anim_flow_man_co_00006
+ - @drawable/anim_flow_man_co_00007
+ - @drawable/anim_flow_man_co_00008
+ - @drawable/anim_flow_man_co_00009
+ - @drawable/anim_flow_man_co_00010
+ - @drawable/anim_flow_man_co_00011
+ - @drawable/anim_flow_man_co_00012
+ - @drawable/anim_flow_man_co_00013
+ - @drawable/anim_flow_man_co_00014
+ - @drawable/anim_flow_man_co_00015
+ - @drawable/anim_flow_man_co_00016
+ - @drawable/anim_flow_man_co_00017
+ - @drawable/anim_flow_man_co_00018
+ - @drawable/anim_flow_man_co_00019
+ - @drawable/anim_flow_man_co_00020
+ - @drawable/anim_flow_man_co_00021
+ - @drawable/anim_flow_man_co_00022
+ - @drawable/anim_flow_man_co_00023
+ - @drawable/anim_flow_man_co_00024
+ - @drawable/anim_flow_man_co_00025
+ - @drawable/anim_flow_man_co_00026
+ - @drawable/anim_flow_man_co_00027
+ - @drawable/anim_flow_man_co_00028
+ - @drawable/anim_flow_man_co_00029
+ - @drawable/anim_flow_man_co_00030
+ - @drawable/anim_flow_man_co_00031
+ - @drawable/anim_flow_man_co_00032
+ - @drawable/anim_flow_man_co_00033
+ - @drawable/anim_flow_man_co_00034
+ - @drawable/anim_flow_man_co_00035
+ - @drawable/anim_flow_man_co_00036
+ - @drawable/anim_flow_man_co_00037
+ - @drawable/anim_flow_man_co_00038
+ - @drawable/anim_flow_man_co_00039
+ - @drawable/anim_flow_man_co_00040
+ - @drawable/anim_flow_man_co_00041
+ - @drawable/anim_flow_man_co_00042
+ - @drawable/anim_flow_man_co_00043
+ - @drawable/anim_flow_man_co_00044
+ - @drawable/anim_flow_man_co_00045
+ - @drawable/anim_flow_man_co_00046
+ - @drawable/anim_flow_man_co_00047
+ - @drawable/anim_flow_man_co_00048
+ - @drawable/anim_flow_man_co_00049
+ - @drawable/anim_flow_man_co_00050
+ - @drawable/anim_flow_man_co_00051
+ - @drawable/anim_flow_man_co_00052
+ - @drawable/anim_flow_man_co_00053
+ - @drawable/anim_flow_man_co_00054
+ - @drawable/anim_flow_man_co_00055
+ - @drawable/anim_flow_man_co_00056
+ - @drawable/anim_flow_man_co_00057
+ - @drawable/anim_flow_man_co_00058
+ - @drawable/anim_flow_man_co_00059
+
+
+
+
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
index 06be2ebae5..4ee5711666 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
@@ -346,6 +346,9 @@ object TaxiPassengerModel {
startFailedMessage
)
}
+
+ override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
+ }
}
private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener {
diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt
index 62d5defef4..65d5554a51 100644
--- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt
+++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt
@@ -1,5 +1,6 @@
package com.mogo.eagle.core.function.datacenter.autopilot.adapter
+import android.util.Log
import bag_manager.BagManagerOuterClass
import chassis.ChassisStatesOuterClass
import chassis.VehicleStateOuterClass
@@ -163,6 +164,9 @@ class MoGoAdasListenerImpl : OnAdasListener {
vehicleState: VehicleStateOuterClass.VehicleState?
) {
if (vehicleState != null) {
+ Log.i(
+ "xfk",
+ "底盘 onVehicleState 刹车=${vehicleState.brake}")
//转向灯数据
CallerChassisLamplightListenerManager.invokeAutopilotLightSwitchData(vehicleState.light)
//刹车灯数据
@@ -252,6 +256,9 @@ class MoGoAdasListenerImpl : OnAdasListener {
CallerChassisThrottleStateListenerManager.invokeAutopilotThrottle(it.throttleResponsePosition)
}
chassisStates.brakeSystemStates?.let {
+ Log.i(
+ "xfk",
+ "底盘 onVehicleState 刹车=${it.brakePedalResponsePosition}")
//刹车
CallerChassisBrakeStateListenerManager.invokeAutopilotBrake(it.brakePedalResponsePosition)
}
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt
index 5f9bff95c3..2eece707f1 100644
--- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt
+++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt
@@ -253,6 +253,11 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider {
} catch (t: Throwable) {
t.printStackTrace()
}
+ try {
+ UpgradeDbHelper.deleteRecord(success.versionName)
+ } catch (t:Throwable) {
+ t.printStackTrace()
+ }
return@also
}
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt
index 99a7a4e955..66602b194a 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt
@@ -362,6 +362,12 @@ internal class SOPSettingView @JvmOverloads constructor(
scDrawPointCloudData.isChecked = FunctionBuildConfig.isDrawPointCloudData
//是否渲染点云数据
scDrawPointCloudData.setOnCheckedChangeListener { _, isChecked ->
+ //打开点云效果时,如果自车光圈是关闭状态,则自动打开自车光圈(点云是跟随光圈的 默认没有光圈就不显示点云的)
+ if(isChecked && !FunctionBuildConfig.isDisplayAnimEnable){
+ scCarAperture.isChecked = true
+ }else{
+ scCarAperture.isChecked = FunctionBuildConfig.isDisplayAnimEnable
+ }
CallerAutoPilotControlManager.setIsDrawPointCloud(isChecked)
FunctionBuildConfig.isDrawPointCloudData = isChecked
CallerMapUIServiceManager.getMapUIController()?.setIsDrawPointCloud(isChecked)
@@ -371,11 +377,14 @@ internal class SOPSettingView @JvmOverloads constructor(
//自车光圈
scCarAperture.isChecked = FunctionBuildConfig.isDisplayAnimEnable
- scCarAperture.setOnCheckedChangeListener { _, isChecked ->
+ scCarAperture.setOnCheckedChangeListener { compoundButton, isChecked ->
CallerMapUIServiceManager.getMapUIController()?.setDisplayAnimEnable(isChecked)
- FunctionBuildConfig.isDisplayAnimEnable = isChecked
hmiAction("SOP 是否展示自车光圈,",isChecked)
Log.i(TAG,"SOP 是否展示自车光圈,$isChecked")
+ if(!compoundButton.isPressed){
+ return@setOnCheckedChangeListener
+ }
+ FunctionBuildConfig.isDisplayAnimEnable = isChecked
}
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt
index 0d5c9d93b4..79b85ef6d7 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt
@@ -1,16 +1,18 @@
package com.mogo.eagle.core.function.hmi.ui.widget
+import android.animation.ObjectAnimator
+import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Color
import android.util.AttributeSet
import android.view.LayoutInflater
+import android.view.animation.LinearInterpolator
import android.widget.ImageView
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.voice.AIAssist
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingStatusListener
@@ -22,7 +24,6 @@ import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
-import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.SourceType
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest.ParallelRequest
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass
@@ -50,6 +51,7 @@ class ParallelDriveView @JvmOverloads constructor(
//1:ready, 2:自动驾驶中, 7:平行驾驶中
@Volatile
private var autopilotState: Int = 1
+
@Volatile
private var isAutoDriving: Boolean = false
@@ -60,6 +62,7 @@ class ParallelDriveView @JvmOverloads constructor(
private lateinit var statusIcon: ImageView
private lateinit var statusTitle: TextView
private var listener: ClickEventListener? = null
+ private var animator: ObjectAnimator? = null
init {
LayoutInflater.from(context).inflate(R.layout.view_parallel_drive, this, true)
@@ -115,11 +118,13 @@ class ParallelDriveView @JvmOverloads constructor(
}, ThreadUtils.MODE.QUEUE)
}
}
+
2 -> {
if (this.autopilotState != state) {
isAutoDriving = true
}
}
+
else -> {
if (this.autopilotState != state) {
isAutoDriving = false
@@ -161,30 +166,37 @@ class ParallelDriveView @JvmOverloads constructor(
state = SYNCHRONIZING
updateUI(SYNCHRONIZING)
}
+
"EXCEPTION_EXIT_SYNC" -> {// 同步异常结束
state = ONE_EXCEPTION
updateUI(ONE_EXCEPTION)
}
+
"TASK_REJECTED" -> {// 任务已被拒绝
state = FAILURE
updateUI(FAILURE)
AIAssist.getInstance(context).speakTTSVoice("请求已被拒绝")
}
+
"PARALLEL_EXCEPTION_MANUAL_DRIVING" -> {// 异常请人工驾驶
state = TWO_EXCEPTION
updateUI(TWO_EXCEPTION)
}
+
"EXCEPTION_EXIT_PARALLEL_DRIVING" -> {// 平行驾驶异常结束
state = ONE_EXCEPTION
updateUI(ONE_EXCEPTION)
}
+
"EXIT_SYNC" -> {// 同步结束
checkAvailableAndUpdateUI()
}
+
"UNABLE_TAKEOVER" -> {// 无法接管
state = ONE_EXCEPTION
updateUI(ONE_EXCEPTION)
}
+
"VEHICLE_IN_TROUBLE_PARALLEL_REQUESTED" -> {// 车辆遇困请求平行驾驶
state = AD_REQUESTING
updateUI(AD_REQUESTING)
@@ -198,6 +210,7 @@ class ParallelDriveView @JvmOverloads constructor(
private fun updateUI(state: Int) {
when (state) {
0 -> {
+ stopRotateAnimation()
rootLayout.isEnabled = true
rootLayout.alpha = 1f
statusIcon.background =
@@ -215,6 +228,7 @@ class ParallelDriveView @JvmOverloads constructor(
resources.getDrawable(R.drawable.icon_para_requesting, null)
statusTitle.setTextColor(Color.parseColor("#FFFFFF"))
statusIcon.alpha = 1f
+ startRotateAnimation()
statusTitle.text = context.getString(R.string.parallel_drive_requesting)
rootLayout.background = resources.getDrawable(R.drawable.bg_auto_pilot, null)
}
@@ -226,11 +240,13 @@ class ParallelDriveView @JvmOverloads constructor(
resources.getDrawable(R.drawable.icon_para_requesting, null)
statusTitle.setTextColor(Color.parseColor("#FFFFFF"))
statusIcon.alpha = 1f
+ startRotateAnimation()
statusTitle.text = context.getString(R.string.parallel_drive_requesting)
rootLayout.background = resources.getDrawable(R.drawable.bg_auto_pilot, null)
}
SYNCHRONIZING -> {
+ stopRotateAnimation()
rootLayout.isEnabled = false
rootLayout.alpha = 1f
statusIcon.background =
@@ -242,6 +258,7 @@ class ParallelDriveView @JvmOverloads constructor(
}
PARALLEL_DRIVING -> {
+ stopRotateAnimation()
rootLayout.isEnabled = false
rootLayout.alpha = 1f
statusIcon.background =
@@ -254,6 +271,7 @@ class ParallelDriveView @JvmOverloads constructor(
}
FAILURE -> {
+ stopRotateAnimation()
rootLayout.isEnabled = false
rootLayout.alpha = 1f
rootLayout.postDelayed({
@@ -268,6 +286,7 @@ class ParallelDriveView @JvmOverloads constructor(
}
ONE_EXCEPTION -> {
+ stopRotateAnimation()
rootLayout.isEnabled = false
rootLayout.alpha = 1f
rootLayout.postDelayed({
@@ -282,6 +301,7 @@ class ParallelDriveView @JvmOverloads constructor(
}
TWO_EXCEPTION -> {
+ stopRotateAnimation()
rootLayout.isEnabled = false
rootLayout.alpha = 1f
rootLayout.postDelayed({
@@ -296,6 +316,7 @@ class ParallelDriveView @JvmOverloads constructor(
}
UNAVAILABLE -> {
+ stopRotateAnimation()
rootLayout.isEnabled = false
rootLayout.alpha = 0.4f
statusIcon.background =
@@ -351,6 +372,27 @@ class ParallelDriveView @JvmOverloads constructor(
}
}
+ @SuppressLint("Recycle")
+ private fun startRotateAnimation() {
+ if (animator == null) {
+ animator = ObjectAnimator.ofFloat(statusIcon, "rotation", 0f, 360f).apply {
+ duration = 1500
+ repeatMode = ValueAnimator.RESTART
+ repeatCount = ValueAnimator.INFINITE
+ interpolator = LinearInterpolator()
+ }
+ }
+ animator?.start()
+ }
+
+ private fun stopRotateAnimation() {
+ animator?.let {
+ if (it.isRunning) {
+ it.cancel()
+ }
+ }
+ }
+
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerAutoPilotStatusListenerManager.removeListener(TAG)
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 1567698216..4847403169 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
@@ -376,7 +376,8 @@ class SystemVersionView @JvmOverloads constructor(
*/
override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) {
if(status.hdMapVer!= null && status.hdMapVer.isNotEmpty()){
- AppConfigInfo.adHdMapVersion = status.hdMapVer
+ //对地图版本进行截取
+ AppConfigInfo.adHdMapVersion = status.hdMapVer.substringAfter("/hadmap_data/").substringBefore(".sqlite")
updateAdHdMapVersion()
}
@@ -390,7 +391,8 @@ class SystemVersionView @JvmOverloads constructor(
*/
override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) {
if(statusInf.hdMapVer!= null && statusInf.hdMapVer.isNotEmpty()){
- AppConfigInfo.adHdMapVersion = statusInf.hdMapVer
+ //对地图版本进行截取
+ AppConfigInfo.adHdMapVersion = statusInf.hdMapVer.substringAfter("/hadmap_data/").substringBefore(".sqlite")
updateAdHdMapVersion()
}
}
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt
index eaca9a41c3..a5ee26bf19 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt
@@ -1,5 +1,6 @@
package com.mogo.eagle.core.function.call.autopilot
+import android.util.Log
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener
import com.mogo.eagle.core.function.call.base.CallerBase
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
@@ -61,6 +62,9 @@ object CallerAutopilotActionsListenerManager : CallerBase?
) {
+ Log.i(
+ "xfk",
+ "CallerAutopilotActionsListenerManager invokeAutopilotAbility=${CallerAutopilotActionsListenerManager.isAutopilotAbility} ${(if (CallerAutopilotActionsListenerManager.unableAutopilotReasons == null) null else CallerAutopilotActionsListenerManager.unableAutopilotReasons.toString())}")
if (isConnected) {
var isEquals: Boolean = true
if (unableAutopilotReasons != null && this.unableAutopilotReasons != null) {
@@ -91,6 +95,9 @@ object CallerAutopilotActionsListenerManager : CallerBase