waitServiceList);
-
- // 当前进行单状态变更:新到进行中订单、进行中单状态变更
- void onCurrentOrderStatusChanged(OrderQueryRespBean.Result order);
- // 当前订单取消完成:用于司机主动取消订单的结果反馈
- void onCurrentOrderCancelDone();
- // 待服务单被取消
- void onOrderCancelDone(String orderNo);
- // 当前订单route信息查询反馈
- void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo);
- // 当前位置距离上车点的距离(米)、预估时间(秒)
- void onCurrentOrderDistToStartChanged(long meters, long timeInSecond);
- // 当前位置距离上车点的距离(米)、预估时间(秒)
- void onCurrentOrderDistToEndChanged(long meters, long timeInSecond);
-
- // 新到预约单
- void onNewBookingOrderGot(OrderQueryRespBean.Result order);
-
- // 执行抢单动作完成:可进入抢单中状态
- void onGrabOrderExecuteDone();
-
- // 抢到预约单
- void onGrabOrderSuccess(OrderQueryRespBean.Result order);
-
- // 未抢到预约单
- void onGrabOrderFailed(OrderQueryRespBean.Result order);
-
- // 司机已确认开启自动驾驶环境
- void onDriverHasCheckedPilotCondition();
-
- /**
- * 导航到目的地
- * @param isAmap 是否是高德导航
- * @param isShow 是否显示导航地图(否播报声音)
- */
- void onNaviToEnd(boolean isAmap, boolean isShow);
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt
deleted file mode 100644
index 458d03895c..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.mogo.och.taxi.constant
-
-import com.mogo.commons.debug.DebugConfig
-
-/**
- * Created on 2021/12/6
- */
-class TaxiConst {
- companion object {
-
- // 到达起始点围栏
- const val ARRIVE_AT_START_STATION_DISTANCE = 15 //围栏由20m改为50m 再次改为15m
-
- // 上报心跳轮询ms
- const val LOOP_PERIOD_60S = 60 * 1000L
-
- // 轮询查询进行中/待服务订单的间隔时间 2秒
- const val LOOP_PERIOD_2S = 2 * 1000L
- // 轮询查询新到预约单 1秒
- const val LOOP_PERIOD_1S = 1 * 1000L
- const val LOOP_DELAY = 100L
-
- // 下发给MEC轨迹信息间隔时间 10秒
- const val LOOP_PERIOD_10S = 10 * 1000L
- // 尝试下发给MEC轨迹最多10次
- const val LOOP_SEND_TRAJ_TIMES = 10
-
- // 订单信息
- const val SP_KEY_OCH_TAXI_ORDER = "SP_KEY_OCH_TAXI_ORDER"
-
- //起点UUID
- const val TAXI_START_MAP_MAKER = "taxi_start_map_maker"
- //终点UUID
- const val TAXI_END_MAP_MAKER = "taxi_end_map_maker"
-
- //演示:V 测试:内测
- const val DEMO_USER = "V"
- const val TEST_USER = "内测"
-
- // 实时计算当前剩余里程和时间 间隔 2秒
- const val LOOP_CALCULATEROUTE_2S = 2 * 1000L
-
- //总里程/平均车速。(bus的平均里程:25km/h,taxi的平均里程:38km/h),单位为:分钟,不足1分钟时,显示1分钟。
- const val TAXI_AVERAGE_SPEED = 38
-
- /**
- * 订单起终点Marker类型
- */
- const val TYPE_MARKER_TAXI_ORDER = "TYPE_MARKER_TAXI_ORDER"
-
- const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L
-
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderCancelReasons.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderCancelReasons.kt
deleted file mode 100644
index c55993eddf..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderCancelReasons.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.mogo.och.taxi.constant
-
-/**
- * 司机端取消订单的原因定义
- * Created on 2021/12/7
- *
- * * String int
- * 进行中订单:
- * 车况异常 0
- * 设备异常 1
- * 电量不足 2
- * 身体不适 3
- * 乘客未到 4
- * 乘客中途下车 5
- * 1099前都可用
- *
- * 待服务订单:
- * 2000 车辆故障
- * 2001 乘客联系取消
- * 2002 行程冲突
- * 2003 车电量不足
- * 2004 其他
- */
-enum class TaxiOrderCancelReasons(val type: Int, val msg: String) {
- CarBroken(1000, "车况异常"),
- DeviceBroken(1001, "设备异常"),
- BatteryLow(1002, "电量不足"),
- DriverIsIll(1003, "身体不适"),
- PassengerNotArrive(1004, "乘客未到"),
- PassengerStopOver(1005, "乘客中途下车"),
- PassengerCancel(1006, "乘客联系安全员取消"),
- UnContractPassenger(1007, "联系不上乘客"),
- JourneyConflict(1008, "行程冲突"),
- StartStationFaraway(1009,"距离过远 无法接单"),
- Other( 1010, "其他原因"),
-
- BookCarBroken(2000, "车辆故障"),
- BookPassengerCancel(2001, "乘客联系取消"),
- BookJourneyConflict(2002, "行程冲突"),
- BookBatteryLow(2003, "车电量不足"),
- BookOther(2004, "其他");
-
- companion object {
- @JvmStatic
- fun getType(msg: String): Int {
- for (value in values()) {
- if (value.msg == msg) {
- return value.type
- }
- }
- return 0
- }
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderTypeEnum.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderTypeEnum.kt
deleted file mode 100644
index 34b09c6cc7..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderTypeEnum.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.mogo.och.taxi.constant
-
-/**
- * RoboTaxi订单类型声明
- *
- * Created on 2021/12/6
- */
-enum class TaxiOrderTypeEnum(val type: Int) {
- Instant(1), // 即时单
- Reserved(2) // 预约单
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java
deleted file mode 100644
index a6b9bbf141..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java
+++ /dev/null
@@ -1,1737 +0,0 @@
-package com.mogo.och.taxi.model;
-
-import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_CODE_OCH_TAXI_START_AUTOPILOT;
-import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_SOURCE_ADAS;
-import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_TYPE_SOCKET_AUTOPILOT;
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import static java.util.Collections.emptyList;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.amap.api.maps.model.LatLng;
-import com.elegant.network.utils.GsonUtil;
-import com.mogo.commons.module.intent.IMogoIntentListener;
-import com.mogo.commons.module.intent.IntentManager;
-import com.mogo.eagle.core.data.BaseData;
-import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
-import com.mogo.eagle.core.data.config.FunctionBuildConfig;
-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.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.CallerPlanningRottingListenerManager;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.commons.storage.SharedPrefsMgr;
-import com.mogo.eagle.core.utilcode.util.CoordinateUtils;
-import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils;
-import com.mogo.eagle.core.utilcode.util.NetworkUtils;
-import com.mogo.eagle.core.utilcode.util.StringUtils;
-import com.mogo.eagle.core.utilcode.util.ToastUtils;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics;
-import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation;
-import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener;
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager;
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager;
-import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager;
-import com.mogo.och.common.module.manager.autopilot.line.LineManager;
-import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager;
-import com.mogo.och.common.module.manager.socket.cloud.action.OperateAction2;
-import com.mogo.och.common.module.biz.login.LoginStatusManager;
-import com.mogo.och.common.module.network.OchCommonServiceCallback;
-import com.mogo.och.common.module.callback.OchAdasStartFailureCallback;
-import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager;
-import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager;
-import com.mogo.och.common.module.manager.distance.IDistanceListener;
-import com.mogo.och.common.module.manager.distance.ITrajectoryListener;
-import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager;
-import com.mogo.och.common.module.map.AmapNaviToDestinationModel;
-import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil;
-import com.mogo.och.common.module.utils.OCHThreadPoolManager;
-import com.mogo.och.common.module.utils.PinYinUtil;
-import com.mogo.och.common.module.utils.ToastUtilsOch;
-import com.mogo.och.common.module.voice.VoiceNotice;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.bean.DriverServiceDataRespBean;
-import com.mogo.och.taxi.bean.OrderGrabRespBean;
-import com.mogo.och.taxi.bean.OrderGrabStatusQueryRespBean;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean;
-import com.mogo.och.taxi.bean.OrderRouteUpdateReqBean;
-import com.mogo.och.taxi.bean.OrdersInServiceQueryRespBean;
-import com.mogo.och.taxi.bean.OrdersListQueryRespBean;
-import com.mogo.och.taxi.bean.OrdersNewBookingQueryRespBean;
-import com.mogo.och.taxi.bean.QueryOrderRouteResp;
-import com.mogo.och.taxi.bean.TaxiDataBaseRespBean;
-import com.mogo.och.taxi.bean.TaxiOrPassengerReadyReqBean;
-import com.mogo.och.taxi.callback.IOCHTaxiAutopilotPlanningCallback;
-import com.mogo.och.taxi.callback.ITaxiADASStatusCallback;
-import com.mogo.och.taxi.callback.ITaxiCarOperationalCallback;
-import com.mogo.och.taxi.callback.ITaxiControllerStatusCallback;
-import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback;
-import com.mogo.och.taxi.constant.TaxiConst;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.constant.TaxiOrderTypeEnum;
-import com.mogo.och.taxi.network.TaxiServiceManager;
-import com.mogo.och.taxi.utils.OrderUtil;
-import com.mogo.och.taxi.utils.TaxiTrajectoryManager;
-import com.zhjt.service.chain.ChainLog;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import io.reactivex.exceptions.UndeliverableException;
-import io.reactivex.plugins.RxJavaPlugins;
-import mogo.telematics.pad.MessagePad;
-import mogo_msg.MogoReportMsg;
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 网约车 - 出租车业务逻辑处理
- */
-public class TaxiModel {
-
- private static final String TAG = TaxiModel.class.getSimpleName();
-
- private static final class SingletonHolder {
- private static final TaxiModel INSTANCE = new TaxiModel();
- }
-
- public static TaxiModel getInstance() {
- return SingletonHolder.INSTANCE;
- }
-
- private Context mContext;
- private volatile String mPrevOrderNo = ""; //前一次的新到单id(当次和前一次orderId相同时,本次不再弹出)
- private volatile OrderQueryRespBean.Result mNewBookingOrder; //新到待抢预约单
- private volatile OrderQueryRespBean.Result mCurrentOCHOrder; //当前订单
- private List mInServiceList = Collections.synchronizedList(emptyList()); //进行中订单
- private volatile List mWaitServiceList = emptyList(); //待服务订单
-
- private ITaxiADASStatusCallback mADASStatusCallback; //Model->Presenter:自动驾驶状态相关
- private ITaxiCarOperationalCallback mCarOperationalCallback; //Model->Presenter:登录状态和司机今日接单状态
- private ITaxiControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等
- private ITaxiOrderStatusCallback mOrderStatusCallback; //Model->Presenter:订单变更
- private IOCHTaxiAutopilotPlanningCallback mAutopilotPlanningCallback;
-
- private volatile boolean isRestartAutopilot = false;
-
- private final List mRoutePoints = new ArrayList<>();
- private final int mPreRouteIndex = 0;
-
-
- private TaxiModel() {
- }
-
- public void setMoGoAutopilotPlanningListener(IOCHTaxiAutopilotPlanningCallback
- moGoAutopilotPlanningCallback) {
- this.mAutopilotPlanningCallback = moGoAutopilotPlanningCallback;
- }
-
- public void setADASStatusCallback(ITaxiADASStatusCallback callback) {
- this.mADASStatusCallback = callback;
- }
-
- public void setCarStatusCallback(ITaxiCarOperationalCallback callback) {
- this.mCarOperationalCallback = callback;
- }
-
- public void setControllerStatusCallback(ITaxiControllerStatusCallback callback) {
- this.mControllerStatusCallback = callback;
- }
-
- public void setOrderStatusCallback(ITaxiOrderStatusCallback callback) {
- this.mOrderStatusCallback = callback;
- }
-
- public void init(Context context) {
- mContext = context.getApplicationContext();
- initListeners();
-
- // TODO: 2021/8/27 因需要通过此回调的location进行坐标上传,暂改为全程监听,退出后再反注册,
- // 待后续整体调整location获取来源
-// if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) {
-// apis.getLocationInfoApi().start();
-// }
-
- //2022.1.28
- // 调用Disposable.dispose() 时候会出现InterruptedException 导致出现崩溃
- // The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the excTeption has nowhere to go to begin with
- RxJavaPlugins.setErrorHandler(e -> {
- if (e instanceof UndeliverableException) {
- e = e.getCause();
- CallerLogger.d(M_TAXI + TAG, "UndeliverableException");
- }
- if ((e instanceof IOException)) {//
- // fine, irrelevant network problem or API that throws on cancellation
- CallerLogger.d(M_TAXI + TAG, "IOException");
- return;
- }
- if (e instanceof InterruptedException) {
- // fine, some blocking code was interrupted by a dispose call
- CallerLogger.d(M_TAXI + TAG, "InterruptedException");
- return;
- }
- if ((e instanceof NullPointerException) || (e instanceof IllegalArgumentException)) {
- // that's likely a bug in the application
- CallerLogger.d(M_TAXI + TAG, "NullPointerException or IllegalArgumentException");
- Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
- return;
- }
- if (e instanceof IllegalStateException) {
- // that's a bug in RxJava or in a custom operator
- CallerLogger.d(M_TAXI + TAG, "IllegalStateException");
- Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
- return;
- }
- CallerLogger.d(M_TAXI + TAG, "Undeliverable exception");
- });
- }
-
- public void release() {
- startOrStopOrderLoop(false);
- startOrStopCalculateRouteInfo(false);
- releaseListeners();
- }
-
- private void initListeners() {
- // 2021.11.1重构自动驾驶 实现接口 IMoGoAutopilotStatusListener 注册监听 替换IMogoAdasOCHCallback接口
- OchAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, mGoAutopilotStatusListener);
- IntentManager.getInstance().registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener);
-
- //定位监听, 传false是高德坐标系
- OchLocationManager.addGCJ02Listener(TAG,5, mMapLocationListener);
-
- //2021.11.1 自动驾驶路线规划接口
- CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener);
-
- //开启自驾后 异常信息返回
- OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener);
-
- OCHSocketMessageManager.INSTANCE.registerSocketMessageListener(
- OCHSocketMessageManager.msgMonitorType,
- new OperateAction2());
-
- AbnormalFactorsLoopManager.INSTANCE.startLoopAbnormalFactors(mContext);
-
- TrajectoryAndDistanceManager.INSTANCE.addDistanceListener(TAG,distanceListener);
- TrajectoryAndDistanceManager.INSTANCE.addTrajectoryListener(TAG,trajectoryListener);
-
- }
-
- private void releaseListeners() {
-
- // 注销地图监听
- OchLocationManager.removeGCJ02Listener(TAG);
-
- OCHSocketMessageManager.INSTANCE.releaseSocketMessageListener(OCHSocketMessageManager.msgMonitorType);
-
- OchAutoPilotStatusListenerManager.INSTANCE.removeListener(mGoAutopilotStatusListener);
- CallerPlanningRottingListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener);
- OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null);
-
- AbnormalFactorsLoopManager.INSTANCE.stopLoopAbnormalFactors();
- }
-
- public void startOrStopOrderLoop(boolean start) {
- CallerLogger.d(M_TAXI + TAG, "startOrStopOrderLoop() " + start);
- if (start) {
- TaxiModelLoopManager.getInstance().startInAndWaitOrdersLoop();
- TaxiModelLoopManager.getInstance().startNewBookingOrderLoop();
- TaxiModelLoopManager.getInstance().startHeartbeatLoop();
- } else {
- TaxiModelLoopManager.getInstance().stopInAndWaitOrdersLoop();
- TaxiModelLoopManager.getInstance().stopNewBookingOrderLoop();
- TaxiModelLoopManager.getInstance().stopHeartbeatLoop();
- }
- }
-
- //更新接单状态
- public void updateCarStatus() {
- if (!LoginStatusManager.isLogin()) {
- LoginStatusManager.queryLoginStatusByNet(false);
- return;
- }
- boolean currentOrderStatus = LoginStatusManager.isOpenOrderType();
-
- TaxiServiceManager.changeOrderServing(mContext, currentOrderStatus,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(BaseData data) {
- if (null != data && 0 == data.code) {
- if(currentOrderStatus){
- // 上个状态是接单 暂停成功
- VoiceNotice.showNotice("暂停接单啦!");
- }else {
- // 上个状态是暂停接单 暂停成功
- VoiceNotice.showNotice("开始接单啦!");
- }
- LoginStatusManager.queryLoginStatusByNet(false);
- }
- }
-
- @Override
- public void onError() {
- if (!NetworkUtils.isConnected(mContext)) {
- ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
- } else {
- ToastUtils.showShort(mContext.getString(R.string.request_error_tip));
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtilsOch.showWithCodeMessage(code, msg);
- }
- });
-
- }
-
- /**
- * 查询订单状态:进行中/待服务(轮询防止因crash导致应用重启、断网没收到推送等)
- *
- * 注:只有在本地缓存mCurrentOCHOrder为null时(已完成or已取消有明确结果)或id相同且status不同时,
- * 才更新最新进行中单到本地
- */
- public void queryInAndWaitOrders() {
- TaxiServiceManager.queryOrdersInAndWaitService(mContext,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrdersInServiceQueryRespBean data) {
- if (data == null || data.data == null) {
- return;
- }
-
- //1. 处理进行中订单
- mInServiceList = data.data.servicing;
- if (data.data.servicing != null && !data.data.servicing.isEmpty()) {
- // 1.1. 当存在进行中单时:对本地currentOrder进行更新
- if (mCurrentOCHOrder == null) {
- //1.1.1. 当本地无currentOrder(已经完成or取消),则更新currentOrder,并通知ui更新
- updateNativeCurrentOrder(data.data.servicing.get(0));
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
- }
- } else {
- //1.1.2. 当本地有currentOrder:
- //orderId不一致时:通过currentOrder.orderId查询订单状态,并通知ui更新
- //orderId一致且orderStatus不一致时:则更新currentOrder,并通知ui更新
- CallerLogger.d(M_TAXI + TAG, "AutopilotControl-mCurrentOCHOrder = " + mCurrentOCHOrder.orderStatus
- + ", orderStatus = " + data.data.servicing.get(0).orderStatus);
- if (!mCurrentOCHOrder.orderNo.equals(data.data.servicing.get(0).orderNo)) {
- queryCurOrderStatus();
- } else if (mCurrentOCHOrder.orderStatus != data.data.servicing.get(0).orderStatus) {
- updateNativeCurrentOrder(data.data.servicing.get(0));
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
- }
- }
- }
- } else {
- // 1.2. 当无进行中订单时:如果本地也无则跳过;如果本地仍存在currentOrder,查询此单(完成or取消)并通知ui更新
- if (mCurrentOCHOrder != null) {
- queryCurOrderStatus();
- }
- }
-
- //2. 处理待服务订单列表
- if (data.data.waitService != null && !data.data.waitService.isEmpty()) {
- //2.1. 当存在待服务订单列表:跟本地待服务列表比较
- if (mWaitServiceList.isEmpty()
- || (mWaitServiceList.size() != data.data.waitService.size())
- || !OrderUtil.haveSameOrders(mWaitServiceList, data.data.waitService)) {
- // 2.1.1. 当本地无待服务单,或数量和内容不一致,更新本地待服务列表,并通知ui更新
- mWaitServiceList = data.data.waitService;
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onOrdersWaitServiceChanged(mWaitServiceList);
- }
- }
- } else {
- //2.2. 当无待服务单时:如果本地也无则跳过;如果本地有,则清除并通知ui更新
- if (!mWaitServiceList.isEmpty()) {
- mWaitServiceList.clear();
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onOrdersWaitServiceChanged(mWaitServiceList);
- }
- }
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- //仅用于轮询时查到本地有mCurrentOCHOrder但请求结果无进行中单or orderId不一致是复查本地currentOrder
- private void queryCurOrderStatus() {
- if (mCurrentOCHOrder == null) {
- return;
- }
- final String orderNo = mCurrentOCHOrder.orderNo;
- TaxiServiceManager.queryOrderById(mContext, orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrderQueryRespBean data) {
- if (data != null && data.data != null
- && mCurrentOCHOrder != null && mCurrentOCHOrder.orderNo.equals(data.data.orderNo)) {
- if (data.data.orderStatus == TaxiOrderStatusEnum.Cancel.getCode()
- || data.data.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.getCode()
- || data.data.orderStatus == TaxiOrderStatusEnum.None.getCode()) {
- clearCurrentOCHOrder();
- cancelAutopilot();
- } else {
- updateNativeCurrentOrder(data.data);
- }
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onCurrentOrderStatusChanged(data.data);
- }
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- // 取消当前订单
- public void cancelCurrentOrder(int reasonType, String reason) {
- if (mCurrentOCHOrder == null) {
- mOrderStatusCallback.onCurrentOrderCancelDone();
- return;
- }
- final String orderNo = mCurrentOCHOrder.orderNo;
- TaxiServiceManager.cancelOrder(mContext, orderNo, reasonType, reason,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(BaseData data) {
- if (null != data && 0 == data.code
- && mCurrentOCHOrder != null && mCurrentOCHOrder.orderNo.equals(orderNo)) {
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onCurrentOrderCancelDone();
- }
- LineManager.setLineInfo(null);
- clearCurrentOCHOrder();
- cancelAutopilot();
- }
- }
-
- @Override
- public void onError() {
- if (!NetworkUtils.isConnected(mContext)) {
- ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
- } else {
- ToastUtils.showShort(mContext.getString(R.string.request_error_tip));
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtilsOch.showWithCodeMessage(code, msg);
- }
- });
- }
-
- // 取消待服务中订单
- public void cancelOrderById(final String orderNo, int reasonType, String reason) {
- TaxiServiceManager.cancelOrder(mContext, orderNo, reasonType, reason,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(BaseData data) {
- if (null != data && 0 == data.code) {
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onOrderCancelDone(orderNo);
- }
- }
- }
-
- @Override
- public void onError() {
- if (!NetworkUtils.isConnected(mContext)) {
- ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
- } else {
- ToastUtils.showShort(mContext.getString(R.string.request_error_tip));
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtilsOch.showWithCodeMessage(code, msg);
- }
- });
- }
-
- // 查询当前订单route信息:预估时间、里程等
- public void queryCurOrderRouteInfo() {
- if (mCurrentOCHOrder == null) {
- return;
- }
- final String orderNo = mCurrentOCHOrder.orderNo;
- TaxiServiceManager.queryOrderRouteInfo(mContext, orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrderQueryRouteInfoRespBean data) {
- if (null != data && 0 == data.code
- && mCurrentOCHOrder != null && mCurrentOCHOrder.orderNo.equals(orderNo)) {
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onCurrentOrderRouteInfoGot(data.data);
- }
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
-// ToastUtils.showShort(code + "," + msg);
- }
- });
- }
-
- // 获取全部订单列表
- public void queryOrdersList(int page, int size) {
- TaxiServiceManager.queryOrdersList(mContext, page, size,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrdersListQueryRespBean data) {
- if (null != data && 0 == data.code) {
- if (mCarOperationalCallback != null) {
- mCarOperationalCallback.onOrdersListPageRefresh(data.data.orders);
- }
- }
- }
-
- @Override
- public void onError() {
- if (!NetworkUtils.isConnected(mContext)) {
- ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
- } else {
- ToastUtils.showShort(mContext.getString(R.string.request_error_tip));
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtilsOch.showWithCodeMessage(code, msg);
- }
- });
- }
-
- /**
- * 查询新到预约单
- *
- * 注:只有在本地缓存mNewBookingOrder为null时(执行完抢单or司机关闭改单),才更新新到待抢单
- */
- public void queryNewBookingOrder() {
- TaxiServiceManager.queryNewBookingOrder(mContext,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrdersNewBookingQueryRespBean data) {
- if (data != null && data.code == 0
- && data.data != null && data.data.orders != null
- && data.data.orders.size() > 0) {
- // 本地无新到单,且本次新到单id与上次收到的新单id不同时:显示本次新到单
- if (mNewBookingOrder == null) {
- for (String orderNo : data.data.orders) {
- if (!mPrevOrderNo.equals(orderNo)) {
- queryNewBookingContent(orderNo);
- break;
- }
- }
- }
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- // 仅限于获取到新待抢单且需要展示时查询该单信息:(queryOrderById接口可以查询属于该车的单、未派的单)
- private void queryNewBookingContent(final String orderNo) {
- TaxiServiceManager.queryOrderById(mContext, orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrderQueryRespBean data) {
- if (data != null && data.code == 0
- && data.data != null && data.data.orderNo.equals(orderNo)
- && data.data.orderType == TaxiOrderTypeEnum.Reserved.getType()) {
- mNewBookingOrder = data.data;
- mPrevOrderNo = data.data.orderNo;
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onNewBookingOrderGot(mNewBookingOrder);
- }
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- // 执行抢单动作
- public void grabOrder() {
- if (mNewBookingOrder == null) {
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onGrabOrderFailed(null);
- }
- return;
- }
- final String orderNo = mNewBookingOrder.orderNo;
- TaxiServiceManager.grabOrder(mContext, orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrderGrabRespBean data) {
- if (data != null && data.code == 0
- && mNewBookingOrder != null && mNewBookingOrder.orderNo.equals(orderNo)) {
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onGrabOrderExecuteDone();
- TaxiModelLoopManager.getInstance().startGrabResultLoop();
- }
- }
- }
-
- @Override
- public void onError() {
- if (!NetworkUtils.isConnected(mContext)) {
- ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
- } else {
- ToastUtils.showShort(mContext.getString(R.string.request_error_tip));
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtilsOch.showWithCodeMessage(code, msg);
- }
- });
- }
-
- // 查询抢单结果
- public void queryOrderGrabStatus() {
- if (mNewBookingOrder == null) {
- TaxiModelLoopManager.getInstance().stopGrabResultLoop();
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onGrabOrderFailed(null);
- }
- return;
- }
- final String orderNo = mNewBookingOrder.orderNo;
- TaxiServiceManager.queryOrderGrabStatus(mContext, orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(OrderGrabStatusQueryRespBean data) {
- //TaxiModelLoopManager.getInstance().stopGrabResultLoop();
- if (data != null && data.code == 0
- && mNewBookingOrder != null && mNewBookingOrder.orderNo.equals(orderNo)) {
- if (data.data.grabStatus == 0) {
- return; //抢单中,不处理继续轮询结果
- }
- if (mOrderStatusCallback != null) {
- if (data.data.grabStatus == 1) {
- mOrderStatusCallback.onGrabOrderSuccess(mNewBookingOrder);
- } else if (data.data.grabStatus == 2) {
- mOrderStatusCallback.onGrabOrderFailed(mNewBookingOrder);
- } else {
- // TODO: 2021/9/22 需根据具体内容给予提示,如订单已取消
- mOrderStatusCallback.onGrabOrderFailed(mNewBookingOrder);
- }
- }
- } else {
- if (mOrderStatusCallback != null) {
- // TODO: 2021/9/22 如果用户已取消单,抢单失败时暂返回null,UI当前直接恢复原页面内容,后续优化
- mOrderStatusCallback.onGrabOrderFailed(null);
- }
- }
- TaxiModelLoopManager.getInstance().stopGrabResultLoop();
- cancelNewBookingOrder();
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- // 车机端上传心跳数据(只在出车状态时上传)
- public void runCarHeartbeat() {
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- TaxiServiceManager.runCarHeartbeat(mContext,
- gcj02Location.getLongitude(), gcj02Location.getLatitude(),
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(BaseData data) {
-
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- // 查询司机服务数据
- public void queryDriverServiceData() {
- TaxiServiceManager.queryDriverServiceData(mContext,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(DriverServiceDataRespBean data) {
- if (data != null && data.code == 0
- && data.data != null) {
- if (mCarOperationalCallback != null) {
- mCarOperationalCallback.onServiceDataUpdate(
- data.data.timeDuration, data.data.orderNum);
- }
- }
- }
-
- @Override
- public void onError() {
- if (!NetworkUtils.isConnected(mContext)) {
- ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
- } else {
- ToastUtils.showShort(mContext.getString(R.string.request_error_tip));
- }
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtilsOch.showWithCodeMessage(code, msg);
- }
- });
- }
-
- /**
- * 司机端确认可开始自动驾驶
- */
- public void confirmAutopilotConditionByDriver() {
- if (mCurrentOCHOrder == null) return;
- TaxiOrPassengerReadyReqBean.Result result = new TaxiOrPassengerReadyReqBean.Result();
- TaxiServiceManager.confirmAutopilotConditionByDriver(mContext,
- mCurrentOCHOrder.orderNo,
- result,
- new OchCommonServiceCallback() {
-
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
- /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- // updateAutopilotStatus(data.code == 0);
- updateAutopilotStatus();
- }
-
- @Override
- public void onFail(int code, String msg) {
- /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- // updateAutopilotStatus(false);
- updateAutopilotStatus();
- }
- });
- }
-
- public void updateAutopilotStatus() {
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onDriverHasCheckedPilotCondition();
- }
- }
-
- public void queryAutopilotStatus(boolean isStart) {
- if (isStart) {
- queryAutopilotStatus();
- }
- }
-
- public void queryAutopilotStatus() {
- if (mCurrentOCHOrder == null) return;
- TaxiServiceManager.queryAutopilotStatus(mContext, mCurrentOCHOrder.orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
- /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- // updateAutopilotStatus(data.data.equals(true));
- updateAutopilotStatus();
- }
-
- @Override
- public void onFail(int code, String msg) {
- /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- // updateAutopilotStatus(false);
- updateAutopilotStatus();
- }
- });
- }
-
- // 取消当前新到预约单
- public void cancelNewBookingOrder() {
- mNewBookingOrder = null;
- }
-
- // 获取当前订单
- public OrderQueryRespBean.Result getCurrentOCHOrder() {
- return mCurrentOCHOrder;
- }
-
- // 获取当前订单状态
- public TaxiOrderStatusEnum getCurOrderStatus() {
- OrderQueryRespBean.Result order = TaxiModel.getInstance().getCurrentOCHOrder();
- if (order == null) {
- return TaxiOrderStatusEnum.None;
- }
- return TaxiOrderStatusEnum.valueOf(order.orderStatus);
- }
-
- //更新本地currentOrder信息,并保存订单到本地避免车机重启丢失数据
- private void updateNativeCurrentOrder(OrderQueryRespBean.Result data) {
- if (data == null) {
- return;
- }
- mCurrentOCHOrder = data;
- TaxiTrajectoryManager.getInstance().syncTrajectoryInfo();
- SharedPrefsMgr.getInstance().putString(TaxiConst.SP_KEY_OCH_TAXI_ORDER,
- GsonUtil.jsonFromObject(data));
-
- if (mCurrentOCHOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()) {
- if (FunctionBuildConfig.isDemoMode) {
- // 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true
- FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
- CallerAutoPilotControlManager.INSTANCE.setIgnoreConditionDraw(true);
- CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(true);
- CallerLogger.d(M_TAXI + TAG, "美化模式-ignore:置为true(更新本地order信息)");
- }
-
- updateAutopilotControlParameters();
- }
- if (mCurrentOCHOrder.orderStatus == TaxiOrderStatusEnum.ArriveAtEnd.getCode()) {
- if (FunctionBuildConfig.isDemoMode) {
- CallerLogger.d(M_TAXI + TAG, "setIPCDemoMode:false");
- CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(false);
- if (mADASStatusCallback != null) {
- mADASStatusCallback.updateAutopilotStatus(CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- }
-
- clearAutopilotControlParameters();
- }
- }
-
- /**
- * 将业务订单信息保存,鹰眼可取用
- */
- private void updateAutopilotControlParameters() {
-
- AutopilotControlParameters parameters = initAutopilotControlParameters();
- if (null == parameters) {
- CallerLogger.e(M_TAXI + TAG, "AutopilotControlParameters is empty.");
- return;
- }
- CallerLogger.d(M_TAXI + TAG, "AutopilotControlParameters is update.");
- CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(parameters);
- }
-
- private void clearAutopilotControlParameters() {
- CallerLogger.d(M_TAXI + TAG, "AutopilotControlParameters is clear.");
- CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(null);
- }
-
- //清除订单信息
- public void clearCurrentOCHOrder() {
- startOrStopCalculateRouteInfo(false);
- mCurrentOCHOrder = null;
- clearAutopilotControlParameters();
- TaxiTrajectoryManager.getInstance().syncTrajectoryInfo();
- SharedPrefsMgr.getInstance().remove(TaxiConst.SP_KEY_OCH_TAXI_ORDER);
- isRestartAutopilot = false;
- if (FunctionBuildConfig.isDemoMode) {
- // 当美化模式(演示模式)开启时: 取消或订单已完成时,置false
- FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = false;
- CallerAutoPilotControlManager.INSTANCE.setIgnoreConditionDraw(false);
- CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(false);
- CallerLogger.d(M_TAXI + TAG, "美化模式-ignore:置为false(已完成or清除当前订单)");
- }
- }
-
- //检测当前订单
- public boolean checkCurrentOCHOrder() {
- return mCurrentOCHOrder != null
- && mCurrentOCHOrder.startSiteGcjPoint != null
- && mCurrentOCHOrder.endSiteGcjPoint != null;
- }
-
- /**
- * 以当前订单为基础,开启自动驾驶
- **/
- @ChainLog(
- linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
- linkCode = CHAIN_SOURCE_ADAS,
- nodeAliasCode = CHAIN_CODE_OCH_TAXI_START_AUTOPILOT,
- paramIndexes = {-1}
- )
- public void startAutoPilot() {
-
- /**
- * 存在Session
- */
- if (!OchAutoPilotManager.canStartAutopilotBySessionId()) {
- return;
- }
-
- OchAutopilotAnalytics.INSTANCE.triggerClickStartAutopilotTime(System.currentTimeMillis());
-
-
- if (!checkCurrentOCHOrder()) {
- CallerLogger.e(M_TAXI + TAG, "no order or order is empty.");
- ToastUtils.showShort("当前订单不存在或异常!");
- return;
- }
-
- //1、判断轨迹url是否可用
- if (FunctionBuildConfig.isPassStartAutopilotCommand
- && TextUtils.isEmpty(mCurrentOCHOrder.csvFileUrl)
- && TextUtils.isEmpty(mCurrentOCHOrder.csvFileUrlDPQP)
- ) {
- ToastUtils.showLong("无发布轨迹, 请发布后重试");
- CallerLogger.e(M_TAXI + TAG, "isPassStartAutopilotCommand = " +
- FunctionBuildConfig.isPassStartAutopilotCommand
- + "busRoutesResult.csvFileUrl = " + mCurrentOCHOrder.csvFileUrl
- + "busRoutesResult.csvFileUrlDPQP = " + mCurrentOCHOrder.csvFileUrlDPQP);
- return;
- }
- //2、6个条件判断
- if (!CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(true, 0)) {
- return;
- }
-
- //3、距离轨迹15m计算
- String resion = OchAutoPilotManager.canStartAutoPilotByDistance(mCurrentOCHOrder.lineId);
- if(TrajectoryAndDistanceManager.errorTypeNoneLineId.equals(resion)){
- setStation();
- resion = OchAutoPilotManager.canStartAutoPilotByDistance(mCurrentOCHOrder.lineId);
- }
- if(!StringUtils.isEmpty(resion)){
- ToastUtils.showShort(resion);
- VoiceNotice.showNotice(resion);
- return;
- }
-
- CallerLogger.e(M_TAXI + TAG, "isPassStartAutopilotCommand = " +
- FunctionBuildConfig.isPassStartAutopilotCommand);
- //4、ssm 给出数据
- if (!OchAutoPilotManager.canStartAutoPilotSSM()) {
- OchAutopilotAnalytics.INSTANCE.triggerUnableStartAPReasonEvent(
- mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr,
- String.valueOf(mCurrentOCHOrder.lineId),mCurrentOCHOrder.orderNo,
- OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason());
- return;
- }
- if(CallerAutoPilotStatusListenerManager.INSTANCE.getState()
- == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){
- ToastUtils.showShort("自驾中、请勿重复启动");
- return;
- }
-
- //点击开始自动驾驶按钮订单状态去流转, 不再与自动驾驶是否启动成功挂钩
- if (mCurrentOCHOrder.orderStatus == TaxiOrderStatusEnum.UserArriveAtStart.getCode()) {
- startServicePilotDone();
- isRestartAutopilot = false;
- } else {
- isRestartAutopilot = true;
- }
-
- AutopilotControlParameters parameters = initAutopilotControlParameters();
-
- if (null == parameters) {
- CallerLogger.e(M_TAXI + TAG, "AutopilotControlParameters is empty.");
- return;
- }
-
- long sessionId = OchAutoPilotManager.startAutoPilot(parameters);
-
- CallerLogger.d(M_TAXI + TAG, "start autopilot with parameter: %s",
- GsonUtil.jsonFromObject(parameters)
- + " ,startSiteName=" + mCurrentOCHOrder.startSiteAddr
- + " ,endSiteName=" + mCurrentOCHOrder.endSiteAddr
- + "isRestartAutopilot = " + isRestartAutopilot);
-
- OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestartAutopilot, false,
- mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr,
- (int) mCurrentOCHOrder.lineId,
- mCurrentOCHOrder.orderNo,System.currentTimeMillis(),0);
- OchAutopilotAnalytics.INSTANCE.triggerUpdateStartAutoPilotSessionId(sessionId);
-
- if (mControllerStatusCallback != null) {
- mControllerStatusCallback.startOpenAutopilot();
- }
-
- // TODO: 2021/8/20 无工控机环境, 手动调起自动驾驶开启返回结果,有工控机环境要删除
-// OCHTaxiUiController.getInstance().onAutoPilotStatusChanged( IMogoAdasOCHCallback.STATUS_AUTOPILOT_RUNNING, "开启自动驾驶" );
- }
-
- private AutopilotControlParameters initAutopilotControlParameters() {
-
- if (!checkCurrentOCHOrder()) {
- CallerLogger.e(M_TAXI + TAG, "no order or order is empty.");
- return null;
- }
-
- AutopilotControlParameters parameters = new AutopilotControlParameters();
-
- double startWgsLon = mCurrentOCHOrder.startSitePoint.get(0);
- double startWgsLat = mCurrentOCHOrder.startSitePoint.get(1);
- double endWgsLon = mCurrentOCHOrder.endSitePoint.get(0);
- double endWgsLat = mCurrentOCHOrder.endSitePoint.get(1);
-
- parameters.vehicleType = mCurrentOCHOrder.businessType;
- parameters.startName = PinYinUtil.getPinYinHeadChar(mCurrentOCHOrder.startSiteAddr); // 起点名称拼音首字母大写:科学城B区2号门(KXCBQ2HM)
- parameters.endName = PinYinUtil.getPinYinHeadChar(mCurrentOCHOrder.endSiteAddr); // 终点名称拼音首字母大写:科学城C区三号门(KXCCQSHM)
- parameters.startLatLon = new AutopilotControlParameters.AutoPilotLonLat(startWgsLat, startWgsLon);
- parameters.endLatLon = new AutopilotControlParameters.AutoPilotLonLat(endWgsLat, endWgsLon);
-
- // TODO 这里需要增加传入 白名单点列表、黑名单点列表,顺序按照服务端传入顺序为准。
- //parameters.wayLatLons
- //parameters.blackLatLons
-
- if (parameters.autoPilotLine == null) {
- parameters.autoPilotLine = new AutopilotControlParameters.AutoPilotLine(
- mCurrentOCHOrder.lineId, mCurrentOCHOrder.lineName,
- mCurrentOCHOrder.csvFileUrl, mCurrentOCHOrder.csvFileMd5,
- mCurrentOCHOrder.txtFileUrl, mCurrentOCHOrder.txtFileMd5,
- mCurrentOCHOrder.contrailSaveTime, mCurrentOCHOrder.carModel,
- mCurrentOCHOrder.csvFileUrlDPQP, mCurrentOCHOrder.csvFileMd5DPQP,
- mCurrentOCHOrder.txtFileUrlDPQP, mCurrentOCHOrder.txtFileMd5DPQP,
- mCurrentOCHOrder.contrailSaveTimeDPQP);
- }
- return parameters;
- }
-
- //结束自动驾驶
- public void cancelAutopilot() {
- try {
- CallerAutoPilotControlManager.INSTANCE.cancelAutoPilot();
- CallerLogger.d(M_TAXI + TAG, "结束自动驾驶");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- //根据围栏判断,是否到达起点
- private void judgeStartStation(MogoLocation location) {
- if (mCurrentOCHOrder == null || mCurrentOCHOrder.startSiteGcjPoint == null
- || mCurrentOCHOrder.startSiteGcjPoint.size() < 2) {
- return;
- }
- double startLon = mCurrentOCHOrder.startSiteGcjPoint.get(0);
- double startLat = mCurrentOCHOrder.startSiteGcjPoint.get(1);
- double distance = CoordinateUtils.calculateLineDistance(
- startLon, startLat,
- location.getLongitude(), location.getLatitude());
-
- CallerLogger.i(M_TAXI + TAG, "judgeStartStation() distance = " + distance);
-
- if (distance <= TaxiConst.ARRIVE_AT_START_STATION_DISTANCE) {
- arrivedStartPoint();
- }
- }
-
- //监听网络变化,避免启动机器时无网导致无法更新订单信息
- private final IMogoIntentListener mNetWorkIntentListener = new IMogoIntentListener() {
- @Override
- public void onIntentReceived(String intentStr, Intent intent) {
- CallerLogger.d(M_TAXI + TAG, "onIntentReceived = %s", intentStr);
- if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intentStr)) {
- if (NetworkUtils.isConnected(mContext)) {
- startOrStopOrderLoop(LoginStatusManager.isLogin() && LoginStatusManager.isOpenOrderType());
- LoginStatusManager.queryLoginStatusByNet(false);
- }
- }
- }
- };
-
- private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
-
- @Override
- public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
- if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode) {
- CallerLogger.e(M_TAXI + TAG, "mAdasStartFailureListener = " + startFailedMessage);
- mADASStatusCallback.onStartAdasFailure();
- }
- }
- };
-
- // 自车定位
- private final IMoGoChassisLocationGCJ02Listener mMapLocationListener = new IMoGoChassisLocationGCJ02Listener() {
- @Override
- public void onChassisLocationGCJ02(@Nullable MogoLocation gnssInfo) {
- //位置变化时,通过围栏判断是否到达x点
- if (null == gnssInfo) return;
- OCHThreadPoolManager.getsInstance().locationExecute(new Runnable() {
- @Override
- public void run() {
- if (checkCurrentOCHOrder()) {
- if (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToStart) {
- judgeStartStation(gnssInfo);
- }
- if (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd) {
- judgeEndStation(gnssInfo);
- }
- }
- }
- });
- }
- };
-
- private void judgeEndStation(MogoLocation currentLocation) {
- if (mCurrentOCHOrder == null || mCurrentOCHOrder.endSiteGcjPoint == null
- || mCurrentOCHOrder.endSiteGcjPoint.size() < 2) {
- return;
- }
- double endLon = mCurrentOCHOrder.endSiteGcjPoint.get(0);
- double endLat = mCurrentOCHOrder.endSiteGcjPoint.get(1);
- double distance = CoordinateUtils.calculateLineDistance(
- endLon, endLat,
- currentLocation.getLongitude(), currentLocation.getLatitude());
-
- CallerLogger.i(M_TAXI + TAG, "judgeEndStation() distance = " + distance);
-
- if (distance <= TaxiConst.ARRIVE_AT_START_STATION_DISTANCE) { //1、当前位置和站点围栏15m内
-
- if (!checkCurrentOCHOrder()
- || (getCurOrderStatus() == TaxiOrderStatusEnum.ArriveAtEnd)) {
- CallerLogger.i(M_TAXI + TAG, "order exception or order ArriveAtEnd");
- return;
- }
-
- //2、开始计算当前位置和站点的向量角度 < 90度 未经过 >90度 经过
- double stationAngle = DrivingDirectionUtils.getDegreeOfCar2Poi(
- currentLocation.getLongitude(),
- currentLocation.getLatitude(),
- endLon,
- endLat,
- (int) currentLocation.getHeading());
-
- CallerLogger.i(M_TAXI + TAG, "judgeEndStation() stationAngle = " + stationAngle);
-
- if (!checkCurrentOCHOrder()
- || getCurOrderStatus() == TaxiOrderStatusEnum.ArriveAtEnd
- ) {
- CallerLogger.i(M_TAXI + TAG, "order exception or order ArriveAtEnd");
- return;
- }
-
- //3、刚过站且过站距离在15m内, 提交到站
- if (stationAngle > 90) {
- CallerLogger.i(M_TAXI + TAG, "judgeEndStation() = 刚过站且在15m内");
- arriveTerminal();
- } else {
- // 4、 没有过站距离小于15m 速度小于0.3(根据M1来的模数 可能要调)
- if (currentLocation.getGnssSpeed() < 0.3) {
- CallerLogger.i(TAG, "judgeEndStation() = 没有过站、速度基本为零且在15m内");
- arriveTerminal();
- }
- }
- }
-
- }
-
- /**
- * 订单流转debug START
- */
- public void setArriveAtStartStation() {
- if (mCurrentOCHOrder == null
- || mCurrentOCHOrder.orderStatus != TaxiOrderStatusEnum.OnTheWayToStart.getCode()) {
- ToastUtils.showShort("订单状态不匹配该操作!");
- return;
- }
- arrivedStartPoint();
- }
-
- public void setDriverConfirmCondition() {
- if (mCurrentOCHOrder == null
- || mCurrentOCHOrder.orderStatus != TaxiOrderStatusEnum.UserArriveAtStart.getCode()) {
- ToastUtils.showShort("订单状态不匹配该操作!");
- return;
- }
- confirmAutopilotConditionByDriver();
- }
-
- public void setArriveAtEndStation() {
- if (mCurrentOCHOrder == null
- || mCurrentOCHOrder.orderStatus != TaxiOrderStatusEnum.OnTheWayToEnd.getCode()) {
- ToastUtils.showShort("订单状态不匹配该操作!");
- return;
- }
- arriveTerminal();
- }
-
- /**
- * 测试开启自动驾驶
- */
- public void setOnTheWayToEndStation() {
- if (mCurrentOCHOrder == null
- || mCurrentOCHOrder.orderStatus != TaxiOrderStatusEnum.UserArriveAtStart.getCode()) {
- ToastUtils.showShort("订单状态不匹配该操作!");
- }
- startServicePilotDone();
- }
-
- private final IOchAutopilotStatusListener mGoAutopilotStatusListener = new IOchAutopilotStatusListener() {
-
- @Override
- public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
- TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId);
- }
-
- @Override
- public void onAutopilotStatusResponseFromCan(int state) {
- if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
- OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestartAutopilot, true,
- mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr,
- (int) mCurrentOCHOrder.lineId, mCurrentOCHOrder.orderNo,System.currentTimeMillis(),1);
- }
- }
-
- @Override
- public void onAutopilotStatusResponse(int state) {
- if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
- if (mADASStatusCallback != null) {
- mADASStatusCallback.onAutopilotRunning(CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- if (mCurrentOCHOrder != null
- && TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == mCurrentOCHOrder.orderStatus) {
- OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestartAutopilot, true,
- mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr,
- (int) mCurrentOCHOrder.lineId, mCurrentOCHOrder.orderNo,System.currentTimeMillis(),0);
- if (FunctionBuildConfig.isDemoMode) {
- // 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true
- FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
- CallerAutoPilotControlManager.INSTANCE.setIgnoreConditionDraw(true);
- CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(true);
- CallerLogger.d(M_TAXI + TAG, "美化模式-ignore:置为true(到达出发点且已开启自动驾驶)");
- }
- }
- } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) {
- if (FunctionBuildConfig.isDemoMode
- && checkCurrentOCHOrder()
- && (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd
- || getCurOrderStatus() == TaxiOrderStatusEnum.ArriveAtEnd)) {
- // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态
- return;
- }
- if (mADASStatusCallback != null) {
- mADASStatusCallback.onAutopilotEnable(CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) {
- if (FunctionBuildConfig.isDemoMode
- && checkCurrentOCHOrder()
- && (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd
- || getCurOrderStatus() == TaxiOrderStatusEnum.ArriveAtEnd)) {
- // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态
- return;
- }
- if (mADASStatusCallback != null) {
- mADASStatusCallback.onAutopilotDisable(CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- } else if (state == IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING) {
- if (FunctionBuildConfig.isDemoMode) {
- if (checkCurrentOCHOrder()
- && (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd
- || getCurOrderStatus() == TaxiOrderStatusEnum.ArriveAtEnd)) {//订单中
- // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态
- } else { //美化模式下没订单,显示人工驾驶
- if (mADASStatusCallback != null) {
- mADASStatusCallback.onAutopilotDisable(CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- }
- return;
- }
- if (mADASStatusCallback != null) {
- mADASStatusCallback.onManMachineCoDriving(CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- }
- }
-
- @Override
- public void canStartAutopilot(boolean canStart) {
- if (mADASStatusCallback != null) {
- mADASStatusCallback.updateAutopilotStatus(canStart);
- }
- }
-
- @Override
- public void onAutopilotArriveAtStation(ArrivedStation data) {
- CallerLogger.i(M_TAXI + TAG, "onAutopilotArriveAtStation = " + data.toString());
-
- if (data == null || !checkCurrentOCHOrder()
- || (getCurOrderStatus() == TaxiOrderStatusEnum.ArriveAtEnd)) {
- return;
- }
- arriveTerminal();
-
- if (FunctionBuildConfig.isDemoMode) {
- // 当美化模式(演示模式)开启时: 到达目的地,置false
- CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(false);
- CallerLogger.d(M_TAXI + TAG, "美化模式-ignore:置为false(到达目的地)");
- }
- }
- };
-
- private final IMoGoPlanningRottingListener moGoAutopilotPlanningListener = new IMoGoPlanningRottingListener() {
-
- @Override
- public void onAutopilotRotting(MessagePad.GlobalPathResp routeList) {
- if (null != routeList && routeList.getWayPointsList() != null) {
- CallerLogger.d(M_TAXI + TAG, "getWayPointsList = "
- + routeList.getWayPointsList().size());
- }
- if (null != routeList && routeList.getWayPointsList().size() > 0) {
- updateOrderRoute(routeList.getWayPointsList());
- updateOrderRouteInfo(routeList.getWayPointsList());
- }
- }
-
- };
-
- /**
- * 设置路径规划起终点
- *
- */
- public void setRouteLineMarker() {
- OrderQueryRespBean.Result currentOCHOrder = getCurrentOCHOrder();
- if(currentOCHOrder!=null) {
- if (currentOCHOrder.startSiteGcjPoint == null || currentOCHOrder.startSiteGcjPoint.isEmpty() || currentOCHOrder.startSiteGcjPoint.size() < 2||
- currentOCHOrder.endSiteGcjPoint == null || currentOCHOrder.endSiteGcjPoint.isEmpty() || currentOCHOrder.endSiteGcjPoint.size() < 2) {
- cleanLineMarker();
- return;
- }
- LatLng startStation = new LatLng(currentOCHOrder.startSiteGcjPoint.get(1),currentOCHOrder.startSiteGcjPoint.get(0));
- LatLng endStation = new LatLng(currentOCHOrder.endSiteGcjPoint.get(1),currentOCHOrder.endSiteGcjPoint.get(0));
- if (mAutopilotPlanningCallback != null) {
- mAutopilotPlanningCallback.setLineMarker(startStation,endStation);
- }
- }
- }
- public void cleanLineMarker(){
- if (mAutopilotPlanningCallback != null) {
- mAutopilotPlanningCallback.setLineMarker(null,null);
- }
- }
-
- /**
- * 上报订单全路径规划数据
- *
- * @param models
- */
- public void updateOrderRoute(List models) {
- if (null == mCurrentOCHOrder) return;
- List points = coordinateConverterWgsToGcjList(mContext, models);
- TaxiServiceManager.updateOrderRoute(mContext, mCurrentOCHOrder.orderNo
- , points, new OchCommonServiceCallback() {
- @Override
- public void onSuccess(BaseData data) {
-
- }
-
- @Override
- public void onError() {
- // TODO: 2022/5/18 是否在请求异常时候进行提示
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- public static List coordinateConverterWgsToGcjList(Context mContext, List mogoLatLngList) {
- List points = new ArrayList<>();
- for (MessagePad.Location m : mogoLatLngList) {
- LatLng mogoLatLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(mContext, m);
- OrderRouteUpdateReqBean.Result result = new OrderRouteUpdateReqBean.Result();
- result.latitude = mogoLatLng.latitude;
- result.longitude = mogoLatLng.longitude;
- points.add(result);
- }
- return points;
- }
-
- /**
- * 计算全路径长度,以及实时更新剩余距离,剩余时间,预计时间
- *
- * @param models
- */
- public void updateOrderRouteInfo(List models) {
- if (null == models || models.size() == 0) return;
- if (mCurrentOCHOrder == null) return;
- CallerLogger.d(M_TAXI + TAG, "--------计算出sumLength开始---------- ");
-
- //转换成高德坐标系
- if (mRoutePoints.size() > 0) {
- mRoutePoints.clear();
- }
- mRoutePoints.addAll(CoordinateCalculateRouteUtil
- .coordinateConverterWgsToGcjLocations(mContext, models));
- startDynamicCalculateRouteInfo();
- }
-
- public void startDynamicCalculateRouteInfo() {
- CallerLogger.d(M_TAXI + TAG, "--------mCurrentOCHOrder---------- " + mCurrentOCHOrder);
-
- if (mCurrentOCHOrder != null && mRoutePoints.size() == 0) {//根据orderNo去查询
- queryOrderRouteList(mCurrentOCHOrder.orderNo);
- }
- CallerLogger.d(M_TAXI + TAG, "--------mRoutePoints.size---------- " + mRoutePoints.size());
-
- if (mRoutePoints.size() > 0) {
- reportTotalDisAndTime();
- }
- if (mCurrentOCHOrder.orderStatus == TaxiOrderStatusEnum.ArriveAtStart.getCode() ||//司机到达上车点
- mCurrentOCHOrder.orderStatus == TaxiOrderStatusEnum.UserArriveAtStart.getCode() ||//乘客到达上车点
- mCurrentOCHOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()//服务中(去往目的地)
- ) {
- //开启实时计算剩余距离,剩余时间,预计时间
- startOrStopCalculateRouteInfo(true);
- AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi();
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onNaviToEnd(false, false);
- }
- }
- }
-
- private void reportTotalDisAndTime() {
- float lastSumLength = CoordinateCalculateRouteUtil.calculateRouteSumLength(mRoutePoints);
- double lastTime = lastSumLength / TaxiConst.TAXI_AVERAGE_SPEED * 3.6; //秒
-
- reportOrderRemain((long) lastSumLength, (long) lastTime);
- }
-
- /**
- * 实时计算当前剩余里程和时间
- */
- public void dynamicCalculateRouteInfo() {
-// if (mLocation == null) {
-// return;
-// }
-// if (mRoutePoints.size() > 0 && mLocation != null) {
-// Map> lastPointsMap = CoordinateCalculateRouteUtil
-// .getRemainPointListByCompareNew(mPreRouteIndex, mRoutePoints, mLocation);
-//
-// for (int index : lastPointsMap.keySet()) {
-// mPreRouteIndex = index;
-// break;
-// }
-// for (List lastPoints : lastPointsMap.values()) {
-// float lastSumLength = 0;
-// if (lastPoints.size() == 1) { //只是最后一个点,计算当前位置和最后一个点的距离
-// lastSumLength = CoordinateUtils.calculateLineDistance(
-// lastPoints.get(0).getLongitude(), lastPoints.get(0).getLatitude(),
-// mLocation.getLongitude(), mLocation.getLatitude());
-// } else {
-// lastSumLength = CoordinateCalculateRouteUtil.calculateRouteSumLength(lastPoints);
-// }
-// updateDistance(lastSumLength);
-// break;
-// }
-// routeAndWipe();
-// }
- }
-
- private void updateDistance(float lastSumLength){
- double lastTime = lastSumLength / TaxiConst.TAXI_AVERAGE_SPEED * 3.6; //秒
- CallerLogger.d(M_TAXI + "dynamicCalculateRouteInfo"
- , "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime
- + " thread = " + Thread.currentThread().getName());
-
- if (mCurrentOCHOrder != null) {
- mCurrentOCHOrder.decreaseTravelDistance(lastSumLength);
- }
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onCurrentOrderDistToEndChanged((long) lastSumLength, (long) lastTime);
- }
-
- reportOrderRemain((long) lastSumLength, (long) lastTime);
- }
-
- private final IDistanceListener distanceListener = new IDistanceListener() {
- @Override
- public void distanceCallback(float distance) {
- updateDistance(distance);
- }
-
- @Override
- public void stationDistanceCallback(float stationDistance) {
- }
- };
-
- private final ITrajectoryListener trajectoryListener = (routeArrivied, routeArriving, location) -> {
- if (mAutopilotPlanningCallback != null) {
- List routeArriviedTemp = new ArrayList<>();
- List routeArrivingTemp = new ArrayList<>();
- LatLng temp;
- for (MogoLocation mogoLocation : routeArrivied) {
- temp = new LatLng(mogoLocation.getLatitude(),mogoLocation.getLongitude());
- routeArriviedTemp.add(temp);
- }
- for (MogoLocation mogoLocation : routeArriving) {
- temp = new LatLng(mogoLocation.getLatitude(),mogoLocation.getLongitude());
- routeArrivingTemp.add(temp);
- }
- mAutopilotPlanningCallback.routeResult(routeArriviedTemp, routeArrivingTemp,location);
- setRouteLineMarker();
- }
- };
-
-
- /**
- * 查询当前订单的全局路径 (当自动驾驶开启后,订单前往乘客上车点,杀掉应用再次进来时候)
- */
- private void queryOrderRouteList(String orderNo) {
- if (mCurrentOCHOrder != null) {
- TaxiServiceManager.queryOrderRoute(mContext, orderNo,
- new OchCommonServiceCallback() {
- @Override
- public void onSuccess(QueryOrderRouteResp data) {
- if (data != null && data.data != null && mRoutePoints.size() == 0) {
- mRoutePoints.clear();
- List routePoints = CoordinateCalculateRouteUtil
- .coordinateConverterLatlngToLocation(data.data);
- mRoutePoints.addAll(routePoints);
- }
- }
-
- @Override
- public void onError() {
- // TODO: 2022/5/18 是否在请求异常的时候提示
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
- }
-
- /**
- * 开始轮询计算剩余里程和时间
- *
- * @param isStart
- */
- public void startOrStopCalculateRouteInfo(boolean isStart) {
- CallerLogger.d(M_TAXI + TAG, "startOrStopOrderLoop() " + isStart);
- if (isStart) {
- TaxiModelLoopManager.getInstance().startCalculateRouteInfoLoop();
- } else {
- mRoutePoints.clear();
- TaxiModelLoopManager.getInstance().stopCalculateRouteInfoLoop();
- }
- }
-
- /**
- * 上报订单剩余里程和时间 单位:KM, M, 单位:秒
- *
- * @param lastSumLength 上报订单剩余里程
- * @param duration 上报订单剩余时间
- */
- public void reportOrderRemain(long lastSumLength, long duration) {// 米/秒
- if (mCurrentOCHOrder == null) return;
- TaxiServiceManager.reportOrderRemain(mContext, mCurrentOCHOrder.orderNo
- , lastSumLength, duration, new OchCommonServiceCallback() {
- @Override
- public void onSuccess(BaseData data) {
-
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- /**
- * 司机端可确认乘客已上车,调用后,后台将订单置为乘客已上车状态
- */
- public void jumpPassengerCheckDone() {
- if (mCurrentOCHOrder == null
- || mCurrentOCHOrder.orderStatus != TaxiOrderStatusEnum.ArriveAtStart.getCode()) {
- ToastUtils.showShort("订单状态不匹配该操作或者订单为空!");
- return;
- }
- TaxiOrPassengerReadyReqBean.Result result = new TaxiOrPassengerReadyReqBean.Result();
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- result.lat = gcj02Location.getLatitude();
- result.lon = gcj02Location.getLongitude();
- TaxiServiceManager.updatePassengerHasBoardedStatus(mContext
- , mCurrentOCHOrder.orderNo
- , result
- , new OchCommonServiceCallback() {
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
-
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtils.showShort(msg);
- }
- });
- }
-
- public void startServicePilotDone() {
- if (mCurrentOCHOrder == null) return;
-
- TaxiOrPassengerReadyReqBean.Result result = new TaxiOrPassengerReadyReqBean.Result();
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- result.lat = gcj02Location.getLatitude();
- result.lon = gcj02Location.getLongitude();
- TaxiServiceManager.startServicePilotDone(mContext
- , mCurrentOCHOrder.orderNo
- , result
- , new OchCommonServiceCallback() {
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
-
- }
-
- @Override
- public void onFail(int code, String msg) {
- }
- });
- }
-
- public void arrivedStartPoint() {
- if (mCurrentOCHOrder == null) return;
- TaxiOrPassengerReadyReqBean.Result result = new TaxiOrPassengerReadyReqBean.Result();
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- result.lat = gcj02Location.getLatitude();
- result.lon = gcj02Location.getLongitude();
- TaxiServiceManager.arrivedStartPoint(mContext
- , mCurrentOCHOrder.orderNo
- , result
- , new OchCommonServiceCallback() {
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
-
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- public void arriveTerminal() {
- if (mCurrentOCHOrder == null) return;
- TaxiOrPassengerReadyReqBean.Result result = new TaxiOrPassengerReadyReqBean.Result();
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- result.lat = gcj02Location.getLatitude();
- result.lon = gcj02Location.getLongitude();
- TaxiServiceManager.arriveTerminal(mContext
- , mCurrentOCHOrder.orderNo
- , result
- , new OchCommonServiceCallback() {
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
-
- }
-
- @Override
- public void onFail(int code, String msg) {
-
- }
- });
- }
-
- public void orderCompleted() {
- if (mCurrentOCHOrder == null) return;
- TaxiOrPassengerReadyReqBean.Result result = new TaxiOrPassengerReadyReqBean.Result();
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- result.lat = gcj02Location.getLatitude();
- result.lon = gcj02Location.getLongitude();
- TaxiServiceManager.orderCompleted(mContext
- , mCurrentOCHOrder.orderNo
- , result
- , new OchCommonServiceCallback() {
- @Override
- public void onSuccess(TaxiDataBaseRespBean data) {
- }
-
- @Override
- public void onFail(int code, String msg) {
- ToastUtils.showShort(msg);
- }
- });
- }
-
- // 登出
- public void logout() {
- LoginStatusManager.loginOut();
- }
-
- //导航去订单终点目的地
- public void startNaviToEndStation(boolean isShow) {
- if (mRoutePoints.size() > 0) { //使用自驾轨迹
- if (mOrderStatusCallback != null) {
- mOrderStatusCallback.onNaviToEnd(false, isShow);
- }
- } else {//若直接要显示导航地图则直接导航, 若不是则2s后若无轨迹数据使用高德导航
- if (isShow && mOrderStatusCallback != null) {
-
- mOrderStatusCallback.onNaviToEnd(true, true);
- } else {
- UiThreadHandler.postDelayed(() -> {
- if (mRoutePoints.size() == 0 && mOrderStatusCallback != null) {
- mOrderStatusCallback.onNaviToEnd(true, false);
- }
- }, 2000L);
- }
-
- }
- }
-
- public void setStation(){
- OrderQueryRespBean.Result currentOCHOrder = getCurrentOCHOrder();
- if(currentOCHOrder!=null){
- MogoLocation startStation = new MogoLocation();
- startStation.setLongitude(currentOCHOrder.startSiteGcjPoint.get(0));
- startStation.setLatitude(currentOCHOrder.startSiteGcjPoint.get(1));
- MogoLocation endStation = new MogoLocation();
- endStation.setLongitude(currentOCHOrder.endSiteGcjPoint.get(0));
- endStation.setLatitude(currentOCHOrder.endSiteGcjPoint.get(1));
- TrajectoryAndDistanceManager.INSTANCE.setStationPoint(startStation,endStation,currentOCHOrder.lineId);
- }
- }
-
- public void cleanStation(){
- TrajectoryAndDistanceManager.INSTANCE.setStationPoint(null,null,-1L);
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java
deleted file mode 100644
index 83bfe4b59f..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package com.mogo.och.taxi.model;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
-
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.och.taxi.constant.TaxiConst;
-
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.CompositeDisposable;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.functions.Consumer;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * Created on 2021/9/10
- *
- * 管理轮询逻辑(订单轮询、新单轮询、新单抢单结果轮询等等)
- */
-public class TaxiModelLoopManager {
-
- private static final String TAG = TaxiModelLoopManager.class.getSimpleName();
-
- private static final class SingletonHolder {
- private static final TaxiModelLoopManager INSTANCE = new TaxiModelLoopManager();
- }
-
- public static TaxiModelLoopManager getInstance() {
- return SingletonHolder.INSTANCE;
- }
-
- private Disposable mInAndWaitServiceDisposable; //进行中、待服务订单列表轮询
- private Disposable mNewBookingOrderDisposable; //新到待抢预约单轮询
- private Disposable mGrabResultDisposable; //抢单结果轮询
- private Disposable mHeartbeatDisposable; //心跳轮询
- private CompositeDisposable mCalculateRouteDisposable; //每隔2s计算一次剩余里程和时间
-
- public void startInAndWaitOrdersLoop() {
- if (mInAndWaitServiceDisposable != null && !mInAndWaitServiceDisposable.isDisposed()) {
- return;
- }
- CallerLogger.i(M_TAXI + TAG, "startInAndWaitOrdersLoop()");
- mInAndWaitServiceDisposable = Observable.interval(TaxiConst.LOOP_DELAY,
- TaxiConst.LOOP_PERIOD_2S, TimeUnit.MILLISECONDS)
- .map((aLong -> aLong + 1))
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(aLong -> TaxiModel.getInstance().queryInAndWaitOrders());
- }
-
- public void stopInAndWaitOrdersLoop() {
- if (mInAndWaitServiceDisposable != null) {
- CallerLogger.i(M_TAXI + TAG, "stopInAndWaitOrdersLoop()");
- mInAndWaitServiceDisposable.dispose();
- mInAndWaitServiceDisposable = null;
- }
- }
-
- public void startNewBookingOrderLoop() {
- if (mNewBookingOrderDisposable != null && !mNewBookingOrderDisposable.isDisposed()) {
- return;
- }
- CallerLogger.i(M_TAXI + TAG, "startNewBookingOrderLoop()");
- mNewBookingOrderDisposable = Observable.interval(TaxiConst.LOOP_DELAY,
- TaxiConst.LOOP_PERIOD_1S, TimeUnit.MILLISECONDS)
- .map((aLong -> aLong + 1))
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(aLong -> TaxiModel.getInstance().queryNewBookingOrder());
- }
-
- public void stopNewBookingOrderLoop() {
- if (mNewBookingOrderDisposable != null) {
- CallerLogger.i(M_TAXI + TAG, "stopNewBookingOrderLoop()");
- mNewBookingOrderDisposable.dispose();
- mNewBookingOrderDisposable = null;
- }
- }
-
- public void startGrabResultLoop() {
- if (mGrabResultDisposable != null && !mGrabResultDisposable.isDisposed()) {
- return;
- }
- CallerLogger.i(M_TAXI + TAG, "startGrabResultLoop()");
- mGrabResultDisposable = Observable.interval(TaxiConst.LOOP_DELAY,
- TaxiConst.LOOP_PERIOD_1S, TimeUnit.MILLISECONDS)
- .map((aLong -> aLong + 1))
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(aLong -> TaxiModel.getInstance().queryOrderGrabStatus());
- }
-
- public void stopGrabResultLoop() {
- if (mGrabResultDisposable != null) {
- CallerLogger.i(M_TAXI + TAG, "stopGrabResultLoop()");
- mGrabResultDisposable.dispose();
- mGrabResultDisposable = null;
- }
- }
-
- public void startHeartbeatLoop() {
- if (mHeartbeatDisposable != null && !mHeartbeatDisposable.isDisposed()) {
- return;
- }
- CallerLogger.i(M_TAXI + TAG, "startHeartbeatLoop()");
- mHeartbeatDisposable = Observable.interval(TaxiConst.LOOP_DELAY,
- TaxiConst.LOOP_PERIOD_60S, TimeUnit.MILLISECONDS)
- .map((aLong -> aLong + 1))
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(aLong -> TaxiModel.getInstance().runCarHeartbeat());
- }
-
- public void stopHeartbeatLoop() {
- if (mHeartbeatDisposable != null) {
- CallerLogger.i(M_TAXI + TAG, "stopHeartbeatLoop()");
- mHeartbeatDisposable.dispose();
- mHeartbeatDisposable = null;
- }
- }
-
- public void startCalculateRouteInfoLoop() {
-
- CallerLogger.i(M_TAXI + TAG, "startCalculateRouteInfoLoop()");
- if (mCalculateRouteDisposable != null) return;
-
- mCalculateRouteDisposable = new CompositeDisposable();
-
- Disposable disposable = loopDynamicCalculateRouteInfo()
- .doOnSubscribe(new Consumer() {
- @Override
- public void accept(Disposable disposable) throws Exception {
-
- }
- }).doOnError(new Consumer() {
- @Override
- public void accept(Throwable throwable) throws Exception {
- }
- })
- .delay(TaxiConst.LOOP_CALCULATEROUTE_2S, TimeUnit.MILLISECONDS, true) // 设置delayError为true,表示出现错误的时候也需要延迟5s进行通知,达到无论是请求正常还是请求失败,都是5s后重新订阅,即重新请求。
- .subscribeOn(Schedulers.io())
- .repeat() // repeat保证请求成功后能够重新订阅。
- .retry() // retry保证请求失败后能重新订阅
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Consumer() {
- @Override
- public void accept(Integer integer) throws Exception {
- }
- });
- mCalculateRouteDisposable.add(disposable);
- }
-
- private Observable loopDynamicCalculateRouteInfo(){
- return Observable.create(new ObservableOnSubscribe() {
- @Override
- public void subscribe(ObservableEmitter emitter) throws Exception {
- if (emitter.isDisposed()) return;
- TaxiModel.getInstance().dynamicCalculateRouteInfo();
- emitter.onComplete();
- }
- });
- }
-
- public void stopCalculateRouteInfoLoop() {
- if (mCalculateRouteDisposable != null) {
- CallerLogger.i(M_TAXI + TAG, "stopCalculateRouteInfoLoop()");
- mCalculateRouteDisposable.dispose();
- mCalculateRouteDisposable = null;
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java
deleted file mode 100644
index d94db25dfe..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java
+++ /dev/null
@@ -1,308 +0,0 @@
-package com.mogo.och.taxi.network;
-import com.mogo.eagle.core.data.BaseData;
-import com.mogo.och.taxi.bean.CarHeartbeatReqBean;
-import com.mogo.och.taxi.bean.DriverServiceDataRespBean;
-import com.mogo.och.taxi.bean.DriverStatusUpdateReqBean;
-import com.mogo.och.taxi.bean.OrderCancelReqBean;
-import com.mogo.och.taxi.bean.OrderGrabReqBean;
-import com.mogo.och.taxi.bean.OrderGrabRespBean;
-import com.mogo.och.taxi.bean.OrderGrabStatusQueryRespBean;
-import com.mogo.och.taxi.bean.OrderQueryReqBean;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoReqBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean;
-import com.mogo.och.taxi.bean.OrderRouteUpdateReqBean;
-import com.mogo.och.taxi.bean.OrderStatusUpdateReqBean;
-import com.mogo.och.taxi.bean.OrdersInServiceQueryRespBean;
-import com.mogo.och.taxi.bean.OrdersListQueryReqBean;
-import com.mogo.och.taxi.bean.OrdersListQueryRespBean;
-import com.mogo.och.taxi.bean.OrdersNewBookingQueryRespBean;
-import com.mogo.och.taxi.bean.QueryOrderRouteResp;
-import com.mogo.och.taxi.bean.TaxiDataBaseRespBean;
-import com.mogo.och.taxi.bean.TaxiOrPassengerReadyReqBean;
-import com.mogo.och.taxi.bean.UpdateOrderDisAndTimeReqBean;
-
-import io.reactivex.Observable;
-import retrofit2.http.Body;
-import retrofit2.http.GET;
-import retrofit2.http.Header;
-import retrofit2.http.Headers;
-import retrofit2.http.POST;
-import retrofit2.http.Query;
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 网约车-出租车接口定义
- */
-interface TaxiServiceApiNew {
-
- /**
- * 查询全部服务中/待服务订单(没有的时候返回code 0,空列表)
- * @param sn
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @GET("/autopilot-car-hailing/api/v1/driver/orderInService/query")
- @GET("/autopilot-car-hailing/order/v2/driver/taxi/orderInService/query")
- Observable queryOrdersInAndWaitService(@Header("appId") String appId
- , @Header("ticket") String ticket, @Query("sn") String sn);
-
- /**
- * 查询新到的预约单
- * @param sn
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @GET( "/autopilot-car-hailing/api/v1/driver/newBookingOrder/query" )
- @GET( "/autopilot-car-hailing/order/v2/driver/taxi/newBookingOrder/query" )
- Observable queryNewBookingOrder(@Header ("appId") String appId
- ,@Header("ticket") String ticket,@Query("sn") String sn);
-
- /**
- * (预约单)执行抢单动作
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/grabOrder" )
- @POST( "/autopilot-car-hailing/order/v2/driver/taxi/grabOrder" )
- Observable grabOrder(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrderGrabReqBean data);
-
- /**
- * (预约单)查询抢单结果
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/grabStatus/query" )
- @POST( "/autopilot-car-hailing/order/v2/driver/taxi/grabStatus/query" )
- Observable queryOrderGrabStatus(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrderGrabReqBean data);
-
- /**
- * 查询订单路径规划信息(到上车点、起始点间的距离和预估时间)
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/routeInfo/query" )
- @POST( "/autopilot-car-hailing/order/v2/driver/taxi/routeInfo/query" )
- Observable queryOrderRouteInfo(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrderQueryRouteInfoReqBean data);
-
- /**
- * 通过orderId查询订单信息(用于本地已经有orderId时)
- * @param data
- * @return
- * @deprecated v2.1_0930需求中暂不再使用此接口
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/queryOrderById" )
- @POST( "/autopilot-car-hailing/order/v2/driver/taxi/queryOrderById" )
- Observable queryOrderById(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrderQueryReqBean data);
-
- /**
- * 查询服务中订单信息(用于本地无orderId时)
- * 如果有多条,只会返回时间最近的一条
- * @param sn
- * @return
- * @deprecated v2.1_0930需求中暂不再使用此接口
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @GET( "/autopilot-car-hailing/api/v1/driver/queryOrderInService" )
- @GET( "/autopilot-car-hailing/order/v2/driver/taxi/queryOrderInService" )
- Observable queryOrderInService(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Query("sn") String sn);
-
- /**
- * 取消订单
- */
- @Headers({"Content-type:application/json;charset=UTF-8"})
-// @POST("/autopilot-car-hailing/api/v1/driver/cancelOrder")
- @POST("/autopilot-car-hailing/order/v2/driver/taxi/cancelOrder")
- Observable cancelOrder(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrderCancelReqBean data);
-
- /**
- * 订单列表获取
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/queryOrders" )
- @POST( "/autopilot-car-hailing/order/v2/driver/taxi/queryOrders" )
- Observable queryOrdersList(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrdersListQueryReqBean data);
-
- /**
- * 订单状态更新
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/order/updateStatus" )
-// @POST( "/autopilot-car-hailing/order/v2/driver/taxi/order/updateStatus" )
- @POST( "/autopilot-car-hailing/order/v2/vehicle/taxi/driver/updateStatus" )
- Observable updateOrderStatus(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body OrderStatusUpdateReqBean data);
-
- /**
- * 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/heartbeat" )
- @POST( "/autopilot-car-hailing/location/v2/driver/taxi/heartbeat" )
- Observable runCarHeartbeat(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body CarHeartbeatReqBean data);
-
- /**
- * 查询司机服务数据
- * @param sn
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @GET( "/autopilot-car-hailing/api/v1/driver/serviceData/query" )
- @GET( "/autopilot-car-hailing/order/v2/driver/taxi/serviceData/query" )
- Observable queryServiceData(@Header ("appId") String appId
- ,@Header("ticket") String ticket,@Query("sn") String sn);
-
- /**
- * 上传工控机返回的全路径规划数据
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST("/autopilot-car-hailing/order/v2/driver/taxi/saveOrderRoute")
-// @POST("/mock/268/autopilot-car-hailing/order/v2/driver/taxi/orderRoute")
- Observable updateOrderRoute(@Header ("appId") String appId
- , @Header("ticket") String ticket, @Body OrderRouteUpdateReqBean data);
-
- /**
- * 上报订单剩余里程和剩余时间
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST("/autopilot-car-hailing/order/v2/driver/taxi/reportOrderRemain")
- Observable reportOrderRemain(@Header ("appId") String appId
- , @Header("ticket") String ticket, @Body UpdateOrderDisAndTimeReqBean data);
-
-
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @GET( "/autopilot-car-hailing/api/v1/driver/serviceStatus/query" )
- @GET( "/autopilot-car-hailing/order/v2/driver/taxi/orderRoute" )
- Observable queryOrderRoute(@Header ("appId") String appId
- , @Header("ticket") String ticket, @Query("orderNo") String orderNo);
-
- /**
- * 司机端跳过乘客验证,订单状态流转为乘客已上车
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/ready/passenger" )
- Observable updatePassengerHasBoardedStatus(@Header ("appId") String appId
- , @Header("ticket") String ticket, @Body TaxiOrPassengerReadyReqBean data);
-
- /**
- * 司机端确认可开启自动驾驶
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/ready/pilot" )
- Observable confirmAutopilotConditionByDriver(@Header ("appId") String appId
- , @Header("ticket") String ticket,@Body TaxiOrPassengerReadyReqBean data);
-
- /**
- * 查询司机是否已确认可开启自动驾驶
- * @param appId
- * @param ticket
- * @param orderNo
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @GET( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/pilot/status" )
- Observable queryPilotStatus(@Header ("appId") String appId
- , @Header("ticket") String ticket,@Query("orderNo") String orderNo);
-
- /**
- * 开启自动驾驶成功
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/startServicePilot" )
- Observable startServicePilotDone(@Header ("appId") String appId
- , @Header("ticket") String ticket,@Body TaxiOrPassengerReadyReqBean data);
-
- /**
- * 达到乘客上车点
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/passenger/arriveStartPoint" )
- Observable arrivedStartPoint(@Header ("appId") String appId
- , @Header("ticket") String ticket,@Body TaxiOrPassengerReadyReqBean data);
-
- /**
- * 到达乘客目的地
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/arriveTerminal" )
- Observable arriveTerminal(@Header ("appId") String appId
- , @Header("ticket") String ticket,@Body TaxiOrPassengerReadyReqBean data);
-
- /**
- * 订单完成
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/orderCompleted" )
- Observable orderCompleted(@Header ("appId") String appId
- , @Header("ticket") String ticket,@Body TaxiOrPassengerReadyReqBean data);
-
- /**
- * 暂停接单
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/serviceStatus/update" )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/stopOrderServing" )
- Observable stopOrderServing(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body DriverStatusUpdateReqBean data);
- /**
- * 暂停接单
- * @param data
- * @return
- */
- @Headers( {"Content-type:application/json;charset=UTF-8"} )
-// @POST( "/autopilot-car-hailing/api/v1/driver/serviceStatus/update" )
- @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/resetOrderServing" )
- Observable resetOrderServing(@Header ("appId") String appId,@Header("ticket") String ticket
- ,@Body DriverStatusUpdateReqBean data);
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt
deleted file mode 100644
index 49524e0060..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt
+++ /dev/null
@@ -1,500 +0,0 @@
-package com.mogo.och.taxi.network
-
-import android.content.Context
-import com.mogo.cloud.passport.MoGoAiCloudClientConfig
-import com.mogo.eagle.core.data.BaseData
-import com.mogo.eagle.core.network.MoGoRetrofitFactory
-import com.mogo.commons.storage.SharedPrefsMgr
-import com.mogo.och.common.module.constant.OchCommonConst
-import com.mogo.och.common.module.network.OchCommonServiceCallback
-import com.mogo.och.common.module.network.OchCommonSubscribeImpl
-import com.mogo.och.common.module.network.interceptor.transformTry
-import com.mogo.och.data.taxi.OrderQueryRouteInfoReqBean
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean
-import com.mogo.och.taxi.bean.*
-import io.reactivex.Observable
-
-/**
- * Created by pangfan on 2021/8/19
- */
-object TaxiServiceManager {
-
-
- private var mOCHTaxiServiceApi: TaxiServiceApiNew =
- MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(
- TaxiServiceApiNew::class.java
- )
-
- /**
- * 查询全部服务中/待服务订单列表
- * @param context
- * @param callback
- */
- @JvmStatic
- fun queryOrdersInAndWaitService(
- context: Context,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrdersInAndWaitService(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- SharedPrefsMgr.getInstance().sn
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrdersInAndWaitService",false))
- }
-
- /**
- * 查询新到的预约单
- * @param context
- * @param callback
- */
- @JvmStatic
- fun queryNewBookingOrder(
- context: Context,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryNewBookingOrder(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- SharedPrefsMgr.getInstance().sn
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryNewBookingOrder",false))
- }
-
- /**
- * (预约单)执行抢单动作
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun grabOrder(
- context: Context, orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.grabOrder(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderGrabReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "grabOrder"))
- }
-
- /**
- * (预约单)查询抢单结果
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun queryOrderGrabStatus(
- context: Context, orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrderGrabStatus(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderGrabReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderGrabStatus",false))
- }
-
- /**
- * 查询订单路径规划信息(到上车点、起始点间的距离和预估时间)
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun queryOrderRouteInfo(
- context: Context, orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrderRouteInfo(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderQueryRouteInfoReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderRouteInfo"))
- }
-
- /**
- * 通过orderId查询订单信息(用于本地已经有orderId时)
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- @Deprecated("v2.1_0930需求中暂不再使用此接口")
- fun queryOrderById(
- context: Context, orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrderById(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderQueryReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderById"))
- }
-
- /**
- * 查询未完成态订单信息(用于本地无orderId时)
- * 如果有多条,只会返回时间最近的一条
- * @param context
- * @param callback
- */
- @JvmStatic
- @Deprecated("v2.1_0930需求中暂不再使用此接口")
- fun queryOrderInService(
- context: Context,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrderInService(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- SharedPrefsMgr.getInstance().sn
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderInService"))
- }
-
- /**
- * 司机取消订单
- * @param context
- * @param orderNo
- * @param cancelType
- * @param cancelReason
- * @param callback
- */
- @JvmStatic
- fun cancelOrder(
- context: Context, orderNo: String?, cancelType: Int, cancelReason: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.cancelOrder(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderCancelReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, cancelType, cancelReason
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "cancelOrder"))
- }
-
- /**
- * 订单列表获取
- * @param context
- * @param page
- * @param size
- * @param callback
- */
- @JvmStatic
- fun queryOrdersList(
- context: Context, page: Int, size: Int,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrdersList(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrdersListQueryReqBean(
- SharedPrefsMgr.getInstance().sn, page, size
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrdersList"))
- }
-
- /**
- * 订单状态更新
- * @param context
- * @param orderNo
- * @param orderStatus
- * @param callback
- */
- @JvmStatic
- fun updateOrderStatus(
- context: Context, orderNo: String?, orderStatus: Int,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.updateOrderStatus(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderStatusUpdateReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, orderStatus
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderStatus"))
- }
-
- /**
- * 暂停接单
- * @param context
- * @param callback
- */
- @JvmStatic
- fun changeOrderServing(
- context: Context, isOrdering: Boolean,
- callback: OchCommonServiceCallback?
- ) {
- val baseDataObservable: Observable = if (isOrdering) { // 正在接单去暂停
- mOCHTaxiServiceApi.stopOrderServing(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- DriverStatusUpdateReqBean(
- SharedPrefsMgr.getInstance().sn
- )
- ).transformTry()
- } else { // 没有接单去接单
- mOCHTaxiServiceApi.resetOrderServing(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- DriverStatusUpdateReqBean(
- SharedPrefsMgr.getInstance().sn
- )
- ).transformTry()
- }
- baseDataObservable
- .subscribe(OchCommonSubscribeImpl(context, callback, "updateDriverServiceStatus"))
- }
-
- /**
- * 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度
- * @param context
- * @param lon
- * @param lat
- * @param callback
- */
- @JvmStatic
- fun runCarHeartbeat(
- context: Context, lon: Double, lat: Double,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.runCarHeartbeat(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- CarHeartbeatReqBean(
- SharedPrefsMgr.getInstance().sn, lon, lat
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "runCarHeartbeat",false))
- }
-
- /**
- * 查询司机服务数据
- * @param context
- * @param callback
- */
- @JvmStatic
- fun queryDriverServiceData(
- context: Context,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryServiceData(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- SharedPrefsMgr.getInstance().sn
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceData"))
- }
-
- /**
- * 根据订单上传工控机返回的全路径规划数据
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun updateOrderRoute(
- context: Context, orderNo: String?, points: List?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.updateOrderRoute(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderRouteUpdateReqBean(orderNo, points)
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderRoute"))
- }
-
- /**
- * 上报剩余里程,时间
- * @param context
- * @param orderNo
- * @param distance
- * @param duration
- * @param callback
- */
- @JvmStatic
- fun reportOrderRemain(
- context: Context,
- orderNo: String?,
- distance: Long,
- duration: Long,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.reportOrderRemain(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- UpdateOrderDisAndTimeReqBean(orderNo, distance, duration)
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "reportOrderRemain"))
- }
-
- /**
- * 查询订单全路径
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun queryOrderRoute(
- context: Context,
- orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrderRoute(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- orderNo
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderRoute"))
- }
- @JvmStatic
- fun confirmAutopilotConditionByDriver(
- context: Context,
- orderNo: String?,
- loc: TaxiOrPassengerReadyReqBean.Result?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.confirmAutopilotConditionByDriver(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- TaxiOrPassengerReadyReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, loc
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "confirmAutopilotConditionByDriver"))
- }
- @JvmStatic
- fun queryAutopilotStatus(
- context: Context, orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryPilotStatus(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- orderNo
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryAutopilotStatus"))
- }
- @JvmStatic
- fun updatePassengerHasBoardedStatus(
- context: Context,
- orderNo: String?,
- loc: TaxiOrPassengerReadyReqBean.Result?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.updatePassengerHasBoardedStatus(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- TaxiOrPassengerReadyReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, loc
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "updatePassengerHasBoardedStatus"))
- }
- @JvmStatic
- fun startServicePilotDone(
- context: Context,
- orderNo: String?,
- loc: TaxiOrPassengerReadyReqBean.Result?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.startServicePilotDone(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- TaxiOrPassengerReadyReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, loc
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "startServicePilotDone"))
- }
- @JvmStatic
- fun arrivedStartPoint(
- context: Context,
- orderNo: String?,
- loc: TaxiOrPassengerReadyReqBean.Result?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.arrivedStartPoint(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- TaxiOrPassengerReadyReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, loc
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "arrivedStartPoint"))
- }
- @JvmStatic
- fun arriveTerminal(
- context: Context,
- orderNo: String?,
- loc: TaxiOrPassengerReadyReqBean.Result?,
- callback: OchCommonServiceCallback
- ) {
- mOCHTaxiServiceApi.arriveTerminal(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- TaxiOrPassengerReadyReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, loc
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "arriveTerminal"))
- }
- @JvmStatic
- fun orderCompleted(
- context: Context,
- orderNo: String?,
- loc: TaxiOrPassengerReadyReqBean.Result?,
- callback: OchCommonServiceCallback
- ) {
- mOCHTaxiServiceApi.orderCompleted(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- TaxiOrPassengerReadyReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo, loc
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "orderCompleted"))
- }
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java
deleted file mode 100644
index a5b5053315..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.mogo.och.taxi.presenter;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import android.os.Looper;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LifecycleOwner;
-
-import com.amap.api.maps.model.LatLng;
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.eagle.core.data.map.MogoLocation;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.och.taxi.callback.IOCHTaxiAutopilotPlanningCallback;
-import com.mogo.och.taxi.model.TaxiModel;
-import com.mogo.och.taxi.ui.TaxiRottingNaviFragment;
-
-import java.util.List;
-
-/**
- * @author congtaowang
- * @since 2021/1/18
- *
- * 描述
- */
-public class NaviPresenter extends Presenter implements IOCHTaxiAutopilotPlanningCallback {
-
- private static final String TAG = NaviPresenter.class.getSimpleName();
-
- public NaviPresenter(TaxiRottingNaviFragment view) {
- super(view);
- TaxiModel.getInstance().init(AbsMogoApplication.getApp());
- initListeners();
- }
-
- @Override
- public void onCreate( @NonNull LifecycleOwner owner ) {
- super.onCreate( owner );
- CallerLogger.d( M_TAXI + TAG, " onCreate" );
- }
-
- @Override
- public void onDestroy( @NonNull LifecycleOwner owner ) {
- releaseListeners();
- super.onDestroy( owner );
- }
-
- private void initListeners() {
- TaxiModel.getInstance().setMoGoAutopilotPlanningListener(this);
- }
-
- private void releaseListeners() {
- TaxiModel.getInstance().setMoGoAutopilotPlanningListener(null);
- }
-
- @Override
- public void setLineMarker(LatLng startStation, LatLng endStation) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.setLineMarker(startStation, endStation);
- }
- }
- },UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void routeResult(List routeArrivied, List routeArriving, MogoLocation location) {
- if(mView!=null) {
- mView.routeResult(routeArrivied, routeArriving, location);
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiOperationalPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiOperationalPresenter.java
deleted file mode 100644
index 7ee705bcbf..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiOperationalPresenter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.mogo.och.taxi.presenter;
-
-import android.os.Looper;
-
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.taxi.callback.ITaxiCarOperationalCallback;
-import com.mogo.och.taxi.model.TaxiModel;
-import com.mogo.och.taxi.ui.TaxiPersonalDialogFragment;
-
-import java.util.List;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LifecycleOwner;
-
-public class TaxiOperationalPresenter extends Presenter
- implements ITaxiCarOperationalCallback {
- public TaxiOperationalPresenter(TaxiPersonalDialogFragment view) {
- super(view);
- initListener();
- }
-
- private void initListener() {
- TaxiModel.getInstance().setCarStatusCallback(this);
- }
-
- private void releaseListener(){
- TaxiModel.getInstance().setCarStatusCallback(null);
- }
-
- @Override
- public void onDestroy(@NonNull LifecycleOwner owner) {
- super.onDestroy(owner);
- releaseListener();
- }
-
- // 获取全部订单列表
- public void queryOrdersList(int page, int size) {
- TaxiModel.getInstance().queryOrdersList(page, size);
- }
-
- @Override
- public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onServiceDataUpdate(dailyTimeDuration,dailyOrderNum);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onOrdersListPageRefresh(List ordersList) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onOrdersListPageRefresh(ordersList);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- private void runOnUIThread( Runnable executor ) {
- if ( executor == null ) {
- return;
- }
- if ( Looper.myLooper() != Looper.getMainLooper() ) {
- UiThreadHandler.post( executor );
- } else {
- executor.run();
- }
- }
-
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java
deleted file mode 100644
index 3d93ae699a..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java
+++ /dev/null
@@ -1,522 +0,0 @@
-package com.mogo.och.taxi.presenter;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import android.os.Build;
-import android.os.Looper;
-import android.util.ArrayMap;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.RequiresApi;
-import androidx.lifecycle.LifecycleOwner;
-
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
-import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.och.common.module.biz.login.ILoginCallback;
-import com.mogo.och.common.module.biz.login.LoginStatusEnum;
-import com.mogo.och.common.module.biz.login.LoginStatusManager;
-import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum;
-import com.mogo.och.common.module.biz.order.OrderModel;
-import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager;
-import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager;
-import com.mogo.och.common.module.manager.autopilot.line.LineManager;
-import com.mogo.och.common.module.voice.VoiceNotice;
-import com.mogo.och.data.bean.LineInfo;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean;
-import com.mogo.och.taxi.callback.ITaxiADASStatusCallback;
-import com.mogo.och.taxi.callback.ITaxiControllerStatusCallback;
-import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback;
-import com.mogo.och.taxi.constant.TaxiConst;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.model.TaxiModel;
-import com.mogo.och.taxi.ui.TaxiFragment;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.util.List;
-
-/**
- * @author congtaowang
- * @since 2021/1/18
- *
- * 描述
- */
-public class TaxiPresenter extends Presenter implements ITaxiADASStatusCallback,
- ITaxiOrderStatusCallback, ITaxiControllerStatusCallback, ILoginCallback {
-
- private static final String TAG = TaxiPresenter.class.getSimpleName();
-
- public TaxiPresenter(TaxiFragment view) {
- super(view);
- TaxiModel.getInstance().init(AbsMogoApplication.getApp());
- OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp());
- initListeners();
- }
-
- @Override
- public void onCreate(@NonNull LifecycleOwner owner) {
- super.onCreate(owner);
- CallerLogger.d(M_TAXI + TAG, "网约车-onCreate");
- }
-
- @Override
- public void onDestroy(@NonNull LifecycleOwner owner) {
- super.onDestroy(owner);
- CallerLogger.d(M_TAXI + TAG, "网约车-onDestroy");
- releaseListeners();
- TaxiModel.getInstance().release();
- }
-
- private void initListeners() {
- TaxiModel.getInstance().setADASStatusCallback(this);
- TaxiModel.getInstance().setControllerStatusCallback(this);
- TaxiModel.getInstance().setOrderStatusCallback(this);
- LoginStatusManager.INSTANCE.addListener(TAG,this);
- }
-
- private void releaseListeners() {
- TaxiModel.getInstance().setADASStatusCallback(null);
- TaxiModel.getInstance().setControllerStatusCallback(null);
- TaxiModel.getInstance().setOrderStatusCallback(null);
- LoginStatusManager.INSTANCE.removeListener(TAG);
- OCHAdasAbilityManager.getInstance().release();
- }
-
- private void runOnUIThread(Runnable executor) {
- if (executor == null) {
- return;
- }
- if (Looper.myLooper() != Looper.getMainLooper()) {
- UiThreadHandler.post(executor);
- } else {
- executor.run();
- }
- }
-
- /**
- * 开启自动驾驶 自驾模式
- */
- public void startAutoPilot() {
- TaxiModel.getInstance().startAutoPilot();
- }
-
- /**
- * 人工模式
- */
- public void startManualDrive() {
- TaxiModel.getInstance().startServicePilotDone();
- }
-
- /**
- * 跳过乘客验证环节
- */
- public void jumpPassengerCheckDone() {
- TaxiModel.getInstance().jumpPassengerCheckDone();
- }
-
- /**
- * 司机确认车辆环境可开启自动驾驶
- */
- public void confirmAutopilotConditionByDriver() {
- TaxiModel.getInstance().confirmAutopilotConditionByDriver();
- }
-
- // 更新接单状态
- public void updateCarStatus() {
- TaxiModel.getInstance().updateCarStatus();
- }
-
-
- // 获取当前订单状态
- public TaxiOrderStatusEnum getCurOrderStatus() {
- return TaxiModel.getInstance().getCurOrderStatus();
- }
-
- // 取消当前订单
- public void cancelCurOrder(int reasonType, String reason) {
- TaxiModel.getInstance().cancelCurrentOrder(reasonType, reason);
- }
-
- // 取消待服务中订单
- public void cancelOrderById(String orderNo, int reasonType, String reason) {
- TaxiModel.getInstance().cancelOrderById(orderNo, reasonType, reason);
- }
-
- // 查询当前订单route信息:预估时间、里程等
- public void queryCurOrderRouteInfo() {
- TaxiModel.getInstance().queryCurOrderRouteInfo();
- }
-
- // 执行抢单动作
- public void grabOrder() {
- TaxiModel.getInstance().grabOrder();
- }
-
- // 关闭新到预约单
- public void cancelNewBookingOrder() {
- TaxiModel.getInstance().cancelNewBookingOrder();
- }
-
- //更新订单已完成状态
- public void completeOrderService() {
- TaxiModel.getInstance().orderCompleted();
- }
-
- // 登出
- public void logout() {
- TaxiModel.getInstance().logout();
- }
-
- //导航去订单目的地
- public void startNaviToEndStation(boolean isShow) {
- TaxiModel.getInstance().startNaviToEndStation(isShow);
- }
-
- public void reportToEndDisAndTime(long lastSumLength, long duration) {//米/秒
- TaxiModel.getInstance().reportOrderRemain(lastSumLength, duration);
- }
-
- public void closeOrderByMan() {
- TaxiModel.getInstance().arriveTerminal();
- }
-
- @Override
- public void onAutopilotArriveEnd() {
-
- }
-
- @Override
- public void onAutopilotEnable(boolean canStartAuto) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.updateAutopilotStatus(
- IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE,canStartAuto);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onAutopilotDisable(boolean canStartAuto) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.updateAutopilotStatus(
- IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE,canStartAuto);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onAutopilotRunning(boolean canStartAuto) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.updateAutopilotStatus(
- IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING,canStartAuto);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
-
- @Override
- public void onManMachineCoDriving(boolean canStartAuto) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onManMachineCoDriving(IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING,canStartAuto);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void updateAutopilotStatus(boolean canStartAuto) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.updateAutopilotStatus(
- CallerAutoPilotStatusListenerManager.INSTANCE.getState(),canStartAuto);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onStartAdasFailure() {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.stopAnimAndUpdateBtnStatus();
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onOrdersInServiceChanged(@NonNull @NotNull List inServiceList) {
-
- }
-
- @Override
- public void onOrdersWaitServiceChanged(@NonNull @NotNull List waitServiceList) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onOrdersWaitServiceChanged(waitServiceList);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.P)
- @Override
- public void onCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
- OchChainLogManager.writeChainLog("订单信息变化",order.toString());
- OrderModel.INSTANCE.invokeListener(order);
- CallerLogger.d(M_TAXI + TAG, "order = " + order.toString());
- LineManager.setLineInfo(new LineInfo(order.lineId,order.lineName,new ArrayMap<>()));
- if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus) {
- TaxiModel.getInstance().queryAutopilotStatus(true);
- TaxiModel.getInstance().setStation();
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.setGuidShow();
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) {
- TaxiModel.getInstance().startDynamicCalculateRouteInfo();
- TaxiModel.getInstance().setStation();
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.updateCtvAutopilotStatusTag(true);
- CallerEagleBaseFunctionCall4OchManager.INSTANCE.updateOrderStatus(true);
- mView.setGuidHide();
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
-
- }
-
- if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus ||
- TaxiOrderStatusEnum.Cancel.getCode() == order.orderStatus ||
- TaxiOrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus) {
- TaxiModel.getInstance().startOrStopCalculateRouteInfo(false);
- TaxiModel.getInstance().cleanLineMarker();
- TaxiModel.getInstance().cleanStation();
- LineManager.setLineInfo(null);
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- /* 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- mView.updateCtvAutopilotStatusTag(false);
-
- if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus) {
- CallerEagleBaseFunctionCall4OchManager.INSTANCE.updateOrderStatus(false);
- }
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
- if (TaxiOrderStatusEnum.Cancel.getCode() == order.orderStatus) {
- VoiceNotice.showNotice("乘客已取消行程");
- }
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.updateCurrentOrderStatusChanged(order);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onCurrentOrderCancelDone() {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onCurrentOrderCancelDone();
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onOrderCancelDone(String orderNo) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onOrderCancelDone(orderNo);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- OchChainLogManager.writeChainLog(
- "到达目的地计算距离和时间",
- "距离:"+routeInfo.distanceToEnd+" 时间:"+routeInfo.durationToEnd
- );
- mView.onCurrentOrderRouteInfoGot(routeInfo);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onCurrentOrderDistToStartChanged(long meters, long timeInSecond) {
- }
-
- @Override
- public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onCurrentOrderDistToEndChanged(meters, timeInSecond);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onNewBookingOrderGot(OrderQueryRespBean.Result order) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onNewBookingOrderGot(order);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onGrabOrderExecuteDone() {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onGrabOrderExecuteDone();
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onGrabOrderSuccess(OrderQueryRespBean.Result order) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onGrabOrderSuccess(order);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onGrabOrderFailed(OrderQueryRespBean.Result order) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onGrabOrderFailed(order);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onDriverHasCheckedPilotCondition() {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onCheckPilotConditionSafe();
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onNaviToEnd(boolean isAmap, boolean isShow) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.onNaviToEnd(isAmap, isShow);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void startOpenAutopilot() {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if(mView!=null) {
- mView.startOrStopLoadingAnim(true);
- }
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- @Override
- public void onStatusChange(LoginStatusEnum currentStatus) {
- //设置 是否启动订单轮训
- TaxiModel.getInstance().startOrStopOrderLoop(LoginStatusManager.isLogin()&&LoginStatusManager.isOpenOrderType());
- // 设置当前用户角色
- String role = "";
- switch (LoginStatusManager.getPurpose()) {
- case DEMO:{
- role = TaxiConst.DEMO_USER;
- }
- case TEST:{
- role = TaxiConst.TEST_USER;
- }
- }
- }
-
- @Override
- public void onOpenOrderStatusEnumChange(OpenOrderStatusEnum businessEnum) {
- if(businessEnum==OpenOrderStatusEnum.Ordering){
- TaxiModel.getInstance().startOrStopOrderLoop(LoginStatusManager.isLogin()&&LoginStatusManager.isOpenOrderType());
- }
- }
-}
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
deleted file mode 100644
index d9363e93ac..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import static com.mogo.och.taxi.constant.TaxiConst.TIMER_START_AUTOPILOT_INTERVAL;
-
-import android.content.Context;
-import android.content.res.Configuration;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.FragmentActivity;
-import androidx.fragment.app.FragmentTransaction;
-
-import com.mogo.commons.mvp.IView;
-import com.mogo.commons.mvp.MvpFragment;
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
-import com.mogo.eagle.core.function.api.och.toolkit.IToolKitItemClickListener;
-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.CallerAutopilotRecordListenerManager;
-import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager;
-import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager;
-import com.mogo.eagle.core.function.hmi.map.MapContainerLayout;
-import com.mogo.eagle.core.function.view.MapRoamView;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.map.listener.IMogoMapListener;
-import com.mogo.och.common.module.wigets.map.drawline.LineView;
-import com.mogo.och.taxi.R;
-
-import java.lang.ref.WeakReference;
-
-/**
- * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况
- *
- * 部分业务放在了此处处理
- *
- * @author tongchenfei
- */
-public abstract class BaseTaxiTabFragment> extends MvpFragment implements IMogoMapListener {
-
- private static final String TAG = "BaseOchFragment";
- private FrameLayout flNaviPanelContainer;
- private ImageView mCloseNaviIcon;
- protected TaxiAmapNaviFragment ochAmapNaviFragment = null;
- protected TaxiRottingNaviFragment taxiRottingNaviFragment = null;
- private MapRoamView mapRoamView;
- private MapContainerLayout mapContainerLayout;
- private final Handler mHandler = new Handler(Looper.getMainLooper());
- private String runningTaskGateWay = "RUNNINGTASKGATEWAY";
- private String lineView = "LINEVIEW";
-
- // 查看运营情况 点击账户信息右边的箭头展示
- private WeakReference personalDialogFragment = null;
-
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_base_fragment;
- }
-
- @Override
- protected void initViews() {
- mapContainerLayout = findViewById(R.id.mapContainerLayout);
- mapRoamView = findViewById(R.id.mapRoamView);
- updateCtvAutopilotStatusTag(false);
- mCloseNaviIcon = findViewById(R.id.taxi_close_navi_icon);
- flNaviPanelContainer = findViewById(R.id.module_mogo_och_navi_panel_container);
- CallerHmiViewControlListenerManager.INSTANCE.invokeMainPageViewVisible(View.VISIBLE);
- onAutopilotStatusChanged(CallerAutoPilotStatusListenerManager.INSTANCE.getState(), CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
-
- mCloseNaviIcon.setOnClickListener(v -> {
- showAmapNaviToStationFragment(false);
- showRottingToStationFragment(false);
- });
-
- if (getContext() != null) {
- CallerEagleBaseFunctionCall4OchManager.INSTANCE.addSingleToolKitDefaultItem(runningTaskGateWay, "运营看板", R.drawable.common_biz_operation, 4);
- CallerEagleBaseFunctionCall4OchManager.INSTANCE.addToolKitDefaultItemClickListener(runningTaskGateWay, new IToolKitItemClickListener() {
- @Override
- public void onItemClick(@NonNull String toolTag, @Nullable Context ctx) {
- if (runningTaskGateWay.equals(toolTag)) {
- CallerLogger.d(TAG,"runningTaskGateWay:"+runningTaskGateWay+"---toolTag:"+toolTag);
- personalDialogFragment = new WeakReference<>(new TaxiPersonalDialogFragment());
- FragmentActivity activity = getActivity();
- if (activity != null) {
- personalDialogFragment.get().show(activity.getSupportFragmentManager(), "service_data");
- }
- }
- }
- });
- CallerEagleBaseFunctionCall4OchManager.INSTANCE.addSingleToolKitCustomItem(lineView, new LineView(getContext()), 10);
- }
-
- }
-
- @Override
- protected void initViews(Bundle savedInstanceState) {
- super.initViews(savedInstanceState);
- mapContainerLayout.onCreate(savedInstanceState);
- mapRoamView.onCreate(savedInstanceState);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mapContainerLayout.onResume();
- mapRoamView.onResume();
- }
-
- @Override
- public void onPause() {
- super.onPause();
- mapContainerLayout.onPause();
- mapRoamView.onPause();
- }
-
- protected void onChangeOperationStatus() {
-
- }
-
- @Override
- public void onLowMemory() {
- super.onLowMemory();
- mapContainerLayout.onLowMemory();
- mapRoamView.onLowMemory();
- }
-
- @Override
- public void onSaveInstanceState(@NonNull Bundle outState) {
- super.onSaveInstanceState(outState);
- mapContainerLayout.onSaveInstanceState(outState);
- mapRoamView.onSaveInstanceState(outState);
- }
-
- @Override
- public void onDestroyView() {
- mapContainerLayout.onDestroy();
- mapRoamView.onDestroy();
- super.onDestroyView();
- flNaviPanelContainer = null;
- mapContainerLayout = null;
- mapRoamView = null;
- mCloseNaviIcon = null;
- ochAmapNaviFragment = null;
- taxiRottingNaviFragment = null;
- CallerAutopilotRecordListenerManager.INSTANCE.removeListener(TAG);
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- }
-
- public void onAutopilotStatusChanged(int status, boolean canStart) {
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if (isStarting && IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING != status) {
- // 1. 主动开启自动驾驶中,不为2(为0、1)则继续loading
- return;
- }
- if (isStarting && IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) {
- // 2. 主动开启自动驾驶中,为2则停止loading,并isStarting = false
- startAutopilotDone(true);
- return;
- }
- // 3. 其他过程直接更新
- startOrStopLoadingAnim(false);
- autopilotStatusAnimchanged(status, canStart);
- }
- }, UiThreadHandler.MODE.QUEUE);
- }
-
- public void stopAnimAndUpdateBtnStatus() {
- startOrStopLoadingAnim(false);
- startAutopilotDone(false);
- }
-
- public void onManMachineCoDriving(int manMachineCoDriving, boolean canStartAuto) {
- autopilotStatusAnimchanged(manMachineCoDriving, canStartAuto);
- }
-
- public void updateCtvAutopilotStatusTag(boolean tag) {
- }
-
- public void onCheckPilotConditionSafe() {
- updateCtvAutopilotStatusTag(true);
- updateOrderBottomBtnUI();
- }
-
- protected abstract void updateOrderBottomBtnUI();
-
- public void autopilotStatusAnimchanged(int status, boolean canStart) {
-
- }
-
- private void startAutopilotDone(boolean success) {
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- startOrStopLoadingAnim(false);
- onAutopilotStatusChanged(CallerAutoPilotStatusListenerManager.INSTANCE.getState(), CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(false, 0));
- }
- }, 1000L);
- }
-
- public boolean isStarting = false;
-
- public void startOrStopLoadingAnim(boolean start) {
- if (start) {
- isStarting = true;
- startingAutoApilotCountDown();
- } else {
- isStarting = false;
- }
- }
-
- private void startingAutoApilotCountDown() {
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() { //未启动成功10s后做处理
- if (isStarting) { //判断动画是否在进行
- //并且根据状态来设置自动驾驶启动成功还是失败
- startAutopilotDone(CallerAutoPilotStatusListenerManager.INSTANCE.getState()
- == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING);
- }
-
- }
- }, TIMER_START_AUTOPILOT_INTERVAL);
- }
-
- protected void showAmapNaviToStationFragment(boolean isShow) {
-
- FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
- closeAmapViewIFHadeAdd();
- if (isShow) {
- closeRouteViewIFHadeAdd();
- ochAmapNaviFragment = TaxiAmapNaviFragment.newInstance();
- if (ochAmapNaviFragment.isAdded()) {
- return;
- }
- transaction.add(R.id.module_mogo_och_navi_panel_container, ochAmapNaviFragment).show(ochAmapNaviFragment);
- transaction.commitAllowingStateLoss();
- mCloseNaviIcon.setVisibility(View.VISIBLE);
- flNaviPanelContainer.setVisibility(View.VISIBLE);
- } else {
- mCloseNaviIcon.setVisibility(View.GONE);
- flNaviPanelContainer.setVisibility(View.INVISIBLE);
- }
- }
-
- private void closeAmapViewIFHadeAdd() {
- if (ochAmapNaviFragment != null) {
- FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
- ochAmapNaviFragment.onDestroy();
- transaction.remove(ochAmapNaviFragment);
- transaction.commitAllowingStateLoss();
- ochAmapNaviFragment = null;
- }
- }
-
- private void closeRouteViewIFHadeAdd() {
- if (taxiRottingNaviFragment != null) {
- FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
- taxiRottingNaviFragment.onDestroy();
- transaction.remove(taxiRottingNaviFragment);
- transaction.commitAllowingStateLoss();
- taxiRottingNaviFragment = null;
- }
- }
-
- protected void showRottingToStationFragment(boolean isShow) {
-
- FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
- if (isShow) {
- closeAmapViewIFHadeAdd();
-// if (ochNaviFragment == null){
- taxiRottingNaviFragment = TaxiRottingNaviFragment.newInstance();
-// }
- if (taxiRottingNaviFragment.isAdded()) {
- return;
- }
- transaction.add(R.id.module_mogo_och_navi_panel_container, taxiRottingNaviFragment).show(taxiRottingNaviFragment);
- transaction.commitAllowingStateLoss();
- mCloseNaviIcon.setVisibility(View.VISIBLE);
- flNaviPanelContainer.setVisibility(View.VISIBLE);
- } else {
- closeRouteViewIFHadeAdd();
- mCloseNaviIcon.setVisibility(View.GONE);
- flNaviPanelContainer.setVisibility(View.INVISIBLE);
- }
- }
-
-
- public abstract void startNaviToEndStation(boolean isShow);
-
- public void setGuidShow() {
- }
-
- public void setGuidHide() {
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiUIFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiUIFragment.java
deleted file mode 100644
index 013b27bf3e..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiUIFragment.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-
-/**
- * @author: wangmingjun
- * @date: 2021/9/9
- */
-public abstract class BaseTaxiUIFragment extends Fragment {
- private View mRootView;
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- if (mRootView == null) {
- mRootView = inflater.inflate(getLayoutId(), container, false);
- } else {
- ViewGroup viewGroup = (ViewGroup) mRootView.getParent();
- if (viewGroup != null) {
- viewGroup.removeView(mRootView);
- }
- }
- initViews(mRootView);
- initViews(savedInstanceState);
- return mRootView;
- }
- /**
- * 布局资源
- *
- * @return
- */
- protected abstract int getLayoutId();
-
- protected abstract void initViews(View view);
-
- protected void initViews(Bundle savedInstanceState) {
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- mRootView = null;
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/ITaxiMapDirectionView.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/ITaxiMapDirectionView.java
deleted file mode 100644
index cf589373ef..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/ITaxiMapDirectionView.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-/**
- * @author xiaoyuzhou
- * @date 2021/6/24 11:33 上午
- */
-public interface ITaxiMapDirectionView {
-
- /**
- * 绘制路径线
- */
- void drawablePolyline();
-
- /**
- * 清除路径线
- */
- void clearPolyline();
-
- /**
- * 设置路径中起终点marker
- */
- void setLineMarker();
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/ITaxiView.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/ITaxiView.java
deleted file mode 100644
index a45a30f184..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/ITaxiView.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import com.mogo.commons.mvp.IView;
-
-public
-/**
- * @author congtaowang
- * @since 2021/1/18
- *
- * 描述
- */
-interface ITaxiView extends IView {
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiAmapNaviFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiAmapNaviFragment.java
deleted file mode 100644
index f99df1959b..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiAmapNaviFragment.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import android.os.Bundle;
-import android.view.View;
-
-import com.amap.api.navi.AMapNaviViewListener;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.och.common.module.map.AmapNaviToDestinationModel;
-import com.mogo.och.common.module.map.ICommonNaviChangedCallback;
-import com.mogo.och.common.module.map.CommonAmapNaviVIew;
-import com.mogo.och.taxi.R;
-
-/**
- * @author: wangmingjun
- * @date: 2021/11/30
- */
-public class TaxiAmapNaviFragment extends BaseTaxiUIFragment implements AMapNaviViewListener {
-
- private CommonAmapNaviVIew mAMapNaviView;
- private ICommonNaviChangedCallback mNaviToStartInfoCallback;
- public static TaxiAmapNaviFragment newInstance() {
-
- Bundle args = new Bundle();
-
- TaxiAmapNaviFragment fragment = new TaxiAmapNaviFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_amap_navi_view;
- }
-
- @Override
- protected void initViews(View view) {
- mAMapNaviView = view.findViewById(R.id.navi_view);
- }
-
- @Override
- protected void initViews(Bundle savedInstanceState) {
- super.initViews(savedInstanceState);
- if (mAMapNaviView != null) {
- mAMapNaviView.onCreate(savedInstanceState);
- }
- }
-
- @Override
- public void onResume() {
- super.onResume();
- if (mAMapNaviView != null) {
- mAMapNaviView.onResume();
- }
- }
-
- @Override
- public void onPause() {
- super.onPause();
- if (mAMapNaviView != null) {
- mAMapNaviView.onPause();
- }
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
-
- AmapNaviToDestinationModel.getInstance(getContext()).setVoiceIsMute(false);
- if (mAMapNaviView != null){
- mAMapNaviView.onDestroy();
- }
-
- if (mNaviToStartInfoCallback != null){
- mNaviToStartInfoCallback = null;
- }
- }
-
- @Override
- public void onNaviSetting() {
- //底部导航设置点击回调
- }
-
- @Override
- public void onNaviCancel() {
- }
-
- @Override
- public void onNaviMapMode(int naviMode) {
- //导航态车头模式,0:车头朝上状态;1:正北朝上模式。
- }
-
- @Override
- public void onNaviTurnClick() {
- //转弯view的点击回调
- }
-
- @Override
- public void onNextRoadClick() {
- //下一个道路View点击回调
- }
-
-
- @Override
- public void onScanViewButtonClick() {
- //全览按钮点击回调
- }
-
-
- @Override
- public void onLockMap(boolean isLock) {
- //锁地图状态发生变化时回调
- }
-
- @Override
- public void onNaviViewLoaded() {
- CallerLogger.d(M_TAXI + "wlx", "导航页面加载成功");
- CallerLogger.d(M_TAXI + "wlx", "请不要使用AMapNaviView.getMap().setOnMapLoadedListener();会overwrite导航SDK内部画线逻辑");
- }
-
- @Override
- public void onMapTypeChanged(int i) {
-
- }
-
- @Override
- public void onNaviViewShowMode(int i) {
-
- }
-
- @Override
- public boolean onNaviBackClick() {
- return false;
- }
-
- /**
- * 车道信息说明:
- *
- * 0xFF, 无对应车道
- * 0, 直行
- * 1, 左转
- * 2, 直行+左转
- * 3, 右转
- * 4, 直行+右转
- * 5, 左掉头
- * 6, 左转+右转
- * 7, 直行+左转+右转
- * 8, 右掉头
- * 9, 直行+左掉头
- * 10, 直行+右掉头
- * 11, 左转+左掉头
- * 12, 右转+右掉头
- * 13, 直行+扩展
- * 14, 左转+左掉头+扩展
- * 15, 保留
- * 16, 直行+左转+左掉头
- * 17, 右转+左掉头
- * 18, 左转+右转+左掉头
- * 19, 直行+右转+左掉头
- * 20, 左转+右掉头
- * 21, 公交车道
- * 22, 空车道
- * 23 可变车道
- */
-
- String[] array = {
- "直行车道"
- , "左转车道"
- , "左转或直行车道"
- , "右转车道"
- , "右转或直行车道"
- , "左掉头车道"
- , "左转或者右转车道"
- , " 左转或右转或直行车道"
- , "右转掉头车道"
- , "直行或左转掉头车道"
- , "直行或右转掉头车道"
- , "左转或左掉头车道"
- , "右转或右掉头车道"
- , "直行并且车道扩展"
- , "左转+左掉头+扩展"
- , "不可以选择该车道"
- , "直行+左转+左掉头车道"
- , "右转+左掉头"
- , "左转+右转+左掉头"
- , "直行+右转+左掉头"
- , "左转+右掉头"
- , "公交车道"
- , "空车道"
- , "可变车道"
- };
-
- String[] actions = {
- "直行"
- , "左转"
- , "左转或直行"
- , "右转"
- , "右转或这行"
- , "左掉头"
- , "左转或者右转"
- , " 左转或右转或直行"
- , "右转掉头"
- , "直行或左转掉头"
- , "直行或右转掉头"
- , "左转或左掉头"
- , "右转或右掉头"
- , "直行并且车道扩展"
- , "左转+左掉头+扩展"
- , "不可以选择"
- , "直行+左转+左掉头"
- , "右转+左掉头"
- , "左转+右转+左掉头"
- , "直行+右转+左掉头"
- , "左转+右掉头"
- , "公交车道"
- , "空车道"
- , "可变车道"
- };
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java
deleted file mode 100644
index 8eafd72d76..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java
+++ /dev/null
@@ -1,815 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-import static com.mogo.map.MogoMap.DEFAULT;
-
-import android.app.Activity;
-import android.graphics.Color;
-import android.graphics.drawable.GradientDrawable;
-import android.os.Build;
-import android.os.Bundle;
-import android.text.Html;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.annotation.RequiresApi;
-import androidx.constraintlayout.widget.ConstraintLayout;
-
-import com.amap.api.navi.model.NaviLatLng;
-import com.mogo.eagle.core.data.map.MogoLocation;
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
-import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
-import com.mogo.eagle.core.function.hmi.ui.widget.ItinerarySummaryDialog;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.eagle.core.utilcode.util.DateTimeUtils;
-import com.mogo.eagle.core.utilcode.util.ToastUtils;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.map.overlay.IMoGoOverlayManager;
-import com.mogo.map.overlay.core.Level;
-import com.mogo.map.overlay.point.Point;
-import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager;
-import com.mogo.och.common.module.map.AmapNaviToDestinationModel;
-import com.mogo.och.common.module.map.ICommonNaviChangedCallback;
-import com.mogo.och.common.module.utils.DateTimeUtil;
-import com.mogo.och.common.module.utils.NumberFormatUtil;
-import com.mogo.och.common.module.utils.OCHThreadPoolManager;
-import com.mogo.och.common.module.utils.ResourcesUtils;
-import com.mogo.och.common.module.voice.VoiceNotice;
-import com.mogo.och.common.module.wigets.OCHCommitDialog;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.constant.TaxiConst;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean;
-import com.mogo.och.taxi.model.TaxiModel;
-import com.mogo.skin.utils.SkinResources;
-
-import java.util.Calendar;
-import java.util.List;
-
-/**
- * @author congtaowang
- * @since 2021/1/18
- * 正在进行中订单
- */
-public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
- implements View.OnClickListener, ICommonNaviChangedCallback {
-
- public static final String TAG = "OCHTaxiBeingServerd";
- private Activity mActivity;
- private TaxiFragment mTaxiFragment;
- private String mOrderNo;
- private volatile int mTtsLessThan200Tip = 0;//离终点200米提示播报
- private OrderQueryRespBean.Result mCurrentOrder = null;
- private boolean isFirstStartAutopilotDone = true;
-
- private TextView mOrderStatus;
- private ImageView mOrderCancel;
-
- private TextView mOrderServerStatus;
-
- private ConstraintLayout mBeingOrderLayout;
- private ConstraintLayout mContentModule3;
- private ConstraintLayout mContentModule2;
- private TextView mDistanceAndTime3;
- private TextView mDistanceAndTime2;
- private TextView mStationTv2;
- private TextView mOrderOtherContent3;
- private TextView mArrivedStartTimeTv32;
- private TextView mTitleTV2;
-
- private LinearLayout mContentModule31;
- private TextView mStationTv31;
- private ConstraintLayout mContentModule32;
- private TextView mStationTv32;
- private TextView mArrivedStationTitleTv32;
- private TextView mGoAheadStationTitleTv31;
- private TextView mCatchStationTitleTv31;
- private ImageView mNaviStartIcon;
- private ImageView mNaviToEndIcon;
- private TextView mPassengerNum;
- private TextView mPassengerPhone;
- private ConstraintLayout mPassengerInfoLayout;
-
- private TextView mNoDatasTv;
-
- private ConstraintLayout mNoDataView;
-
- private volatile int saveOrderState = -1;
-
- private ItinerarySummaryDialog dialog;
-
-
- public static TaxiBeingServerdOrdersFragment newInstance(Activity activity, TaxiFragment taxiFragment) {
- Bundle args = new Bundle();
-
- TaxiBeingServerdOrdersFragment fragment = new TaxiBeingServerdOrdersFragment();
- fragment.setArguments(args);
- fragment.mActivity = activity;
- fragment.mTaxiFragment = taxiFragment;
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_being_order;
- }
-
- @Override
- protected void initViews(View view) {
- mOrderStatus = view.findViewById(R.id.module_och_taxi_order_status);
- mOrderCancel = view.findViewById(R.id.module_och_taxi_order_cancel_iv);
-
- mOrderServerStatus = view.findViewById(R.id.module_och_taxi_order_server_status_tv);
-
- mBeingOrderLayout = view.findViewById(R.id.module_och_taxi_being_order_content);
- mContentModule2 = view.findViewById(R.id.module_och_taxi_order_status_station_2);
- mContentModule3 = view.findViewById(R.id.module_och_taxi_order_status_station_3);
- mDistanceAndTime2 = view.findViewById(R.id.module_och_taxi_order_distance_anchor_2);
- mContentModule31 = view.findViewById(R.id.module_och_taxi_order_go_ahead_station_31);
- mContentModule32 = view.findViewById(R.id.module_och_taxi_order_arrive_station_32);
- mStationTv2 = view.findViewById(R.id.module_och_taxi_order_station_2);
- mStationTv31 = view.findViewById(R.id.module_och_taxi_order_start_station_31);
- mStationTv32 = view.findViewById(R.id.module_och_taxi_order_end_station_32);
- mOrderOtherContent3 = view.findViewById(R.id.module_och_taxi_order_other_content_3);
- mDistanceAndTime3 = view.findViewById(R.id.module_och_taxi_order_distance_anchor_3);
- mArrivedStartTimeTv32 = view.findViewById(R.id.module_och_taxi_order_had_arrived_time_32);
- mTitleTV2 = view.findViewById(R.id.module_och_taxi_order_station_title_2);
- mCatchStationTitleTv31 = view.findViewById(R.id.go_ahead_station_catch_31);
- mGoAheadStationTitleTv31 = view.findViewById(R.id.go_ahead_station_31);
- mArrivedStationTitleTv32 = view.findViewById(R.id.arrive_station_32);
-
- mPassengerInfoLayout = view.findViewById(R.id.module_och_taxi_order_passenger_data);
- mPassengerNum = view.findViewById(R.id.taxi_passenger_num);
- mPassengerPhone = view.findViewById(R.id.taxi_passenger_phone);
-
- mNoDatasTv = view.findViewById(R.id.no_order_data_tv);
- mNoDataView = view.findViewById(R.id.being_no_data_view);
-
- initOnClickListener();
-
- initNaviView(view);
-
- isHaveBeingOrder(false);
-
- //任意模式下调试信息都打开
- initOrderTestBar();
- }
-
- private void initOnClickListener() {
- mOrderCancel.setOnClickListener(this);
- mOrderServerStatus.setOnClickListener(this);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- }
-
- private void initNaviView(View view) {
- mNaviStartIcon = view.findViewById(R.id.module_och_taxi_navi_iv);
- mNaviStartIcon.setOnClickListener(this);
-
- mNaviToEndIcon = view.findViewById(R.id.module_och_taxi_navi_end_iv);
- mNaviToEndIcon.setOnClickListener(this);
-
- }
-
- /**
- * 初始化订单信息
- */
- @RequiresApi(api = Build.VERSION_CODES.P)
- public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
- try {
- if (order == null) return;
- if (order.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.getCode()) {
- mCurrentOrder = null;
- isHaveBeingOrder(false);
- mDistanceAndTime2.setText("距离 - - 公里,用时 - - 分");
- mDistanceAndTime3.setText("距离 - - 公里,用时 - - 分");
- return;
- }
- mOrderNo = order.orderNo;
- onOrderStatusChanged(order);
- if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus) {
-
- showOrHideOrderModeBtn(false);
-
- mTaxiFragment.queryCurOrderRouteInfo();
- mContentModule3.setVisibility(View.GONE);
- mContentModule2.setVisibility(View.VISIBLE);
- CallerLogger.d(M_TAXI + TAG, "已经达到终点");
- updateOrderBottomBtn(getString(R.string.module_och_taxi_order_server_end),
- Color.parseColor("#FFFFFF"),
- Color.parseColor("#FF1D5EF3"),
- true);
- mTitleTV2.setText("送乘客至");
- mStationTv2.setText(order.endSiteAddr);
-
- } else if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) {
- CallerLogger.d(M_TAXI + TAG, "已经去往终点");
-
- showOrHideOrderModeBtn(false);
-
- mContentModule3.setVisibility(View.GONE);
- mContentModule2.setVisibility(View.VISIBLE);
- mOrderStatus.setText(R.string.module_och_taxi_on_the_way_2_end_station);
-
- updateOrderBottomBtn(getString(R.string.module_och_taxi_order_close),
- Color.parseColor("#FFFFFF"),
- Color.parseColor("#FF1D5EF3"),
- true);
- mTitleTV2.setText("送乘客至");
- mStationTv2.setText(order.endSiteAddr);
- } else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus
- || TaxiOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus){
-
- mContentModule2.setVisibility(View.GONE);
- mContentModule3.setVisibility(View.VISIBLE);
- mArrivedStartTimeTv32.setVisibility(View.VISIBLE);
- mContentModule32.setVisibility(View.VISIBLE);
- mContentModule31.setVisibility(View.GONE);
- mOrderOtherContent3.setVisibility(View.GONE);
-
- Calendar currentCale = DateTimeUtils.getCurrentDateTime();
- String currentHM = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.HH_mm);
- String currentDay = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.yyyy_MM_dd);
- String strHtml11 = "已于
"
- + "" + currentHM + ""
- + "" + " " + "到达乘客上车地点";
- mArrivedStartTimeTv32.setLineHeight(60);
- mArrivedStartTimeTv32.setText(Html.fromHtml(strHtml11));
-
- mArrivedStationTitleTv32.setText("送乘客至");
- mStationTv32.setText(order.endSiteAddr);
- currentCale.add(Calendar.MINUTE, 10);
- String strHtml13 = "";
- if (currentDay.equals(DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.yyyy_MM_dd))) {
- strHtml13 = "免费等待至 "
- + "" + DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.HH_mm) + "";
-
- } else {
- strHtml13 = "免费等待至"
- + "" + DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.MM_dd_HH_mm) + "";
- }
- mDistanceAndTime3.setText(Html.fromHtml(strHtml13));
-
- if (TaxiOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus){
- CallerLogger.d(M_TAXI + TAG, "车辆已经达到起点");
- mPassengerInfoLayout.setVisibility(View.VISIBLE);
- mPassengerNum.setText(order.passengerNum + "人");
- mPassengerPhone.setText(order.passengerPhone);
- mOrderStatus.setText(R.string.module_och_taxi_waiting);
-
- updateOrderBottomBtn(getString(R.string.module_och_taxi_order_server_start_wait_check),
- Color.parseColor("#FFFFFF"),
- Color.parseColor("#FF1D5EF3"),
- true);
-
- showOrHideOrderModeBtn(false);
- }else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus ){
- CallerLogger.d(M_TAXI + TAG, "乘客已上车验证成功");
-
- mPassengerInfoLayout.setVisibility(View.GONE);
- mOrderStatus.setText(R.string.module_och_taxi_user_check_success);
-
- updateOrderBottomBtn(getString(R.string.module_och_taxi_order_server_start),
- Color.parseColor("#FFFFFF"),
- Color.parseColor("#FF1D5EF3"),
- true);
-
- /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- // showOrHideOrderModeBtn(true);
- showOrHideOrderModeBtn(false);
- CallerLogger.d(M_TAXI + TAG, "自驾模式");
- startOrEndService();
- }
-
- }else if (TaxiModel.getInstance().checkCurrentOCHOrder()) {
- CallerLogger.d(M_TAXI + TAG, "前往乘客上车地点");
- mContentModule2.setVisibility(View.GONE);
- mContentModule3.setVisibility(View.VISIBLE);
- mContentModule31.setVisibility(View.VISIBLE);
- mArrivedStartTimeTv32.setVisibility(View.GONE);
- mContentModule32.setVisibility(View.GONE);
- mOrderOtherContent3.setVisibility(View.VISIBLE);
- mDistanceAndTime3.setVisibility(View.VISIBLE);
- mPassengerInfoLayout.setVisibility(View.VISIBLE);
- mPassengerNum.setText(order.passengerNum + "人");
- mPassengerPhone.setText(order.passengerPhone);
- mOrderStatus.setText(R.string.module_och_taxi_new_order);
-
- showOrHideOrderModeBtn(false);
-
- updateOrderBottomBtn(getString(R.string.module_och_taxi_order_server_start),
- Color.parseColor("#4DFFFFFF"),
- Color.parseColor("#4D1D5EF3"),
- false);
-
- mGoAheadStationTitleTv31.setText("前往");
- mCatchStationTitleTv31.setText("接乘客");
- mStationTv31.setText(order.startSiteAddr);
-
- Calendar currentCale = DateTimeUtils.getCurrentDateTime();
- Calendar startCale = DateTimeUtil.formatLongToCalendar(order.bookingTime);
- String currentDay = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.yyyy_MM_dd);
- String startDay = DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.yyyy_MM_dd);
- String strHtml1 = "";
- if (currentDay.equals(startDay)) {
- strHtml1 = "乘客将于
"
- + "" + DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.HH_mm) + ""
- + " 用车";
- } else {
- strHtml1 = "乘客将于
"
- + "" + DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.MM_dd_HH_mm) + ""
- + " 用车";
- }
- mOrderOtherContent3.setText(Html.fromHtml(strHtml1));
- }
- }catch (NullPointerException e){ //可能会出现订单信息已经轮询回来,但进行中页面控件还未初始化完成的情况
- TaxiModel.getInstance().clearCurrentOCHOrder();
- }
- }
-
- private void showOrHideOrderModeBtn(boolean isShow) {
- if (isShow){
- mOrderServerStatus.setVisibility(View.GONE);
- }else {
- mOrderServerStatus.setVisibility(View.VISIBLE);
- }
- }
-
- private void startNaviToStation(boolean isVoicePlay, double stationLat, double stationLng) {
- AmapNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
- MogoLocation gcj02Location = OchLocationManager.getGCJ02Location();
- double mCurLatitude = gcj02Location.getLatitude();
- double mCurLongitude =gcj02Location.getLongitude();
-
- CallerLogger.d(M_TAXI + TAG, "currentLatLng=" + mCurLatitude + " " +mCurLongitude);
-
- NaviLatLng startNaviLatLng = new NaviLatLng(mCurLatitude, mCurLongitude);
- NaviLatLng endNaviLatLng = new NaviLatLng(stationLat, stationLng);
- AmapNaviToDestinationModel.getInstance(getContext()).initAMapNavi(startNaviLatLng, endNaviLatLng);
- AmapNaviToDestinationModel.getInstance(getContext()).setVoiceIsMute(isVoicePlay);
- AmapNaviToDestinationModel.getInstance(getContext()).setTaxiNaviChangedCallback(this);
- }
-
- private void showOrHideNavi(boolean isShow) {
- if (!isShow) {
- mNaviStartIcon.setVisibility(View.GONE);
- mNaviToEndIcon.setVisibility(View.GONE);
- AmapNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
- mTaxiFragment.showAmapNaviToStationFragment(false);
- mTaxiFragment.showRottingToStationFragment(false);
- }
- }
-
- /**
- * 剩余里程和剩余时间
- * @param meters m
- * @param timeInSecond 秒
- */
- public void updateDistanceAndTime(long meters, long timeInSecond) {
- String dis = "0";
- String disUnit = "公里";
- if (meters > 0){
- if (meters / 1000 < 1){
- disUnit = "米";
- dis = String.valueOf(Math.round(meters));
- }else {
- disUnit = "公里";
- dis = NumberFormatUtil.formatLong((double)meters / 1000);
- }
- }
- int min = (int)Math.ceil((double)timeInSecond/ 60f);
- String strHtml2 = "里程 " + "" + dis + "" + " "+disUnit+""
- + ",剩余 " + "" + min + "" + " 分钟";
- try {
- if (mCurrentOrder != null && mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToStart.getCode()) { //前往上车点
- mDistanceAndTime3.setText(Html.fromHtml(strHtml2));
- if (mNaviStartIcon.getVisibility() == View.GONE){
- mNaviStartIcon.setVisibility(View.VISIBLE);
- }
-
- } else if (mCurrentOrder != null && mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()) { //前往终点 时间单位是分钟
- if (mNaviToEndIcon.getVisibility() == View.GONE){
- mNaviToEndIcon.setVisibility(View.VISIBLE);
- }
-
- if (mTtsLessThan200Tip < 1 && meters <= 250 && meters > 150){
- speekVoice200mTipsOnce();
- }
- mDistanceAndTime2.setText(Html.fromHtml(strHtml2));
- if (isFirstStartAutopilotDone){
- isFirstStartAutopilotDone = false;
- }
- }
- }catch (NullPointerException e){
-
- }
- }
-
- private void speekVoice200mTipsOnce() {
- mTtsLessThan200Tip = 1;
- }
-
- public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo) {// 单位 米, 秒
- CallerLogger.d(M_TAXI + TAG, "durationToEnd = " + routeInfo.durationToEnd);
-
- String dis = "0";
- long distance = routeInfo.distanceToEnd;
- long duration = routeInfo.durationToEnd;
-
- if (routeInfo.distanceToEnd > 0){
-
- dis = NumberFormatUtil.formatLong( (double) distance/ 1000);
- }
- dialog.setOrderMileage(distance);
-
- String strHtml2 = "全程 " + "" + dis + "" + " 公里"
- + ",总用时 " + "" + (int)Math.ceil( (double) duration/ 60) + "" + " 分钟";
- if (mContentModule2 != null && mContentModule2.getVisibility() == View.VISIBLE) {
- mDistanceAndTime2.setText(Html.fromHtml(strHtml2));
- } else if (mContentModule3 != null && mContentModule3.getVisibility() == View.VISIBLE) {
- mDistanceAndTime3.setText(Html.fromHtml(strHtml2));
- }
- }
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- mTaxiFragment = null;
- mActivity = null;
- AmapNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
- }
-
- private void startOrEndService() {
- if (mCurrentOrder == null) return;
- if (TaxiOrderStatusEnum.ArriveAtStart.getCode() == mCurrentOrder.orderStatus){ //到达乘客上车点,司机可跳过乘客屏认证
- mTaxiFragment.jumpPassengerCheckDone();
- }else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == mCurrentOrder.orderStatus) {//点击此按钮,说明通知后端准备好开启自动驾驶的条件
- mTaxiFragment.confirmAutopilotConditionByDriver();
- }else if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == mCurrentOrder.orderStatus) {//点击了完成服务,结束订单并更新订单信息
- mTaxiFragment.completeOrderService();
- //VoiceNotice.showNotice(ResourcesUtils.getString(R.string.module_och_taxi_order_server_completed_tip));
- }else if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == mCurrentOrder.orderStatus){//前往目的地过程中可提前结束行程
- //自驾中提示,接管后才能结束
- if (CallerAutoPilotStatusListenerManager.INSTANCE.getState()
- == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){
- ToastUtils.showLong(R.string.taxi_switch_line_btn_warning1);
- }else {
- closeOrderDialog();
- }
- }
- }
-
- private void closeOrderDialog() {
- OCHCommitDialog.Builder builder = new OCHCommitDialog.Builder();
- OCHCommitDialog closeOrderDialog = builder
- .title(getString(R.string.dialog_order_close_title))
- .tips(getString(R.string.dialog_order_close_content))
- .confirmStr(getString(R.string.dialog_order_close_confirm))
- .cancelStr(getString(R.string.dialog_order_close_cancel))
- .build(getContext());
- closeOrderDialog.setClickListener(new OCHCommitDialog.ClickListener() {
- @Override
- public void confirm() {
- if (mTaxiFragment != null) mTaxiFragment.closeOrderByMan();
- }
-
- @Override
- public void cancel() {
- closeOrderDialog.dismiss();
- }
- });
- closeOrderDialog.show();
- }
-
- public void onOrderStatusChanged(OrderQueryRespBean.Result order) {
- int status = order.orderStatus;
- CallerLogger.d(M_TAXI + TAG, "status==" + status);
- mCurrentOrder = order;
- mActivity.runOnUiThread(() -> {
- if (status == TaxiOrderStatusEnum.None.getCode() || status == TaxiOrderStatusEnum.Cancel.getCode() || status == TaxiOrderStatusEnum.JourneyCompleted.getCode()) {
- isHaveBeingOrder(false);
- mCurrentOrder = null;
- clearOrderTag();
- } else {
- isHaveBeingOrder(true);
- }
- if (status != saveOrderState) {
- TaxiOrderStatusEnum ochStatus = TaxiOrderStatusEnum.valueOf(status);
- switch (ochStatus) {
- case OnTheWayToStart:
- if(dialog!=null&&dialog.isShowing()) {
- dialog.dismiss();
- }
- dialog = null;
- mOrderCancel.setVisibility(View.VISIBLE);
- VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_new_order));
- mTtsLessThan200Tip = 0;
- isFirstStartAutopilotDone = true;
- double orderStartStationLat = order.startSiteGcjPoint.get(1);
- double orderStartStationLng = order.startSiteGcjPoint.get(0);
- startNaviToStation(false, orderStartStationLat, orderStartStationLng);
- setOrRemoveMapMaker(true, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker);
- setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker);
- break;
- case Cancel:
- if(dialog!=null&&dialog.isShowing()) {
- dialog.dismiss();
- }
- dialog = null;
- mCurrentOrder = null;
- mTtsLessThan200Tip = 0;
- isFirstStartAutopilotDone = true;
- mOrderCancel.setVisibility(View.VISIBLE);
- //VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_cancel));
- showOrHideNavi(false);
- setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker);
- setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker);
- break;
- case ArriveAtStart:
- case UserArriveAtStart:
- if(dialog!=null&&dialog.isShowing()) {
- dialog.dismiss();
- }
- dialog = null;
- mTtsLessThan200Tip = 0;
- isFirstStartAutopilotDone = true;
- mOrderCancel.setVisibility(View.VISIBLE);
- if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == ochStatus.getCode()){
- //VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text_check_success));
- }else {
- VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text));
- }
- showOrHideNavi(false);
- setOrRemoveMapMaker(true, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker);
- setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker);
- break;
- case OnTheWayToEnd:
- if(dialog!=null&&dialog.isShowing()) {
- dialog.dismiss();
- }
- dialog = null;
- mOrderCancel.setVisibility(View.VISIBLE);
- if (mTaxiFragment != null) {
- showNaviToEndStationFragment(false);
- }
- setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker);
- setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker);
- break;
- case ArriveAtEnd:
- if(dialog==null){
- dialog = new ItinerarySummaryDialog(getContext(),true,R.style.summary_dialog);
- }
- if(!dialog.isShowing()) {
- dialog.show();
- }
- mTtsLessThan200Tip = 0;
- mOrderCancel.setVisibility(View.GONE);
- //VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_auto_arrive_end_tip));
- showOrHideNavi(false);
- setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker);
- setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker);
- break;
- case JourneyCompleted:
- if(dialog!=null&&dialog.isShowing()) {
- dialog.dismiss();
- }
- dialog = null;
- mCurrentOrder = null;
- mTtsLessThan200Tip = 0;
- isFirstStartAutopilotDone = true;
- mOrderCancel.setVisibility(View.GONE);
- VoiceNotice.showNotice("感谢您使用"+ SkinResources.getInstance().getString(R.string.operation_platform_name)+"智行,再见~");
- showOrHideNavi(false);
- break;
- }
- }
- saveOrderState = status;
- });
- }
-
- private void clearOrderTag() {
- saveOrderState = -1;
- mDistanceAndTime2.setText("距离 - - 公里,用时 - - 分");
- mDistanceAndTime3.setText("距离 - - 公里,用时 - - 分");
- }
-
- /**
- * 是否有正在进行的订单,进行UI显示
- *
- * @param being
- */
- public void isHaveBeingOrder(boolean being) {
- CallerLogger.d(M_TAXI + TAG, "isHaveBeingOrder = " + being);
- try {
- if (being) {
- mNoDataView.setVisibility(View.GONE);
- mBeingOrderLayout.setVisibility(View.VISIBLE);
- } else {
- mNoDataView.setVisibility(View.VISIBLE);
- mNoDatasTv.setText("暂无进行中订单");
- mBeingOrderLayout.setVisibility(View.GONE);
- }
-
- }catch (NullPointerException e){ //可能会出现订单信息已经轮询回来,但进行中页面控件还未初始化完成的情况
- TaxiModel.getInstance().clearCurrentOCHOrder();
- }
- }
-
- @Override
- public void onClick(View v) {
- if (v.getId() == R.id.module_och_taxi_order_server_status_tv) {
- CallerLogger.d(M_TAXI + TAG, mOrderServerStatus.getText().toString());
- startOrEndService();
- } else if (v.getId() == R.id.module_och_taxi_order_cancel_iv) {
- new TaxiOrderCancelDialog(mTaxiFragment, mActivity, mOrderNo, saveOrderState).show();
- } else if (v.getId() == R.id.module_och_taxi_navi_iv) {
- if (mTaxiFragment != null) {
- showNaviToStartStationFragment(true);
- }
- } else if (v.getId() == R.id.module_och_taxi_navi_end_iv){
- // TODO: 2021/11/30 打开去往乘客下车点的导航页面
- if (mTaxiFragment != null) {
- showNaviToEndStationFragment(true);
- }
- }
- }
-
- /**
- * 显示/隐藏 前往乘客上车点的导航
- *
- * @param isShow
- */
- private void showNaviToStartStationFragment(boolean isShow) {
- if (mCurrentOrder != null &&
- mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToStart.getCode()){
- double orderStartStationLat = mCurrentOrder.startSiteGcjPoint.get(1);
- double orderStartStationLng = mCurrentOrder.startSiteGcjPoint.get(0);
- mTaxiFragment.showAmapNaviToStationFragment(isShow);
- startNaviToStation(isShow, orderStartStationLat, orderStartStationLng);
- }
- }
-
- /**
- * 显示/隐藏 前往乘客目的地的导航
- *
- * @param isShow
- */
- private void showNaviToEndStationFragment(boolean isShow) {
- mTaxiFragment.startNaviToEndStation(isShow);
- }
-
-
- public void onCurrentOrderCancelDone() {
- //去除起终点
- if (mCurrentOrder != null){
- setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,mCurrentOrder.startSitePoint,R.raw.star_marker);
- setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,mCurrentOrder.endSitePoint,R.raw.end_marker);
- }
- //提交取消订单后的回调
- ToastUtils.showShort("订单取消成功");
- //更新界面
- isHaveBeingOrder(false);
- showOrHideNavi(false);
- clearOrderTag();
- }
-
- /**
- * 订单流转debug START
- */
- private void initOrderTestBar() {
- mOrderStatus.setOnLongClickListener(v -> {
- mTaxiFragment.clickTestBar();
- return false;
- });
- }
-
- @Override
- public void onCurrentNaviDistAndTimeChanged(int meters, long timeInSecond) {
- updateDistanceAndTime(meters, timeInSecond);
- if (mCurrentOrder != null
- && mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()){
- mTaxiFragment.reportToEndDisAndTime(meters, timeInSecond);
- }
- }
-
- @Override
- public void reInitNaviAmap(boolean isPlay, boolean isRestart) {
- CallerLogger.d(M_TAXI + TAG, "isPlay = " + isPlay + ", isRestart=" + isRestart);
- if (!isRestart) {
- mTaxiFragment.showAmapNaviToStationFragment(false);
- return;
- }
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- if (mCurrentOrder != null &&
- mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToStart.getCode()) {
- double orderStartStationLat = mCurrentOrder.startSiteGcjPoint.get(1);
- double orderStartStationLng = mCurrentOrder.startSiteGcjPoint.get(0);
- startNaviToStation(false, orderStartStationLat, orderStartStationLng);
- }
- }
- }, 2000);
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- if (mCurrentOrder != null &&
- mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToStart.getCode()) {
- if (mNaviStartIcon.getVisibility() == View.GONE) {
- mNaviStartIcon.setVisibility(View.VISIBLE);
- }
- }
- if (mCurrentOrder != null &&
- mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()){
- if (mNaviToEndIcon.getVisibility() == View.GONE) {
- mNaviToEndIcon.setVisibility(View.VISIBLE);
- }
- }
- }
- }, 3000);
- }
-
- public void onNaviToEndAmap(boolean isShow) {
- if (mCurrentOrder != null &&
- mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()){
- double orderEndStationLat = mCurrentOrder.endSiteGcjPoint.get(1);
- double orderEndStationLng = mCurrentOrder.endSiteGcjPoint.get(0);
- mTaxiFragment.showAmapNaviToStationFragment(isShow);
- startNaviToStation(isShow,orderEndStationLat,orderEndStationLng);
- }
- }
-
- /**
- * 绘制地图起点终点
- * @param isAdd
- * @param uuid
- * @param station
- */
- private void setOrRemoveMapMaker(boolean isAdd, String uuid, List station,int resourceId){
- if (isAdd){
- //开启线程执行起终点marker设置
- Runnable setMapMarkerRunnable = () -> {
- CallerLogger.d(M_TAXI + "setMapMaker= " + Thread.currentThread().getName(),
- uuid + "=latitude=" + station.get(1) + ",longitude=" + station.get(0));
-
- Point.Options.Builder builder = new Point.Options.Builder(TaxiConst.TYPE_MARKER_TAXI_ORDER, Level.MAP_MARKER)
- .setId(uuid)
- .anchor(0.5f, 0.5f)
- .set3DMode(true)
- .isUseGps(true)
- .controlAngle(false)
- .icon3DRes(resourceId)
- .latitude(station.get(1))
- .longitude(station.get(0));
- IMoGoOverlayManager overlayManager = CallerMapUIServiceManager.INSTANCE.getOverlayManager();
- if (overlayManager != null) {
- overlayManager.showOrUpdatePoint(builder.build(),DEFAULT);
- }
- };
- OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable);
- }else {
- //开启线程移除起终点marker设置
- Runnable removeMapMarkerRunnable = () -> {
- CallerLogger.d(M_TAXI + "RemoveMapMaker=" + Thread.currentThread().getName(),
- uuid + "=latitude=" + station.get(1) + ",longitude=" + station.get(0));
-// Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMarkerManager(AbsMogoApplication.getApp())).removeMarkers(uuid);
- IMoGoOverlayManager overlayManager = CallerMapUIServiceManager.INSTANCE.getOverlayManager();
- if (overlayManager != null) {
- overlayManager.removePoint(uuid);
- }
- };
- OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable);
- }
- }
-
- public void updateOrderBottomBtnUI() {
- try {
- ToastUtils.showLong(ResourcesUtils.getString(
- R.string.module_och_taxi_order_choose_start_autopilot_tip));
- showOrHideOrderModeBtn(false);
- updateOrderBottomBtn(getString(R.string.module_och_taxi_order_server_wait_passenger_start),
- Color.parseColor("#4DFFFFFF"),
- Color.parseColor("#FF1D5EF3"),
- false);
- }catch (NullPointerException e){
- mTaxiFragment.confirmAutopilotConditionByDriver();
- }
- }
-
- public void updateOrderBottomBtn(String txt, int txtColorId, int bgColorId,boolean isClickable){
- mOrderServerStatus.setText(txt);
- mOrderServerStatus.setTextColor(txtColorId);
- GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类
- background.setColor(bgColorId);
- mOrderServerStatus.setClickable(isClickable);
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java
deleted file mode 100644
index 687e46fb88..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java
+++ /dev/null
@@ -1,401 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import android.os.Build;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
-import androidx.fragment.app.FragmentTransaction;
-
-import com.mogo.eagle.core.data.temp.EventLogout;
-import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.map.overlay.IMoGoOverlayManager;
-import com.mogo.och.common.module.biz.login.LoginStatusManager;
-import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum;
-import com.mogo.och.taxi.R;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean;
-import com.mogo.och.taxi.model.TaxiModel;
-import com.mogo.och.taxi.presenter.TaxiPresenter;
-import com.mogo.och.taxi.utils.TPRouteDataTestUtils;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.lang.ref.WeakReference;
-import java.util.List;
-
-/**
- * @author congtaowang
- * @since 2021/1/18
- *
- * 网约车-出租车UI
- */
-public class TaxiFragment extends BaseTaxiTabFragment implements ITaxiView {
-
- public static final String TAG = "TaxiFragment";
-
- public static TaxiFragment newInstance() {
-
- Bundle args = new Bundle();
-
- TaxiFragment fragment = new TaxiFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- // 抢单信息
- private WeakReference grabOrderFragmentWR;
- // 待服务信息
- private WeakReference serverOrdersFragmentWR;
-
-
- @Override
- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- }
-
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- EventBus.getDefault().register(this);
- return super.onCreateView(inflater, container, savedInstanceState);
- }
-
-// @Override
-// public int getStationPanelViewId() {
-// return R.layout.taxi_panel;
-// }
-//
-// @Override
-// public void startAutopilot() {
-// // 在自动驾驶中,或者自己确认车辆环境可开启自动驾驶 则可点击
-// if ((mPresenter.getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd ||
-// mPresenter.getCurOrderStatus() == TaxiOrderStatusEnum.UserArriveAtStart)
-// && !isStarting) {
-// CallerLogger.d(M_TAXI + TAG, "startAutopilot");
-// mPresenter.startAutoPilot();
-// }
-// }
-
- @Override
- public void startNaviToEndStation(boolean isShow) {
- mPresenter.startNaviToEndStation(isShow);
- }
-
- @Override
- public String getTagName() {
- return "TaxiFragment";
- }
-
- @Override
- protected void initViews() {
- super.initViews();
- initFragment();
- initOrderTestBar();
- }
-
- private void initFragment() {
-// serverOrdersFragmentWR = new WeakReference<>(TaxiServerOrdersFragment.newInstance());
-//// grabOrderFragmentWR = new WeakReference<>(TaxiGrabOrderFragment.newInstance());
-// FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
-// //默认显示OCHTaxiServerOrdersFragment
-// transaction.add(R.id.fragment_container, serverOrdersFragmentWR.get()).show(serverOrdersFragmentWR.get());
-// transaction.add(R.id.fragment_container, grabOrderFragmentWR.get()).hide(grabOrderFragmentWR.get());
-// transaction.commitAllowingStateLoss();
- }
-
- private void showGrabFragmentAndUpdate() {
-// FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
-// if (grabOrderFragmentWR == null || grabOrderFragmentWR.get() == null) {
-// grabOrderFragmentWR = new WeakReference<>(TaxiGrabOrderFragment.newInstance());
-// transaction.add(R.id.fragment_container, grabOrderFragmentWR.get())
-// .show(grabOrderFragmentWR.get()).commitAllowingStateLoss();
-// } else {
-// transaction.show(grabOrderFragmentWR.get()).hide(serverOrdersFragmentWR.get()).commitAllowingStateLoss();
-// }
- }
-
- public void showServerFragmentAndUpdate() {
-// FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
-// if (serverOrdersFragmentWR == null || serverOrdersFragmentWR.get() == null) {
-// serverOrdersFragmentWR = new WeakReference<>(TaxiServerOrdersFragment.newInstance());
-// transaction.add(R.id.fragment_container, serverOrdersFragmentWR.get())
-// .show(serverOrdersFragmentWR.get());
-// } else {
-// transaction.show(serverOrdersFragmentWR.get()).hide(grabOrderFragmentWR.get()).commitAllowingStateLoss();
-// }
- }
-
- @NonNull
- @Override
- protected TaxiPresenter createPresenter() {
- return new TaxiPresenter(this);
- }
-
- @Override
- protected void onChangeOperationStatus() {
- mPresenter.updateCarStatus();
- }
-
- @Override
- public void onDestroyView() {
- EventBus.getDefault().unregister(this);
- if (mPresenter != null) {
- mPresenter.onDestroy(this);
- }
- super.onDestroyView();
- }
-
- public void updateAutopilotStatus(int status,boolean canStart) {
- onAutopilotStatusChanged(status,canStart);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.P)
- public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
-// if (serverOrdersFragmentWR != null && serverOrdersFragmentWR.get() != null) {
-// serverOrdersFragmentWR.get().updateCurrentOrderStatusChanged(order);
-// }
- updateTaxiTestBarInfo(); //更新调试bar中信息
- }
-
- public void confirmAutopilotConditionByDriver(){
- mPresenter.confirmAutopilotConditionByDriver();
- }
-
- public void jumpPassengerCheckDone(){
- mPresenter.jumpPassengerCheckDone();
- }
-
- public void completeOrderService() {
- mPresenter.completeOrderService();
- }
-
- public void startManualDirve(){
- mPresenter.startManualDrive();
- }
-
- public void cancelCurOrder(int reasonType, String reaso) {
- mPresenter.cancelCurOrder(reasonType, reaso);
- }
-
- public void cancelOrderById(String orderNo, int reasonType, String reason) {
- mPresenter.cancelOrderById(orderNo, reasonType, reason);
- }
-
- public void onCurrentOrderCancelDone(){
- startOrStopLoadingAnim(false);
- /** 2023.12.18 1.去除"自驾/安全"模式选择,默认自驾模式且无需点击;
- * 2.server去除订单流转对"安全确认"的限制(读写接口默认反馈ok,但"开启自动驾驶成功"不再限制)
- */
- updateCtvAutopilotStatusTag(false);
-
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().onCurrentOrderCancelDone();
- }
-
- public void onOrderCancelDone(String orderNo) {
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().onOrderCancelDone(orderNo);
- }
-
- @Override
- protected void updateOrderBottomBtnUI() {
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().updateOrderBottomBtnUI();
- }
-
- public void onNewBookingOrderGot(OrderQueryRespBean.Result order) {
- if (null == order) return;
- showGrabFragmentAndUpdate();
- grabOrderFragmentWR.get().updateGrabOrder(order);
- }
-
- public void grabOrder() {
- mPresenter.grabOrder();
- }
-
- public void cancelNewBookingOrder() {
- mPresenter.cancelNewBookingOrder();
- showServerFragmentAndUpdate();
- }
-
- public void onGrabOrderExecuteDone() {
- if (null == grabOrderFragmentWR || grabOrderFragmentWR.get() == null) return;
- grabOrderFragmentWR.get().onGrabOrderExecuteDone();
- }
-
- public void onGrabOrderSuccess(OrderQueryRespBean.Result order) {
- if (null == grabOrderFragmentWR || grabOrderFragmentWR.get() == null) return;
- if (null == order) {
- showServerFragmentAndUpdate();
- return;
- }
- showGrabFragmentAndUpdate();
- grabOrderFragmentWR.get().onGrabOrderSuccess();
- }
-
- public void onGrabOrderFailed(OrderQueryRespBean.Result order) {
- if (order == null) {
- showServerFragmentAndUpdate();
- return;
- }
- if (null == grabOrderFragmentWR || grabOrderFragmentWR.get() == null) return;
- showGrabFragmentAndUpdate();
- grabOrderFragmentWR.get().onGrabOrderFailed();
- }
-
- public void onNaviToEnd(boolean isAmap , boolean isShow){
- if (isAmap){
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().onNaviToEndAmap(isShow);
- }else if (isShow){ //使用rotting数据
- showRottingToStationFragment(true);
- }else {
- showAmapNaviToStationFragment(false);
- }
- }
-
- public void closeOrderByMan(){
- mPresenter.closeOrderByMan();
- }
-
- /**
- * 高德计算出来的到达目的地的剩余里程和时间
- * @param meters
- * @param timeInSecond
- */
- public void reportToEndDisAndTime(int meters, long timeInSecond){ //米/秒
- mPresenter.reportToEndDisAndTime(Long.parseLong(String.valueOf(meters)),timeInSecond);
- }
-
-
- public void onOrdersWaitServiceChanged(List waitServiceList) {
- if (null == waitServiceList) return;
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().onOrdersWaitServiceChanged(waitServiceList);
- }
-
- public void queryCurOrderRouteInfo() {
- mPresenter.queryCurOrderRouteInfo();
- }
-
- public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo) {
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().onCurrentOrderRouteInfoGot(routeInfo);
- }
-
- public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond) {
- if (null == serverOrdersFragmentWR || serverOrdersFragmentWR.get() == null) return;
- serverOrdersFragmentWR.get().onCurrentOrderDistToEndChanged(meters, timeInSecond);
- }
-
- /**
- * 订单流转debug START
- */
- public void initOrderTestBar() {
-// findViewById(R.id.test_bar_to_start).setOnClickListener(v -> {
-// TaxiModel.getInstance().setArriveAtStartStation();
-// });
-// findViewById(R.id.test_bar_to_end).setOnClickListener(v -> {
-// TaxiModel.getInstance().setArriveAtEndStation();
-// });
-// findViewById(R.id.test_bar_start_service_confirm).setOnClickListener(v -> {
-// TaxiModel.getInstance().setDriverConfirmCondition();
-// });
-// findViewById(R.id.test_bar_on_the_way_to_end).setOnClickListener(v -> {
-// if (!isStarting){
-// mPresenter.startAutoPilot();
-// }
-// TaxiModel.getInstance().setOnTheWayToEndStation();
-// });
-// findViewById(R.id.test_bar_route).setOnClickListener(v -> {
-// testRouteInfoUpload();
-// });
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void changeOverview(EventLogout eventLogout){
- if (eventLogout.getMessgae() == EventLogout.LOGOUT_TYPE){
- CallerLogger.d(M_TAXI + TAG,"changeOverview Event消息去登出");
- mPresenter.logout();
- }
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void openOperationalInfoView(EventLogout eventLogout){
-// if (eventLogout.getMessgae() == EventLogout.PERSONAL_TYPE){
-// CallerLogger.d(M_TAXI + TAG,"openOperationalInfoView Event个人中心");
-// openOperationalInfoView();
-// }
- }
-
-
- private void testRouteInfoUpload() {
- TPRouteDataTestUtils.converToRouteData();
- }
-
- //region Taxi调试信息:订单、线路、轨迹等信息
- private View testBar;
- private TextView testCurOrderId;
- private TextView testCurLineId;
- private TextView testCurLineName;
- private TextView testCurTrajMd5;
- private TextView testCurStopMd5;
- private TextView testCurTrajMd5DPQP;
- private TextView testCurStopMd5DPQP;
-
- public void clickTestBar() {
- if (testBar == null) {
- testBar = findViewById(R.id.module_och_taxi_order_status_change_test_bar);
- testCurOrderId = findViewById(R.id.test_bar_current_order_id);
- testCurLineId = findViewById(R.id.test_bar_current_line_id);
- testCurLineName = findViewById(R.id.test_bar_current_line_name);
- testCurTrajMd5 = findViewById(R.id.test_bar_current_traj_md5);
- testCurStopMd5 = findViewById(R.id.test_bar_current_stop_md5);
- testCurTrajMd5DPQP = findViewById(R.id.test_bar_current_traj_md5_dpqp);
- testCurStopMd5DPQP = findViewById(R.id.test_bar_current_stop_md5_dpqp);
- }
-
- if (testBar.getVisibility() == View.VISIBLE) {
- testBar.setVisibility(View.GONE);
- } else {
- OrderQueryRespBean.Result order = TaxiModel.getInstance().getCurrentOCHOrder();
- testCurOrderId.setText("orderNo:" + (order == null ? "" : String.valueOf(order.orderNo)));
- testCurLineId.setText("lineId:" + (order == null ? "" : String.valueOf(order.lineId)));
- testCurLineName.setText("lineName:" + (order == null ? "" : order.lineName));
- testCurTrajMd5.setText("TMd5:" + (order == null ? "" : order.csvFileMd5));
- testCurStopMd5.setText("SMd5:" + (order == null ? "" : order.txtFileMd5));
- testCurTrajMd5DPQP.setText("TMd5DPQP:" + (order == null ? "" : order.csvFileMd5DPQP));
- testCurStopMd5DPQP.setText("SMd5DPQP:" + (order == null ? "" : order.txtFileMd5DPQP));
- testBar.setVisibility(View.VISIBLE);
- }
- }
-
- private void updateTaxiTestBarInfo() {
- if (testBar != null && testBar.getVisibility() == View.VISIBLE) {
- OrderQueryRespBean.Result order = TaxiModel.getInstance().getCurrentOCHOrder();
- testCurOrderId.setText("orderNo:" + (order == null ? "" : String.valueOf(order.orderNo)));
- testCurLineId.setText("lineId:" + (order == null ? "" : String.valueOf(order.lineId)));
- testCurLineName.setText("lineName:" + (order == null ? "" : order.lineName));
- testCurTrajMd5.setText("TMd5:" + (order == null ? "" : order.csvFileMd5));
- testCurStopMd5.setText("SMd5:" + (order == null ? "" : order.txtFileMd5));
- testCurTrajMd5DPQP.setText("TMd5DPQP:" + (order == null ? "" : order.csvFileMd5DPQP));
- testCurStopMd5DPQP.setText("SMd5DPQP:" + (order == null ? "" : order.txtFileMd5DPQP));
- }
- }
-
- //endregion
-
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java
deleted file mode 100644
index 1f560df896..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import android.graphics.Color;
-import android.graphics.drawable.AnimationDrawable;
-import android.os.Bundle;
-import android.os.CountDownTimer;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.constraintlayout.widget.ConstraintLayout;
-
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.och.common.module.utils.DateTimeUtil;
-import com.mogo.och.common.module.voice.VoiceNotice;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-
-import java.util.Calendar;
-
-/**
- * @author: wangmingjun
- * @date: 2021/9/9
- */
-public class TaxiGrabOrderFragment extends BaseTaxiUIFragment implements View.OnClickListener {
-
- private TextView mOrderReserverTime;
- private TextView mOrderGrabBt;
- private TextView mOrderStartStation;
- private TextView mOrderEndStation;
- private TextView mOrderStartTitle;
- private TextView mOrderEndTitle;
- private ImageView mOrderCancelIv;
- private ImageView mGrabResultAnimView;
- private AnimationDrawable mGrabSuccessAnim;
- private AnimationDrawable mGrabFailureAnim;
- private CountDownTimer countDownTimer = null;
-
- public static TaxiGrabOrderFragment newInstance() {
-
- Bundle args = new Bundle();
-
- TaxiGrabOrderFragment fragment = new TaxiGrabOrderFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_order_grab_view;
- }
-
- @Override
- protected void initViews(View view) {
- mOrderReserverTime = view.findViewById(R.id.grab_order_reserver_time);
- mOrderCancelIv = view.findViewById(R.id.grab_order_cancel_iv);
- mOrderGrabBt = view.findViewById(R.id.grab_order_tv);
- mOrderStartStation = view.findViewById(R.id.grab_order_start_station);
- mOrderEndStation = view.findViewById(R.id.grab_order_end_station);
- mOrderEndTitle = view.findViewById(R.id.grab_order_end_station_title);
- mOrderStartTitle = view.findViewById(R.id.grab_order_start_station_title);
- mGrabResultAnimView = view.findViewById(R.id.grab_result_anim);
- mGrabResultAnimView.setVisibility(View.GONE);
- mOrderEndTitle.setVisibility(View.VISIBLE);
- mOrderStartTitle.setVisibility(View.VISIBLE);
-
- mOrderCancelIv.setOnClickListener(this);
- mOrderGrabBt.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- if (v.getId() == R.id.grab_order_cancel_iv){//关闭抢单,如果是在抢单中,则只关闭界面,还继续抢单
- if (mOrderGrabBt.getText().toString().equals("抢单中...")){
- getOchTaxiFragment().showServerFragmentAndUpdate();
- return;
- }
- if (null != countDownTimer){
- countDownTimer.cancel();
- }
- VoiceNotice.stopCurrentTts();//中断当前在播语音
- getOchTaxiFragment().cancelNewBookingOrder();
- }else if (v.getId() == R.id.grab_order_tv){
- if (!mOrderGrabBt.getText().toString().equals("抢单中...")){
- getOchTaxiFragment().grabOrder();
- }
- }
- }
- private TaxiFragment getOchTaxiFragment(){
- return (TaxiFragment)getParentFragment();
- }
- public void updateGrabOrder(OrderQueryRespBean.Result order){
- mGrabResultAnimView.setVisibility(View.GONE);
- Calendar calendar = DateTimeUtil.formatLongToCalendar(order.bookingTime);
- if (DateTimeUtil.compareDateIsCurrentDay(calendar)){
- mOrderReserverTime.setText("用车时间:今天 "+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.HH_mm));
-// VoiceNotice.showNotice("预约单,今天"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.HH_mm)+"从"
-// +order.startSiteAddr+"到"+order.endSiteAddr);
- }else {
- mOrderReserverTime.setText("用车时间:"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.MM_dd_HH_mm));
-// VoiceNotice.showNotice("预约单,"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.MM_dd)+"从"
-// +order.startSiteAddr+"到"+order.endSiteAddr);
- }
- mOrderStartStation.setText(order.startSiteAddr);
- mOrderEndStation.setText(order.endSiteAddr);
- mOrderGrabBt.setClickable(true);
- mOrderGrabBt.setTextColor(Color.parseColor("#FFFFFF"));
- ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams)mOrderGrabBt.getLayoutParams();
- lp.bottomMargin = 3;
- mOrderGrabBt.setLayoutParams(lp);
- mOrderGrabBt.setBackgroundResource(R.drawable.shape_size_grab_order_bt);
- mOrderGrabBt.setText("抢单(10S)"); //开始倒计时任务
- countDownTimer = new CountDownTimer(11000,1000){
-
- @Override
- public void onTick(long millisUntilFinished) {
- mOrderGrabBt.setText("抢单"+"("+millisUntilFinished/1000+")");
- }
-
- @Override
- public void onFinish() {//结束倒计时,不抢单
- cancel();
- getOchTaxiFragment().cancelNewBookingOrder();
- }
- }.start();
- }
- public void onGrabOrderExecuteDone(){//进入抢单状态,btn样式改变,并不可点击
- if (null != countDownTimer){
- countDownTimer.cancel();
- }
- mOrderGrabBt.setText("抢单中...");
- ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams)mOrderGrabBt.getLayoutParams();
- lp.bottomMargin = 40;
- mOrderGrabBt.setLayoutParams(lp);
- mOrderGrabBt.setTextColor(Color.parseColor("#181D6D"));
- mOrderGrabBt.setBackground(getResources().getDrawable(R.drawable.taxi_grabing_order_btn_bg));
- mOrderGrabBt.setClickable(false);
- }
-// 接单成功,语音播报“抢单成功,请合理安排后续行程接送乘客”
-// 接单未成功,语音播报“接单失败,请继续接单”
- public void onGrabOrderSuccess(){//抢单成功,更新btn 和 动画 语音
- VoiceNotice.showNotice("抢单成功,请合理安排后续行程接送乘客");
- mGrabResultAnimView.setVisibility(View.VISIBLE);
- mGrabResultAnimView.setImageDrawable(getResources().getDrawable(R.drawable.grab_success_anmi_flow));
- mOrderGrabBt.setClickable(false);
- mOrderGrabBt.setText("抢单成功!");
- mGrabSuccessAnim = (AnimationDrawable)mGrabResultAnimView.getDrawable();
- if (mGrabSuccessAnim.isOneShot()){
- return;
- }
- mGrabSuccessAnim.start();
- //开启动画结束的监听
- long delayMillis = (long) mGrabSuccessAnim.getDuration(0) * mGrabSuccessAnim.getNumberOfFrames();
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- if (null != mGrabSuccessAnim && mGrabSuccessAnim.isRunning()){
- mGrabSuccessAnim.stop();
- }
- // if (mGrabSuccessAnim.getFrame(mGrabSuccessAnim.getNumberOfFrames()-1) == mGrabSuccessAnim.getCurrent()){
- getOchTaxiFragment().showServerFragmentAndUpdate();
-// }
- }
- },delayMillis);
- //开启动画结束的监听
- }
- public void onGrabOrderFailed(){//抢单失败,更新btn 和 动画 语音
- VoiceNotice.showNotice("接单失败,请继续接单");
- mGrabResultAnimView.setVisibility(View.VISIBLE);
- mGrabResultAnimView.setImageDrawable(getResources().getDrawable(R.drawable.grab_failure_anmi_flow));
- mOrderGrabBt.setClickable(false);
- mOrderGrabBt.setText("抢单失败!");
- mGrabFailureAnim = (AnimationDrawable)mGrabResultAnimView.getDrawable();
- mGrabFailureAnim.start();
- //开启动画结束的监听
- long delayMillis = (long) mGrabFailureAnim.getDuration(0) * mGrabFailureAnim.getNumberOfFrames();
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- if (null != mGrabFailureAnim && mGrabFailureAnim.isRunning()){
- mGrabFailureAnim.stop();
- }
- getOchTaxiFragment().showServerFragmentAndUpdate();
- }
- },delayMillis);
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- if (countDownTimer != null) countDownTimer.cancel();
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.kt
deleted file mode 100644
index 8893f36bd6..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.kt
+++ /dev/null
@@ -1,290 +0,0 @@
-package com.mogo.och.taxi.ui
-
-import android.content.Context
-import android.os.Bundle
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import android.view.MotionEvent
-import android.widget.RelativeLayout
-import com.amap.api.maps.AMap
-import com.amap.api.maps.CameraUpdateFactory
-import com.amap.api.maps.TextureMapView
-import com.amap.api.maps.model.BitmapDescriptor
-import com.amap.api.maps.model.BitmapDescriptorFactory
-import com.amap.api.maps.model.CameraPosition
-import com.amap.api.maps.model.CustomMapStyleOptions
-import com.amap.api.maps.model.LatLng
-import com.amap.api.maps.model.LatLngBounds
-import com.amap.api.maps.model.Marker
-import com.amap.api.maps.model.MarkerOptions
-import com.amap.api.maps.model.Polyline
-import com.amap.api.maps.model.PolylineOptions
-import com.mogo.eagle.core.data.map.MogoLocation
-import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
-import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
-import com.mogo.och.taxi.R
-import com.mogo.och.taxi.utils.TaxiMapAssetStyleUtil
-
-/**
- * taxi司机端前往目的地小地图导航
- */
-class TaxiMapDirectionView @JvmOverloads constructor(
- context: Context,
- attrs: AttributeSet? = null,
- defStyleAttr: Int = 0
-) : RelativeLayout(context, attrs, defStyleAttr), IMoGoChassisLocationGCJ02Listener,
- ITaxiMapDirectionView, AMap.OnCameraChangeListener {
- private lateinit var mAMapNaviView: TextureMapView
- private lateinit var mAMap: AMap
- private var mCarMarker: Marker? = null
- private lateinit var mStartMarker: Marker
- private lateinit var mEndMarker: Marker
- private val zoomLevel = 13
- private val routeArrivied: MutableList = ArrayList()
- private val routeArriving: MutableList = ArrayList()
- private var location: MogoLocation? = null
- private var startStation: LatLng? = null
- private var endStation: LatLng? = null
- private var mPolyline: Polyline? = null
- var textureList: MutableList = ArrayList()
- var texIndexList: MutableList = ArrayList()
- private var mArrivedRes: BitmapDescriptor? = null
- private var mUnArrivedRes: BitmapDescriptor? = null
-
- init {
- try {
- initView(context)
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- private fun initView(context: Context) {
- d(SceneConstant.M_TAXI + TAG, "initView")
- val smpView = LayoutInflater.from(context).inflate(R.layout.taxi_map_view, this)
- mAMapNaviView = smpView.findViewById(R.id.taxi_amap_view)
- initAMapView()
-
- // 注册定位监听
- OchLocationManager.addGCJ02Listener(TAG, 3, this)
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
- // 注册定位监听
- OchLocationManager.removeGCJ02Listener(TAG)
- }
-
- private fun initAMapView() {
- val mCameraUpdate = CameraUpdateFactory.zoomTo(zoomLevel.toFloat())
- mAMap = mAMapNaviView.map
- // 设置导航地图模式,aMap是地图控制器对象。
- mAMap.mapType = AMap.MAP_TYPE_NIGHT
-
- // 关闭显示实时路况图层,aMap是地图控制器对象。
- mAMap.isTrafficEnabled = false
-
- // 设置 锚点 图标
- mCarMarker = mAMap.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_map_car)).anchor(0.5f, 0.5f))
- mStartMarker = mAMap.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_map_view_dir_start)))
- mEndMarker = mAMap.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_map_view_dir_end)))
- mStartMarker.isVisible = false
- mEndMarker.isVisible = false
- mArrivedRes = BitmapDescriptorFactory.fromResource(R.drawable.taxi_map_arrow_arrived)
- mUnArrivedRes = BitmapDescriptorFactory.fromResource(R.drawable.taxi_map_arrow_un_arrive)
-
- // 加载自定义样式
- val customMapStyleOptions = CustomMapStyleOptions()
- .setEnable(true)
- .setStyleData(TaxiMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
- .setStyleExtraData(
- TaxiMapAssetStyleUtil.getAssetsExtraStyle(
- context,
- "map_style_extra.data"
- )
- )
- // 设置自定义样式
- mAMap.setCustomMapStyle(customMapStyleOptions)
-
- //设置希望展示的地图缩放级别
- mAMap.moveCamera(mCameraUpdate)
-
- // 设置地图的样式
- mAMap.uiSettings.apply {
- isZoomControlsEnabled = false // 地图缩放级别的交换按钮
- setAllGesturesEnabled(false) // 所有手势
- isMyLocationButtonEnabled = false // 显示默认的定位按钮
- setLogoBottomMargin(-150) //设置Logo下边界距离屏幕底部的边距,设置为负值即可
- }
- mAMap.setOnMapLoadedListener(AMap.OnMapLoadedListener {
- d(SceneConstant.M_TAXI + TAG, "smp---onMapLoaded")
- // 加载自定义样式
- val customMapStyleOptions = CustomMapStyleOptions()
- .setEnable(true)
- .setStyleData(TaxiMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
- .setStyleExtraData(
- TaxiMapAssetStyleUtil.getAssetsExtraStyle(
- context,
- "map_style_extra.data"
- )
- )
- // 设置自定义样式
- mAMap.setCustomMapStyle(customMapStyleOptions)
- mAMapNaviView.map.setPointToCenter(
- mAMapNaviView.width / 2,
- mAMapNaviView.height / 2
- )
- })
-
- //设置地图状态的监听接口
- mAMap.setOnCameraChangeListener(this)
- }
-
- override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
- return true
- }
-
- override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) {
- if (mogoLocation == null) {
- return
- }
- try {
- val currentLatLng = LatLng(mogoLocation.latitude, mogoLocation.longitude)
- if (mPolyline != null && mPolyline!!.points.size > 1) {
- val points = mPolyline!!.points
- //圈定地图显示范围
- val endLatLng = points[points.size - 1]
- //存放经纬度
- val boundsBuilder = LatLngBounds.Builder()
- boundsBuilder.include(currentLatLng)
- boundsBuilder.include(endLatLng)
- //第二个参数为四周留空宽度
- mAMap.moveCamera(
- CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(), 100, 100, 100, 100)
- )
- } else {
- //设置希望展示的地图缩放级别
- val cameraPosition = CameraPosition.Builder()
- .target(mCarMarker!!.position).tilt(0f).bearing(mogoLocation.heading.toFloat())
- .zoom(zoomLevel.toFloat()).build()
- mAMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition))
- }
- //更新车辆位置
- if (mCarMarker != null) {
- mCarMarker!!.rotateAngle = (360 - mogoLocation.heading).toFloat()
- mCarMarker!!.position = currentLatLng
- mCarMarker!!.setToTop()
- }
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- override fun setLineMarker() {
- if (mStartMarker.isVisible && mEndMarker.isVisible
- ) {
- return
- }
- if (startStation != null && endStation != null) {
- // 设置开始结束Marker位置
- mStartMarker.position = startStation
- mStartMarker.isVisible = true
- mEndMarker.position = endStation
- mEndMarker.isVisible = true
- }
- }
-
- override fun drawablePolyline() {
- if (routeArrivied.isEmpty() && routeArriving.isEmpty()) {
- d(SceneConstant.M_TAXI + TAG, "没有点")
- return
- }
- texIndexList.clear()
- val allPoints = ArrayList(routeArrivied)
- for (i in routeArrivied.indices) {
- if (routeArrivied.size > 1 && i < routeArrivied.size - 1) {
- texIndexList.add(0)
- }
- }
- texIndexList.add(0)
- allPoints.add(LatLng(location!!.latitude, location!!.longitude))
- allPoints.addAll(routeArriving)
- for (ignored in routeArrivied) {
- texIndexList.add(1)
- }
- if (mPolyline != null) {
- mPolyline!!.points = allPoints
- mPolyline!!.options.customTextureIndex = texIndexList
- return
- }
- if(textureList.isEmpty()) {
- textureList.add(mArrivedRes)
- textureList.add(mUnArrivedRes)
- }
- //设置线段纹理
- val polylineOptions = PolylineOptions().apply {
- addAll(allPoints)
- isUseTexture = true
- width(15f)
- lineCapType(PolylineOptions.LineCapType.LineCapRound)
- customTextureList = textureList
- customTextureIndex = texIndexList
- }
-
- // 绘制线
- mPolyline = mAMap.addPolyline(polylineOptions)
- }
-
- override fun clearPolyline() {
- if (mPolyline != null) {
- mPolyline!!.remove()
- mPolyline = null
- }
- mStartMarker.isVisible = false
- mEndMarker.isVisible = false
- }
-
- fun onCreateView(savedInstanceState: Bundle?) {
- mAMapNaviView.onCreate(savedInstanceState)
- }
-
- fun onResume() {
- mAMapNaviView.onResume()
- }
-
- fun onPause() {
- mAMapNaviView.onPause()
- }
-
- fun onDestroy() {
- mAMapNaviView.onDestroy()
- mAMap.clear()
- }
-
- fun setStartMarkAndEndMark(startStation: LatLng?, endStation: LatLng?) {
- this.startStation = startStation
- this.endStation = endStation
- }
-
- fun setCoordinatesLatLng(
- routeArrivied: List?,
- routeArriving: List?,
- location: MogoLocation?
- ) {
- this.routeArrivied.clear()
- this.routeArrivied.addAll(routeArrivied!!)
- this.routeArriving.clear()
- this.routeArriving.addAll(routeArriving!!)
- this.location = location
- }
-
- override fun onCameraChange(cameraPosition: CameraPosition) {}
- override fun onCameraChangeFinish(cameraPosition: CameraPosition) {}
-
- companion object {
- //小地图名称
- const val TAG = "TaxiMapDirectionView"
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOperationDatasFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOperationDatasFragment.java
deleted file mode 100644
index aaea75f515..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOperationDatasFragment.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.text.Html;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.mogo.och.common.module.utils.DateTimeUtil;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.model.TaxiModel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author: wangmingjun
- * @date: 2021/9/10
- */
-public class TaxiOperationDatasFragment extends BaseTaxiUIFragment {
-
- private RecyclerView mRecyclerView;
- private static Context mContext;
- private List mDurationData = new ArrayList<>();
- private List mOrderNumData = new ArrayList<>();
- private List mData = new ArrayList<>();
- private static int mType = 0;//0: 运营时长 1:运营单数
- private OperationDataAdapter mAdapter;
-
- public static TaxiOperationDatasFragment newInstance(Context context, int type) {
- mContext = context;
- mType = type;
- Bundle args = new Bundle();
- TaxiOperationDatasFragment fragment = new TaxiOperationDatasFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_operation_data_view;
- }
-
- @Override
- protected void initViews(View view) {
- mRecyclerView = view.findViewById(R.id.operation_data_recycler_view);
- mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext));
- mAdapter = new OperationDataAdapter(mContext, mData);
- mRecyclerView.setAdapter(mAdapter);
- initDatas();
- }
-
- private void initDatas() {
- TaxiModel.getInstance().queryDriverServiceData();
- }
-
- public void setmType(int type) {
- mType = type;
- mData.clear();
- if (mType == 0){
- mData.addAll(mDurationData);
- }else if (mType == 1){
- mData.addAll(mOrderNumData);
- }
- if (mAdapter != null) mAdapter.notifyDataSetChanged();
- }
-
- public void updateData(long dailyTimeDuration, long dailyOrderNum) {
- mDurationData.clear();
- mOrderNumData.clear();
- mData.clear();
- mDurationData.add(dailyTimeDuration);
- mOrderNumData.add(dailyOrderNum);
- mData.addAll(mDurationData);
- if (mAdapter != null) mAdapter.notifyDataSetChanged();
- }
-
- class OperationDataAdapter extends RecyclerView.Adapter {
- private List datas;
- private Context context;
-
- public OperationDataAdapter(Context context, List datas) {
- this.datas = datas;
- this.context = context;
- }
-
- @NonNull
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.taxi_operation_data_item_view, parent, false);
- OperationDataViewHolder viewHolder = new OperationDataViewHolder(view);
- return viewHolder;
- }
-
- @Override
- public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
- if (holder instanceof OperationDataViewHolder) {
- OperationDataViewHolder viewHolder = (OperationDataViewHolder) holder;
- if (0 == mType){
- String hourData = TextUtils.isEmpty(DateTimeUtil.secondsToHourStr(datas.get(position))) ? "0": DateTimeUtil.secondsToHourStr(datas.get(position));
- String minuteData = DateTimeUtil.secondsToMinuteStr(datas.get(position));
- String data = "" + hourData + " 时 " + "" + minuteData + " 分";
- viewHolder.operationDataTv.setText(Html.fromHtml(data));
- viewHolder.operationDataTitle.setText("今日在线时长");
- }else if (1 == mType){
- String data = "" + String.valueOf(datas.get(position)) + "" + " 单" + "";
- viewHolder.operationDataTv.setText(Html.fromHtml(data));
- viewHolder.operationDataTitle.setText("今日订单完成数");
- }
- }
- }
-
- @Override
- public int getItemCount() {
- return datas.size();
- }
- }
-
- class OperationDataViewHolder extends RecyclerView.ViewHolder {
- private TextView operationDataTv;
- private TextView operationDataTitle;
-
- public OperationDataViewHolder(@NonNull View itemView) {
- super(itemView);
- operationDataTv = itemView.findViewById(R.id.operation_data_tv);
- operationDataTitle = itemView.findViewById(R.id.operation_data_title_tv);
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java
deleted file mode 100644
index 43ba8495ed..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.os.Build;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.GridView;
-import android.widget.TextView;
-
-import androidx.annotation.RequiresApi;
-
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.eagle.core.utilcode.util.ToastUtils;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.constant.TaxiOrderCancelReasons;
-
-import java.lang.ref.WeakReference;
-/**
- * @author: wangmingjun
- * @date: 2021/8/18
- */
-public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickListener,AdapterView.OnItemClickListener {
-
- private static final String TAG = "OCHTaxiOrderCancelDial";
- protected WeakReference contextWeakReference;
- private GridView mContentView;
- private TextView mCancelCommitTv;
- private TextView mDialogCancelTv;
- private String mCurrentReason = "";
- private ContentAdapter mContentAdapter;
- private int mOrderStatus;//1:预约单,其他为即时单的状态, 主要是控制乘客上车 乘客下车这几个选项的显示
- private String[] mContentArrays;
- private WeakReference mOchTaxiFragmentWeak;
- private String mOrderNo;
-
- protected TaxiOrderCancelDialog(TaxiFragment fragment, Context context, String orderNo, int orderStatus) {
- super(context,R.style.OrderCancelDialog);
- mOrderNo = orderNo;
- mOchTaxiFragmentWeak = new WeakReference<>(fragment);
- this.mOrderStatus = orderStatus;
- contextWeakReference = new WeakReference<>(context);
- initReasonArray();
- }
-
- private void initReasonArray() {
- if (1 == mOrderStatus) {
- mContentArrays = new String[]{TaxiOrderCancelReasons.BookPassengerCancel.getMsg(), TaxiOrderCancelReasons.CarBroken.getMsg(),
- TaxiOrderCancelReasons.BookJourneyConflict.getMsg(), TaxiOrderCancelReasons.BatteryLow.getMsg(),
- TaxiOrderCancelReasons.BookOther.getMsg()};
- return;
- }
- TaxiOrderStatusEnum ochStatus = TaxiOrderStatusEnum.valueOf(mOrderStatus);
- switch (ochStatus) {
- case OnTheWayToStart:
- mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
- TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),
- TaxiOrderCancelReasons.StartStationFaraway.getMsg(), TaxiOrderCancelReasons.Other.getMsg(),
- TaxiOrderCancelReasons.PassengerCancel.getMsg()};
- break;
- case ArriveAtStart:
- mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
- TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),
- TaxiOrderCancelReasons.PassengerNotArrive.getMsg(),TaxiOrderCancelReasons.UnContractPassenger.getMsg(),
- TaxiOrderCancelReasons.PassengerCancel.getMsg(),TaxiOrderCancelReasons.Other.getMsg()};
- break;
- case OnTheWayToEnd:
- case ArriveAtEnd:
- mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
- TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),
- TaxiOrderCancelReasons.PassengerStopOver.getMsg(),TaxiOrderCancelReasons.Other.getMsg()};
- break;
- default:
- mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
- TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),
- TaxiOrderCancelReasons.PassengerNotArrive.getMsg(), TaxiOrderCancelReasons.PassengerStopOver.getMsg(),
- TaxiOrderCancelReasons.Other.getMsg()};
- break;
-
- }
- }
-
- protected TaxiOrderCancelDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {
- super(context, cancelable, cancelListener);
- }
-
- protected TaxiOrderCancelDialog(Context context, int themeResId) {
- super(context, themeResId);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.M)
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().setBackgroundDrawableResource(R.drawable.taxi_order_cancel_dialog_bg);
- setContentView(R.layout.taxi_order_cancel_view);
- initView();
- setCancelable(false);
- setCanceledOnTouchOutside(false);
-
- initWindowView();
- }
-
- private void initWindowView() {
- Window window = getWindow();
- //dialog padding 去掉
- window.getDecorView().setPadding(0,0,0,0);
- window.setDimAmount(0.5f);
- window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景, 不然显示不全
-
- WindowManager.LayoutParams params = window.getAttributes();
- window.setGravity(Gravity.CENTER);
- WindowManager m = window.getWindowManager();
- Display d = m.getDefaultDisplay();
- params.height = d.getHeight() - 500;
- window.setAttributes(params);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.M)
- private void initView() {
- mContentView = findViewById(R.id.module_och_taxi_order_cancel_content_gv);
- mCancelCommitTv = findViewById(R.id.order_cancel_commit_tv);
- mDialogCancelTv = findViewById(R.id.order_dialog_cancel_tv);
- mContentAdapter = new ContentAdapter(contextWeakReference.get(), mContentArrays);
- mContentView.setAdapter(mContentAdapter);
- mContentView.setSelector(new ColorDrawable(Color.TRANSPARENT));
- mContentView.setOnItemClickListener(this);
- mCancelCommitTv.setOnClickListener(this);
- mDialogCancelTv.setOnClickListener(this);
- mContentView.setOnItemClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- if (v.getId() == R.id.order_cancel_commit_tv) {//bt commit
- if (!TextUtils.isEmpty(mCurrentReason) && TaxiOrderCancelReasons.getType(mCurrentReason) != 0) {
- if (1 == mOrderStatus){//预约单
- mOchTaxiFragmentWeak.get().cancelOrderById(mOrderNo, TaxiOrderCancelReasons.getType(mCurrentReason),mCurrentReason);
- }else {//即时单
- mOchTaxiFragmentWeak.get().cancelCurOrder(TaxiOrderCancelReasons.getType(mCurrentReason),mCurrentReason);
- }
- dismiss();
- }else {
- ToastUtils.showShort("取消原因不能为空");
- }
- }else if (v.getId() == R.id.order_dialog_cancel_tv){//close icon
- mCurrentReason = "";
- dismiss();
- }
- }
-
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- CallerLogger.d(M_TAXI + TAG,"mCurrentReason ="+ mContentArrays[position]);
- mCurrentReason = mContentArrays[position];
-// GradientDrawable background = (GradientDrawable) mCancelBt.getBackground();//GradientDrawable是Drawable的子类
-// background.setColor(Color.parseColor("#2B6EFF"));
-// mCancelBt.setTextColor(Color.parseColor("#FFFFFF"));
-// mCancelBt.setClickable(true);
- mContentAdapter.notifyCurrentReasons(mCurrentReason);
- }
-
- class ContentAdapter extends BaseAdapter{
-
- private Context context;
- private String[] datas;
- private LayoutInflater layoutInflater;
- private String currentReasons = "";
-
- public ContentAdapter(Context context, String[] array){
- this.context = context;
- datas = array;
- layoutInflater = LayoutInflater.from(context);
- }
- @Override
- public int getCount() {
- return datas.length;
- }
-
- @Override
- public Object getItem(int position) {
- return datas[position];
- }
-
- @Override
- public long getItemId(int position) {
- return 0;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder viewHolder = null;
- if (convertView == null){
- convertView = layoutInflater.inflate(R.layout.taxi_order_checkbox_item,null);
- viewHolder = new ViewHolder();
- viewHolder.checkBoxTv = convertView.findViewById(R.id.item_checkbox);
- convertView.setTag(viewHolder);
- }else {
- viewHolder = (ViewHolder) convertView.getTag();
- }
- viewHolder.checkBoxTv.setText(datas[position]);
- if(viewHolder.checkBoxTv.getText().toString().equals(currentReasons)){
- viewHolder.checkBoxTv.setCompoundDrawablesWithIntrinsicBounds(context.getResources().getDrawable(R.drawable.shape_size_taxi_selected_btn),null,null,null);
- }else {
- viewHolder.checkBoxTv.setCompoundDrawablesWithIntrinsicBounds(context.getResources().getDrawable(R.drawable.shape_size_taxi_unselected_btn),null,null,null);
- }
- return convertView;
- }
- public void notifyCurrentReasons(String reason){
- currentReasons = reason;
- notifyDataSetChanged();
- }
- class ViewHolder {
- TextView checkBoxTv;
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java
deleted file mode 100644
index a948351547..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java
+++ /dev/null
@@ -1,522 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.Point;
-import android.graphics.Typeface;
-import android.os.Build;
-import android.os.Bundle;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
-import androidx.constraintlayout.widget.ConstraintLayout;
-import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentPagerAdapter;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.viewpager.widget.ViewPager;
-
-import com.google.android.material.tabs.TabLayout;
-import com.mogo.commons.mvp.MvpDialogFragment;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.och.common.module.utils.DateTimeUtil;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.taxi.constant.TaxiOrderTypeEnum;
-import com.mogo.och.taxi.presenter.TaxiOperationalPresenter;
-import com.mogo.och.taxi.ui.base.AvoidLeakDialog;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-
-import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import me.jessyan.autosize.utils.AutoSizeUtils;
-
-/**
- * @author: wangmingjun
- * @date: 2021/8/18
- */
-public class TaxiPersonalDialogFragment extends
- MvpDialogFragment
- implements View.OnClickListener {
-
- private final static String TAG = "OCHTaxiOrdersDialog";
-
- private RelativeLayout mOperationDataRl;
- private ImageView mCloseIv;
- private RecyclerView mOrdersRv;
- private Button mShowOrdersBt;
- private TabLayout mOperationTab;
- private ViewPager mOperationViewPager;
- private OrderAdapter mAdapter;
- private ConstraintLayout mNoDatas;
- private final List orders = new ArrayList<>();
- private final String[] mTabTitles = {"在线时长","订单完成数"};
- private final List fragments = new ArrayList<>();
- private int mNextPage = 1;//订单列表分页从1开始
- private final int mPerPageSize = 10;
- private static boolean serverHadNoData = false;
-
- @NonNull
- @Override
- public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
- AvoidLeakDialog dialog = new AvoidLeakDialog(getContext());
- dialog.setHostFragmentReference(this);
- return dialog;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_orders_list_view;
- }
-
- @Override
- protected void initViews() {
- initView();
- }
-
- @NonNull
- @Override
- protected TaxiOperationalPresenter createPresenter() {
- return new TaxiOperationalPresenter(this);
- }
-
- @Override
- public String getTagName() {
- return TAG;
- }
-
- @Override
- public void dismissAllowingStateLoss() {
- super.dismissAllowingStateLoss();
- }
-
- @Override
- public void onStart() {
- super.onStart();
- setCancelable(false);
- getDialog().setCanceledOnTouchOutside(true);
- Window window = getDialog().getWindow();
- //dialog padding 去掉
- window.getDecorView().setPadding(0,0,0,0);
- window.setDimAmount(0f);
- WindowManager.LayoutParams params = window.getAttributes();
- params.x = 0;
- params.y = 0;
- WindowManager windowManager = (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);
- Point point = new Point();
- windowManager.getDefaultDisplay().getSize(point);
- params.width = (int)(point.x * 0.375);
- params.height = ViewGroup.LayoutParams.MATCH_PARENT;
- CallerLogger.d(M_TAXI + TAG,"width= "+params.width+"height= "+params.height);
- window.setAttributes(params);
- window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景, 不然显示不全
- window.setGravity(Gravity.LEFT|Gravity.BOTTOM);
- }
- private void initView() {
- initOperationTabDatas();
- mCloseIv = findViewById(R.id.module_och_taxi_order_list_close_iv);
- mOperationDataRl = findViewById(R.id.module_och_taxi_operation_data_rl);
- mShowOrdersBt = findViewById(R.id.module_och_taxi_order_list_show_bt);
- mOrdersRv = findViewById(R.id.module_och_taxi_order_list);
-
- mNoDatas = findViewById(R.id.no_order_data_view);
- ImageView imageView = findViewById(R.id.no_order_data_iv);
- imageView.setImageResource(R.drawable.no_order_data);
- ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams)imageView.getLayoutParams();
- params.width = 480;
- params.height = 480;
- imageView.setLayoutParams(params);
-
- mOrdersRv.setVisibility(View.GONE);
- mNoDatas.setVisibility(View.GONE);
-
- mShowOrdersBt.setOnClickListener(this);
-
- mCloseIv.setOnClickListener(this);
-
- }
-
- private void initOperationTabDatas() {
- mOperationTab = findViewById(R.id.operation_data_tablayout);
- mOperationViewPager = findViewById(R.id.operation_data_viewpager);
- for (int i= 0;i < mTabTitles.length; i++){
- TabLayout.Tab tab = mOperationTab.newTab();
- tab.view.setBackgroundColor(Color.parseColor("#00000000"));
- View tabView = View.inflate(getContext(),R.layout.taxi_operation_tab_item_custom,null);
- TextView tv = tabView.findViewById(R.id.operation_tab_title);
- tv.setText(mTabTitles[i]);
- tab.setCustomView(tabView);
- if (0 == i){
- mOperationTab.addTab(tab,true);
- changeOperationTabLayoutTabUI(tab,true);
- fragments.add(TaxiOperationDatasFragment.newInstance(getActivity(),0));
- }else if (1 == i){
- mOperationTab.addTab(tab);
- changeOperationTabLayoutTabUI(tab,false);
- fragments.add(TaxiOperationDatasFragment.newInstance(getActivity(),1));
- }
- }
- mOperationTab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
- @Override
- public void onTabSelected(TabLayout.Tab tab) {
- mOperationViewPager.setCurrentItem(tab.getPosition());
- changeOperationTabLayoutTabUI(tab,true);
- fragments.get(tab.getPosition()).setmType(tab.getPosition());
- }
-
- @Override
- public void onTabUnselected(TabLayout.Tab tab) {
- changeOperationTabLayoutTabUI(tab,false);
- }
-
- @Override
- public void onTabReselected(TabLayout.Tab tab) {
-
- }
- });
- mOperationViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
- @Override
- public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
- }
-
- @Override
- public void onPageSelected(int position) {
- mOperationTab.getTabAt(position).select();
- }
-
- @Override
- public void onPageScrollStateChanged(int state) {
- }
- });
- mOperationViewPager.setAdapter(new OrdersOperationFragmentAdapter(
- getChildFragmentManager(), FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT));
- fragments.get(0).setmType(0);
- }
-
- public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum){
- for (int i=0; i< fragments.size();i++){
- fragments.get(i).updateData(dailyTimeDuration,dailyOrderNum);
- }
- }
-
- private void changeOperationTabLayoutTabUI(TabLayout.Tab tab, boolean isSelected) {
- TextView textView = (TextView) tab.getCustomView().findViewById(R.id.operation_tab_title);
- ImageView imageView = (ImageView) tab.getCustomView().findViewById(R.id.operation_tab_line_iv);
- if (isSelected){
- textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,AutoSizeUtils.dp2px(getContext(),46));
- CallerLogger.d(M_TAXI + TAG,"SelectTv = "+ textView.getText());
- textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
- textView.setTextColor(Color.parseColor("#FFFFFF"));
- if(getContext()!=null) {
- imageView.setImageDrawable(getResources().getDrawable(R.drawable.taxi_driver_operation_tab_line));
- }
- }else {
- textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,AutoSizeUtils.dp2px(getContext(),40));
- CallerLogger.d(M_TAXI + TAG,"unSelectTv = "+ textView.getText());
- textView.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
- textView.setTextColor(Color.parseColor("#A7B6F0"));
- imageView.setImageDrawable(null);
- }
- }
-
- @Override
- public void onClick(View v) {
- if (v.getId() == R.id.module_och_taxi_order_list_close_iv){
- dismiss();
- }else {
- mOrdersRv.setVisibility(View.VISIBLE);
- mOperationDataRl.setVisibility(View.GONE);
- mNoDatas.setVisibility(View.GONE);
- initOrdersView();
- mPresenter.queryOrdersList(mNextPage, mPerPageSize);
- }
- }
-
- private void initOrdersView() {
- mAdapter = new OrderAdapter(getContext(),orders);
- LinearLayoutManager manager = new LinearLayoutManager(getContext());
- mOrdersRv.setLayoutManager(manager);
- mOrdersRv.addOnScrollListener(new OnTaxiOrderRvOnScrollListener() {
- @Override
- public void onLoadMore() {
- if (!serverHadNoData){
- mPresenter.queryOrdersList(mNextPage, mPerPageSize);
- }
- }
- });
- mOrdersRv.setAdapter(mAdapter);
- }
-
- public void onOrdersListPageRefresh(List ordersList){
- try {
- if (null == ordersList && mNextPage == 0 ||
- (ordersList != null && ordersList.size() == 0)){//无数据
- mOrdersRv.setVisibility(View.GONE);
- mNoDatas.setVisibility(View.VISIBLE);
- return;
- }
- mOrdersRv.setVisibility(View.VISIBLE);
- mNoDatas.setVisibility(View.GONE);
- if ((null == ordersList) || (ordersList.size() < mPerPageSize && mNextPage > 0)){//已经没有更多数据,提示无数据
- //已经没有更多数据
- serverHadNoData = true;
- orders.addAll(ordersList);
- mAdapter.notifyDataSetChanged();
- mNextPage = mNextPage +1;
- return;
- }
- serverHadNoData = false;
- orders.addAll(ordersList);
- if(mAdapter!=null) {
- mAdapter.notifyDataSetChanged();
- }
- mNextPage = mNextPage +1;
- }catch (Exception e){
- e.fillInStackTrace();
- }
- }
-
- class OrderAdapter extends RecyclerView.Adapter{
- private static final int ORDER_DETAIL_ITEM = 0;
- private static final int DAY_GROUP_ITEM = 1;
- private Context context;
- List orders;
- public OrderAdapter(Context context,List datas){
- this.context = context;
- this.orders = datas;
- }
-
- @NonNull
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- if (viewType == ORDER_DETAIL_ITEM){
- View view = LayoutInflater.from(context).inflate(R.layout.taxi_orders_list_item,parent,false);
- return new OrderDetailViewHolder(view);
- }else if (viewType == DAY_GROUP_ITEM){
- View view = LayoutInflater.from(context).inflate(R.layout.taxi_orders_list_day_item,parent,false);
- return new DayGroupViewHolder(view);
- }
- return null;
- }
-
- @Override
- public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
- OrderQueryRespBean.Result queryRespBean = orders.get(position);
- if (null == queryRespBean) return;
- if (holder instanceof DayGroupViewHolder){
- DayGroupViewHolder groupViewHolder = (DayGroupViewHolder)holder;
- groupViewHolder.dayGroupTv.setText(DateTimeUtil.getYMDTime(queryRespBean.createTime));
- bindOrderDetailData(queryRespBean,groupViewHolder.orderTimeTv,groupViewHolder.startStationTv,groupViewHolder.endStationTv,
- groupViewHolder.orderStatusBt,groupViewHolder.orderTypeBt,groupViewHolder.orderNumTv);
- if (isNoLineItem(position)){
- groupViewHolder.dividerLine.setVisibility(View.VISIBLE);
- }else {
- groupViewHolder.dividerLine.setVisibility(View.GONE);
- }
- if (position == orders.size()-1 && serverHadNoData){
- groupViewHolder.mBootNoDataView.setVisibility(View.VISIBLE);
- }else {
- groupViewHolder.mBootNoDataView.setVisibility(View.GONE);
- }
- }else if (holder instanceof OrderDetailViewHolder){
- OrderDetailViewHolder detailViewHolder = (OrderDetailViewHolder)holder;
- bindOrderDetailData(queryRespBean,detailViewHolder.orderTimeTv,detailViewHolder.startStationTv,detailViewHolder.endStationTv,
- detailViewHolder.orderStatusBt,detailViewHolder.orderTypeBt,detailViewHolder.orderNumTv);
- if (isNoLineItem(position)){
- detailViewHolder.dividerLine.setVisibility(View.VISIBLE);
- }else {
- detailViewHolder.dividerLine.setVisibility(View.GONE);
- }
- if (position == orders.size()-1 && serverHadNoData){
- detailViewHolder.mBootNoDataView.setVisibility(View.VISIBLE);
- }else {
- detailViewHolder.mBootNoDataView.setVisibility(View.GONE);
- }
- }
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public int getItemViewType(int position) {
- //第一个要显示时间
- if (position == 0){
- return DAY_GROUP_ITEM;
- }
- String currentDate = DateTimeUtil.getYMDTime(orders.get(position).createTime);//获取当前订单时间
- int prevIndex = position - 1;
- String preDate = DateTimeUtil.getYMDTime(orders.get(prevIndex).createTime);
- boolean isDifferent = !preDate.equals(currentDate);//前一个订单的日期跟第二个订单的日期是否一致
- return isDifferent ? DAY_GROUP_ITEM : ORDER_DETAIL_ITEM;//一样订单详情, 不一样新添加分组
- }
-
- private boolean isNoLineItem(int position){
- if (position == orders.size() -1){
- return false;
- }else {
- String currentDate = DateTimeUtil.getYMDTime(orders.get(position).createTime);//获取当前订单时间
- int nextIndex = position + 1;
- String preDate = DateTimeUtil.getYMDTime(orders.get(nextIndex).createTime);
- return preDate.equals(currentDate);//一样有划分线, 不一样没有划分线
- }
- }
-
- @Override
- public int getItemCount() {
- return orders.size();
- }
-
- private void bindOrderDetailData(OrderQueryRespBean.Result queryRespBean, TextView orderTimeTv, TextView startStationTv, TextView endStationTv,
- Button orderStatusBt, Button orderTypeBt, TextView orderNumTv){
- Calendar calendar= Calendar.getInstance();
- calendar.setTimeInMillis(queryRespBean.createTime);
- orderTimeTv.setText(DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.HH_mm));
- startStationTv.setText(queryRespBean.startSiteAddr);
- endStationTv.setText(queryRespBean.endSiteAddr);
- orderStatusBt.setText(getOrderStatus(queryRespBean.orderStatus,orderStatusBt));
- orderTypeBt.setText(getOrderType(queryRespBean.orderType,orderTypeBt));
- orderNumTv.setText("订单编号:"+String.valueOf(queryRespBean.orderNo));
- }
-
- private String getOrderStatus(int status, Button button){
- TaxiOrderStatusEnum orderStatus = TaxiOrderStatusEnum.valueOf(status);
- switch (orderStatus){
- case JourneyCompleted:
- button.setBackground(context.getDrawable(R.drawable.taxi_order_button_status_canceled_bg));
- return "已完成";
- case Cancel:
- button.setBackground(context.getDrawable(R.drawable.taxi_order_button_status_canceled_bg));
- return "已取消";
- default:
- button.setBackground(context.getDrawable(R.drawable.taxi_order_button_status_bg));
- return "服务中";
- }
- }
-
- private String getOrderType(int type, Button button){
- if (type == TaxiOrderTypeEnum.Reserved.getType()){
- button.setBackground(context.getDrawable(R.drawable.taxi_order_button_type_reserver_bg));
- return "预约单";
- }else{
- button.setBackground(context.getDrawable(R.drawable.taxi_order_button_type_bg));
- return "即时单";
- }
- }
-
- }
-
- class OrderDetailViewHolder extends RecyclerView.ViewHolder{
-
- protected TextView orderTimeTv;
- protected Button orderStatusBt;
- protected TextView startStationTv;
- protected TextView endStationTv;
- protected TextView orderNumTv;
- protected Button orderTypeBt;
- protected View dividerLine;
- protected View mBootNoDataView;
-
- public OrderDetailViewHolder(@NonNull View itemView) {
- super(itemView);
- orderTimeTv = itemView.findViewById(R.id.order_time_hm_tv);
- orderStatusBt = itemView.findViewById(R.id.order_status_bt);
- startStationTv = itemView.findViewById(R.id.grab_order_start_station);
- endStationTv = itemView.findViewById(R.id.grab_order_end_station);
- orderNumTv = itemView.findViewById(R.id.order_num);
- orderTypeBt = itemView.findViewById(R.id.order_type_bt);
- dividerLine = itemView.findViewById(R.id.module_och_taxi_order_divider);
- mBootNoDataView = itemView.findViewById(R.id.boot_refresh_no_data_view);
- }
- }
-
- class DayGroupViewHolder extends OrderDetailViewHolder{
-
- private TextView dayGroupTv;
- public DayGroupViewHolder(@NonNull View itemView) {
- super(itemView);
- dayGroupTv = itemView.findViewById(R.id.order_day_tv);
- }
- }
-
- abstract class OnTaxiOrderRvOnScrollListener extends RecyclerView.OnScrollListener{
-
- private boolean isUpwardSliding = false;
-
- @Override
- public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
- RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
- //不滑动
- if (manager instanceof LinearLayoutManager && newState == SCROLL_STATE_IDLE){
- LinearLayoutManager linearLayoutManager = (LinearLayoutManager) manager;
- int lastItemPosition = linearLayoutManager.findLastCompletelyVisibleItemPosition();
- int itemCount = linearLayoutManager.getItemCount();
- CallerLogger.d(M_TAXI + TAG,"lastItemPosition=="+lastItemPosition+",itemCount=="+itemCount);
- //向上滑动到最后一个
- if ((lastItemPosition == itemCount-1) && isUpwardSliding){
- onLoadMore();
- }
- }
- }
-
- @Override
- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
- super.onScrolled(recyclerView, dx, dy);
- isUpwardSliding = dy > 0;
- }
- public abstract void onLoadMore();
- }
-
- @Override
- public void dismiss() {
- super.dismiss();
- mNextPage = 0;
- orders.clear();
- }
-
- private class OrdersOperationFragmentAdapter extends FragmentPagerAdapter{
-
- public OrdersOperationFragmentAdapter(@NonNull FragmentManager fm, int behavior) {
- super(fm, behavior);
- }
-
- @NonNull
- @Override
- public Fragment getItem(int position) {
- return fragments.get(position);
- }
-
- @Override
- public int getCount() {
- return fragments.size();
- }
-
- @Nullable
- @Override
- public CharSequence getPageTitle(int position) {
- return mTabTitles[position];
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrdersFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrdersFragment.java
deleted file mode 100644
index 850ea6ede0..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrdersFragment.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.constraintlayout.widget.ConstraintLayout;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.mogo.eagle.core.utilcode.util.ToastUtils;
-import com.mogo.och.common.module.utils.DateTimeUtil;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-
-import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
-
-/**
- * @author: wangmingjun
- * @date: 2021/9/2
- * 待服务订单列表
- */
-public class TaxiReserveOrdersFragment extends BaseTaxiUIFragment {
-
- private RecyclerView mRecyclerView;
- private TextView mNodataTv;
- private ConstraintLayout mNoDataView;
- private View mBootRefreshNoDataView;
- private List mDatas = new ArrayList<>();
- private ToBeServedOrdersAdapter mAdapter;
- private TaxiFragment mTaxiFragment;
- private boolean isUpwardSliding = false;
-
- public static TaxiReserveOrdersFragment newInstance(Activity activity, TaxiFragment taxiFragment){
- Bundle args = new Bundle();
- TaxiReserveOrdersFragment fragment = new TaxiReserveOrdersFragment();
- fragment.setArguments( args );
- fragment.mTaxiFragment = taxiFragment;
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_reserve_orders;
- }
-
- @Override
- protected void initViews(View view) {
- mRecyclerView = view.findViewById(R.id.order_to_be_served_rv);
- mNodataTv = view.findViewById(R.id.no_order_data_tv);
- mNoDataView = view.findViewById(R.id.no_order_data_view);
- mNodataTv.setText("暂无待服务订单");
- mBootRefreshNoDataView = view.findViewById(R.id.list_boot_refresh_no_data_view);
- mBootRefreshNoDataView.setVisibility(View.GONE);
- mAdapter = new ToBeServedOrdersAdapter(getActivity(),mDatas);
- mRecyclerView.setLayoutManager(new LinearLayoutManager(getParentFragment().getActivity()));
- mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
- @Override
- public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
- RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
- //不滑动
- if (manager instanceof LinearLayoutManager && newState == SCROLL_STATE_IDLE){
- LinearLayoutManager linearLayoutManager = (LinearLayoutManager) manager;
- int lastItemPosition = linearLayoutManager.findLastCompletelyVisibleItemPosition();
- int itemCount = manager.getItemCount();
- if ((lastItemPosition == itemCount-1) && !isUpwardSliding){
- //显示没有更多数据
- mBootRefreshNoDataView.setVisibility(View.VISIBLE);
- }
- }
- }
-
- @Override
- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
- super.onScrolled(recyclerView, dx, dy);
- isUpwardSliding = dy > 0;
- }
- });
- mRecyclerView.setAdapter(mAdapter);
- }
- public void onOrdersWaitServiceChanged(List waitServiceList){//待服务订单展示
- if (waitServiceList.size() == 0){
- showNoDataTip();
- return;
- }
- mNoDataView.setVisibility(View.GONE);
- mRecyclerView.setVisibility(View.VISIBLE);
- mDatas.clear();
- mDatas.addAll(waitServiceList);
- mAdapter.notifyDataSetChanged();
- }
-
- private void showNoDataTip() {
- mBootRefreshNoDataView.setVisibility(View.GONE);
- mNoDataView.setVisibility(View.VISIBLE);
- mRecyclerView.setVisibility(View.GONE);
- }
-
- class ToBeServedOrdersAdapter extends RecyclerView.Adapter{
- private List datas;
- private Context context;
- public ToBeServedOrdersAdapter(Context context, List datas){
- this.datas = datas;
- this.context = context;
- }
-
- @NonNull
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(context).inflate(R.layout.taxi_order_reserve_item,parent,false);
- ToBeServedOrdersViewHolder viewHolder = new ToBeServedOrdersViewHolder(view);
- return viewHolder;
- }
-
- @Override
- public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
- if (datas != null && datas.size() >0 ){
- ToBeServedOrdersViewHolder viewHolder = (ToBeServedOrdersViewHolder)holder;
- OrderQueryRespBean.Result order = datas.get(position);
- Calendar calendar = DateTimeUtil.formatLongToCalendar(order.bookingTime);
- if (DateTimeUtil.compareDateIsCurrentDay(calendar)){
- viewHolder.orderTime.setText("用车时间:今天"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.HH_mm));
- }else {
- viewHolder.orderTime.setText("用车时间:"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.MM_dd_HH_mm));
- }
- viewHolder.orderCancel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- new TaxiOrderCancelDialog(mTaxiFragment,context,order.orderNo,1).show();
- }
- });
- viewHolder.startStation.setText(order.startSiteAddr);
- viewHolder.endStation.setText(order.endSiteAddr);
- if (position == mDatas.size() -1){
- viewHolder.deliverLine.setVisibility(View.GONE);
- }
- }
- }
-
- @Override
- public int getItemCount() {
- return datas.size();
- }
- }
- class ToBeServedOrdersViewHolder extends RecyclerView.ViewHolder{
- TextView orderTime;
- ImageView orderCancel;
- TextView startStation;
- TextView endStation;
- View deliverLine;
- public ToBeServedOrdersViewHolder(@NonNull View itemView) {
- super(itemView);
- orderTime = itemView.findViewById(R.id.to_be_order_time);
- orderCancel = itemView.findViewById(R.id.to_be_order_cancel_iv);
- startStation = itemView.findViewById(R.id.base_start_station);
- endStation = itemView.findViewById(R.id.base_end_station);
- deliverLine = itemView.findViewById(R.id.to_be_order_divider);
- }
- }
- public void onOrderCancelDone(String orderNo){
- ToastUtils.showShort("订单取消成功");
- for (int i=0; i< mDatas.size();i++){
- OrderQueryRespBean.Result result = mDatas.get(i);
- if (orderNo.equals(result.orderNo)){
- mDatas.remove(i);
- mAdapter.notifyDataSetChanged();
- break;
- }
- }
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- mTaxiFragment = null;
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiRottingNaviFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiRottingNaviFragment.java
deleted file mode 100644
index 003c211eaa..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiRottingNaviFragment.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-
-import com.amap.api.maps.model.LatLng;
-import com.mogo.commons.mvp.MvpFragment;
-import com.mogo.eagle.core.data.map.MogoLocation;
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.presenter.NaviPresenter;
-
-import java.util.List;
-
-/**
- * @author: wangmingjun
- * @date: 2021/11/30
- */
-public class TaxiRottingNaviFragment extends MvpFragment {
-
- private final String TAG = TaxiRottingNaviFragment.class.getSimpleName();
-
- private TaxiMapDirectionView mMapDirectionView;
- public static TaxiRottingNaviFragment newInstance() {
-
- Bundle args = new Bundle();
-
- TaxiRottingNaviFragment fragment = new TaxiRottingNaviFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_rotting_navi_view;
- }
-
- @Override
- public String getTagName() {
- return TAG;
- }
-
- @Override
- protected void initViews() {
-
- }
-
- @Override
- protected void initViews(Bundle savedInstanceState) {
- super.initViews(savedInstanceState);
- mMapDirectionView = mRootView.findViewById(R.id.rotting_navi_view);
- mMapDirectionView.onCreateView(savedInstanceState);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mMapDirectionView.onResume();
- }
-
- @Override
- public void onPause() {
- super.onPause();
- mMapDirectionView.onPause();
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
-
- if (mMapDirectionView != null){
- mMapDirectionView.onDestroy();
- }
- }
-
- @NonNull
- @Override
- protected NaviPresenter createPresenter() {
- return new NaviPresenter(this);
- }
-
- public void routeResult(List routeArrivied, List routeArriving, MogoLocation location){
- if ((routeArrivied.size()+routeArriving.size()) > 0) {
- drawablePolylineByRoute(routeArrivied,routeArriving,location);
- } else {
- clearPolyline();
- }
- }
-
- public void setLineMarker(LatLng startStation, LatLng endStation){
- if (startStation!=null&&endStation!=null) {
- if (mMapDirectionView != null) {
- mMapDirectionView.setStartMarkAndEndMark(startStation,endStation);
- UiThreadHandler.post(() -> mMapDirectionView.setLineMarker());
- }
- } else {
- clearPolyline();
- }
- }
-
- public void drawablePolylineByRoute(List routeArrivied, List routeArriving, MogoLocation location){
- if (mMapDirectionView != null){
- mMapDirectionView.setCoordinatesLatLng(routeArrivied,routeArriving,location);
- UiThreadHandler.post(() -> mMapDirectionView.drawablePolyline());
- }
- }
- private void clearPolyline() {
- if (mMapDirectionView != null) {
- UiThreadHandler.post(() -> mMapDirectionView.clearPolyline());
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiServerOrdersFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiServerOrdersFragment.java
deleted file mode 100644
index c006376d84..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiServerOrdersFragment.java
+++ /dev/null
@@ -1,233 +0,0 @@
-package com.mogo.och.taxi.ui;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-import android.graphics.Color;
-import android.graphics.Typeface;
-import android.os.Build;
-import android.os.Bundle;
-import android.util.TypedValue;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentPagerAdapter;
-import androidx.fragment.app.FragmentTransaction;
-import androidx.viewpager.widget.ViewPager;
-
-import com.google.android.material.tabs.TabLayout;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.och.taxi.R;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import me.jessyan.autosize.utils.AutoSizeUtils;
-
-/**
- * @author congtaowang
- * @since 2021/1/18
- *
- * 网约车-出租车UI
- */
-public class TaxiServerOrdersFragment extends BaseTaxiUIFragment {
-
- public static final String TAG = "TaxiFragment";
-
- public static TaxiServerOrdersFragment newInstance() {
-
- Bundle args = new Bundle();
-
- TaxiServerOrdersFragment fragment = new TaxiServerOrdersFragment();
- fragment.setArguments( args );
- return fragment;
- }
- private FragmentTransaction mFragmentTransaction;
- private TabLayout mTaxiOrderTab;
- private TextView mWaitOrderSum;
- private ViewPager mTaxiOrderPager;
- private String[] mTabTitles = {"进行中","待服务"};
- private List fragments = new ArrayList<>();
- private TaxiBeingServerdOrdersFragment beingServerdOrdersFragment = null;
- private TaxiReserveOrdersFragment reserveOrdersFragment = null;
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @Override
- protected int getLayoutId() {
- return R.layout.taxi_server_orders_panel;
- }
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @Override
- protected void initViews(View view) {
- initOrderTab(view);
- }
-
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- private void initOrderTab(View view) {
- mWaitOrderSum = view.findViewById(R.id.wait_order_num);
- mTaxiOrderTab = view.findViewById(R.id.module_och_taxi_tab);
- mTaxiOrderPager = view.findViewById(R.id.module_och_taxi_view_pager);
- for (int i= 0;i < mTabTitles.length; i++){
- TabLayout.Tab tab = mTaxiOrderTab.newTab();
- tab.view.setBackgroundColor(Color.parseColor("#00000000"));
- TextView tabView = (TextView) View.inflate(getActivity(),R.layout.taxi_tab_item_custom,null);
- tabView.setText(mTabTitles[i]);
- tabView.setHeight(AutoSizeUtils.dp2px(getContext(),115));
- tab.setCustomView(tabView);
- if (0 == i){
- mTaxiOrderTab.addTab(tab,true);
- changeTabLayoutTabUI(tab,true);
- beingServerdOrdersFragment = TaxiBeingServerdOrdersFragment.newInstance(getActivity(),(TaxiFragment) getParentFragment());
- fragments.add(beingServerdOrdersFragment);
- }else if (1 == i){
- mTaxiOrderTab.addTab(tab);
- changeTabLayoutTabUI(tab,false);
- reserveOrdersFragment = TaxiReserveOrdersFragment.newInstance(getActivity(),(TaxiFragment) getParentFragment());
- fragments.add(reserveOrdersFragment);
- }
-
- }
- CallerLogger.d(M_TAXI + TAG,"activity="+getActivity());
- mTaxiOrderTab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @Override
- public void onTabSelected(TabLayout.Tab tab) {
- mTaxiOrderPager.setCurrentItem(tab.getPosition());
- changeTabLayoutTabUI(tab,true);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @Override
- public void onTabUnselected(TabLayout.Tab tab) {
- changeTabLayoutTabUI(tab,false);
- }
-
- @Override
- public void onTabReselected(TabLayout.Tab tab) {
-
- }
- });
- mTaxiOrderPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
- @Override
- public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
- }
-
- @Override
- public void onPageSelected(int position) {
- mTaxiOrderTab.getTabAt(position).select();
- }
-
- @Override
- public void onPageScrollStateChanged(int state) {
- }
- });
- mTaxiOrderPager.setAdapter(new OrdersFragmentAdapter(getChildFragmentManager(),FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT));
- }
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- private void changeTabLayoutTabUI(TabLayout.Tab tab, boolean isSelected){
- TextView textView = (TextView) tab.getCustomView().findViewById(R.id.tab_title);
- if (isSelected){
- textView.setBackground(getActivity().getDrawable(R.drawable.taxi_driver_tab_item_bg));
- textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,AutoSizeUtils.dp2px(getContext(),40));
- CallerLogger.d(M_TAXI + TAG,"SelectTv = "+ textView.getText());
- textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
- textView.setTextColor(Color.parseColor("#FFFFFF"));
- }else {
- textView.setBackground(null);
- textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,AutoSizeUtils.dp2px(getContext(),36));
- CallerLogger.d(M_TAXI + TAG,"unSelectTv = "+ textView.getText());
- textView.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
- textView.setTextColor(Color.parseColor("#CCD4F5"));
- }
- }
-
- class OrdersFragmentAdapter extends FragmentPagerAdapter{
-
- private FragmentManager fragmentManager;
-
- public OrdersFragmentAdapter(@NonNull FragmentManager fm, int behavior) {
- super(fm, behavior);
- this.fragmentManager = fm;
- }
-
- @NonNull
- @Override
- public Fragment getItem(int position) {
- CallerLogger.d( M_TAXI + TAG, "getItem="+position);
- return fragments.get(position);
- }
-
- @Override
- public int getCount() {
- return fragments.size();
- }
-
- @Nullable
- @Override
- public CharSequence getPageTitle(int position) {
- CallerLogger.d( M_TAXI + TAG, "getPageTitle="+position);
- return mTabTitles[position];
- }
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- beingServerdOrdersFragment = null;
- reserveOrdersFragment = null;
- }
-
- @RequiresApi(api = Build.VERSION_CODES.P)
- public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order){
- if (beingServerdOrdersFragment != null){
- mTaxiOrderTab.getTabAt(0).select();
- beingServerdOrdersFragment.updateCurrentOrderStatusChanged(order);
- }
- }
- public void onOrdersWaitServiceChanged(List waitServiceList){
- if (waitServiceList.size() == 0){
- mWaitOrderSum.setVisibility(View.GONE);
- }else {
- mWaitOrderSum.setText(String.valueOf(waitServiceList.size()));
- mWaitOrderSum.setVisibility(View.VISIBLE);
- }
- if (null == reserveOrdersFragment) return;
- reserveOrdersFragment.onOrdersWaitServiceChanged(waitServiceList);
- }
- public void onOrderCancelDone(String orderNo){
- if (null == reserveOrdersFragment) return;
- reserveOrdersFragment.onOrderCancelDone(orderNo);
- }
- public void onCurrentOrderCancelDone(){
- if (null == beingServerdOrdersFragment) return;
- beingServerdOrdersFragment.onCurrentOrderCancelDone();
- }
-
- public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond){
- if (null == beingServerdOrdersFragment) return;
- beingServerdOrdersFragment.updateDistanceAndTime(meters,timeInSecond);
- }
- public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo){
- if (null == beingServerdOrdersFragment) return;
- beingServerdOrdersFragment.onCurrentOrderRouteInfoGot(routeInfo);
- }
-
- public void updateOrderBottomBtnUI() {
- if (null == beingServerdOrdersFragment) return;
- beingServerdOrdersFragment.updateOrderBottomBtnUI();
- }
-
- public void onNaviToEndAmap(boolean isShow){
- if (null == beingServerdOrdersFragment) return;
- beingServerdOrdersFragment.onNaviToEndAmap(isShow);
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/base/AvoidLeakDialog.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/base/AvoidLeakDialog.java
deleted file mode 100644
index e332766931..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/base/AvoidLeakDialog.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.mogo.och.taxi.ui.base;
-
-import android.app.Dialog;
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.DialogFragment;
-import java.lang.ref.WeakReference;
-
-/**
- * @author: wangmingjun
- * @date: 2022/9/1
- */
-public class AvoidLeakDialog extends Dialog {
-
- private WeakReference hostFragmentReference;
-
- public void setHostFragmentReference(DialogFragment hostFragment) {
- this.hostFragmentReference = new WeakReference<>(hostFragment);
- }
-
- public AvoidLeakDialog(@NonNull Context context) {
- super(context);
- }
-
- public AvoidLeakDialog(@NonNull Context context, int themeResId) {
- super(context, themeResId);
- }
-
- protected AvoidLeakDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {
- super(context, cancelable, cancelListener);
- }
-
- @Override
- public void setOnCancelListener(@Nullable OnCancelListener listener) {
- }
-
- @Override
- public void setOnDismissListener(@Nullable OnDismissListener listener) {
- }
-
- @Override
- public void setOnShowListener(@Nullable OnShowListener listener) {
- }
-
- @Override
- public void dismiss() {
- super.dismiss();
- if (null != hostFragmentReference && null != hostFragmentReference.get()) {
- hostFragmentReference.get().dismissAllowingStateLoss();
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/OrderUtil.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/OrderUtil.java
deleted file mode 100644
index 4c61f04ebb..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/OrderUtil.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mogo.och.taxi.utils;
-
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created on 2021/9/11
- */
-public class OrderUtil {
-
- // 判断两个list中的订单是否相同:依据orderId
- public static boolean haveSameOrders(List list1,
- List list2) {
- OrderQueryRespBean.Result[] arr1 = list1.toArray(new OrderQueryRespBean.Result[]{});
- OrderQueryRespBean.Result[] arr2 = list2.toArray(new OrderQueryRespBean.Result[]{});
- Arrays.sort(arr1);
- Arrays.sort(arr1);
- return Arrays.equals(arr1,arr2);
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TPRouteDataTestUtils.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TPRouteDataTestUtils.java
deleted file mode 100644
index 5adc1a9531..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TPRouteDataTestUtils.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.mogo.och.taxi.utils;
-
-import com.mogo.och.taxi.model.TaxiModel;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import mogo.telematics.pad.MessagePad;
-
-/**
- * @author: wangmingjun
- * @date: 2022/4/13
- */
-public class TPRouteDataTestUtils {
-
- static String jsonStr ="{\n" +
- " \"models\": [\n" +
- " {\n" +
- " \"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19927760268911,\"lon\":116.73512607061035,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19927736555187,\"lon\":116.73498243020299,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19927135941599,\"lon\":116.73482951462647,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199260672670036,\"lon\":116.73468429259535,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199251260349946,\"lon\":116.73453933465,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19924691997577,\"lon\":116.7343756435551,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199247953493625,\"lon\":116.73421240809087,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19924986849947,\"lon\":116.73400425509712,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199249431152175,\"lon\":116.73378579041055,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199248921305724,\"lon\":116.73357811807278,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19925012387371,\"lon\":116.73337650020184,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199252270195075,\"lon\":116.73318223781153,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.1992521615169,\"lon\":116.73298632625203,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19925202633083,\"lon\":116.73279582043983,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199261230205735,\"lon\":116.73263403473568,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199327991681926,\"lon\":116.73251962434813,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19944850496711,\"lon\":116.73249661840195,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199582026896415,\"lon\":116.73251038561487,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199743326352014,\"lon\":116.73253087453938,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199908347167394,\"lon\":116.73255070500186,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200065950595445,\"lon\":116.7325720694418,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20022747460407,\"lon\":116.73259461416663,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200384057310536,\"lon\":116.73261575018056,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20053849777916,\"lon\":116.73263451936387,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200696919444624,\"lon\":116.7326540541723,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2008524952796,\"lon\":116.7326743511824,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20101429705625,\"lon\":116.73269393580199,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20118279997041,\"lon\":116.73271564378308,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201342388452076,\"lon\":116.73273653366076,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201476063822355,\"lon\":116.73275292393079,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20163479199852,\"lon\":116.73277440686762,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20181243476041,\"lon\":116.7328052766508,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201991767093304,\"lon\":116.7328453845644,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20215573733484,\"lon\":116.73287624009339,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202313648759784,\"lon\":116.73289887933315,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202434745374454,\"lon\":116.7329182210956,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20253164952098,\"lon\":116.73297539811277,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20258043275509,\"lon\":116.73312335324984,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20258233576585,\"lon\":116.73331077089557,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20257107560234,\"lon\":116.73351244039137,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202561578580514,\"lon\":116.73370176209845,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20256256788661,\"lon\":116.73391325024126,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20255633158834,\"lon\":116.73413195000244,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202543311179575,\"lon\":116.73436614303907,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20253067346457,\"lon\":116.73458032609663,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20251776111356,\"lon\":116.73477082198242,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202503997557805,\"lon\":116.73498624001282,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20249129260376,\"lon\":116.73518976336872,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247877796589,\"lon\":116.73537786253135,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20246651610268,\"lon\":116.73559239130266,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20245754388014,\"lon\":116.73574239922202,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20244749208,\"lon\":116.73589674090469,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243806550113,\"lon\":116.73607057284322,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243550556816,\"lon\":116.73628106525871,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243654127756,\"lon\":116.7364949950665,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243738221016,\"lon\":116.7367061649993,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243672476754,\"lon\":116.73691115930336,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243590788176,\"lon\":116.73710722104272,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202436434375336,\"lon\":116.73730688607075,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243749821501,\"lon\":116.73750140347998,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243625962803,\"lon\":116.73771330926793,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202434515480725,\"lon\":116.73791895606205,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2024326561388,\"lon\":116.73815206945737,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20243092086137,\"lon\":116.73838655528765,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202430876006126,\"lon\":116.73861890759498,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20242914053177,\"lon\":116.73882029918758,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20242843336561,\"lon\":116.73904465495175,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20242661219026,\"lon\":116.73922453252953,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202426462811076,\"lon\":116.7393708046956,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20242687134937,\"lon\":116.73954685547025,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20242694967377,\"lon\":116.73975021183773,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202424630601236,\"lon\":116.73999740812975,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202422502184625,\"lon\":116.74028266774337,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202419634158936,\"lon\":116.7405942561498,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241975959762,\"lon\":116.7409069557092,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241920524113,\"lon\":116.74120156191647,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241765540262,\"lon\":116.74149288504978,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241569149764,\"lon\":116.7418080096762,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202414529497084,\"lon\":116.74210262897205,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241419532155,\"lon\":116.74241767661879,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202413879360954,\"lon\":116.7427571218185,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241287045245,\"lon\":116.7431284691325,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241214965105,\"lon\":116.74343354359334,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241141271715,\"lon\":116.7437220210538,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2024080520075,\"lon\":116.74399113498052,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202391714280026,\"lon\":116.74427625698272,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20238163805639,\"lon\":116.74452083315958,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202379293010274,\"lon\":116.74475703837204,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202379007817086,\"lon\":116.7449961645494,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20237814181231,\"lon\":116.7452036063558,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202375477619896,\"lon\":116.74539567654291,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2023632396621,\"lon\":116.74555457589031,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20229396554444,\"lon\":116.7456716047369,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20217800547467,\"lon\":116.74574081942625,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202047498095304,\"lon\":116.74573659255675,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20188573786706,\"lon\":116.74571018281719,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201738240263026,\"lon\":116.74568463148606,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20157507049073,\"lon\":116.74565525041498,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20137985142042,\"lon\":116.745619970576,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201187335613575,\"lon\":116.74558631350607,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20098251429043,\"lon\":116.74555055587679,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2007748533628,\"lon\":116.74551426934663,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20057082986032,\"lon\":116.74547749663195,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20036944224329,\"lon\":116.74544156175533,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20016365229035,\"lon\":116.74540577510051,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.1999958572445,\"lon\":116.74537505807076,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19984100521566,\"lon\":116.7453433678602,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.1996863960282,\"lon\":116.74529675648621,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19953919567943,\"lon\":116.74525916493474,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19940587189373,\"lon\":116.74523402869453,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19929047792381,\"lon\":116.74518617038383,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922141745155,\"lon\":116.74506912884067,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19920798885308,\"lon\":116.744896716334,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19920912644279,\"lon\":116.74467216715483,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199209186509314,\"lon\":116.74448257515108,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19920910709997,\"lon\":116.74430613406223,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.1992100786082,\"lon\":116.74410888316238,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19921081961254,\"lon\":116.74391968819582,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19921040855518,\"lon\":116.7437082083402,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19921085053439,\"lon\":116.74346931155634,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19921197237373,\"lon\":116.74325149697013,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19921248248983,\"lon\":116.74301103786591,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.1992139724646,\"lon\":116.74277237066539,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199215818352386,\"lon\":116.74253219408898,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199216175018876,\"lon\":116.74228853120842,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199215970354246,\"lon\":116.74204663206451,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199216627492966,\"lon\":116.74183871233049,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19921789170398,\"lon\":116.74165788334192,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922000138535,\"lon\":116.74144512197054,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199221559127494,\"lon\":116.741249370491,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922287231889,\"lon\":116.7410525810756,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922229019589,\"lon\":116.74085266662037,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.1992216995901,\"lon\":116.74061957723823,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922263073874,\"lon\":116.74041638149129,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922478093337,\"lon\":116.7402123910757,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199227066091595,\"lon\":116.74003419421553,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199228634241756,\"lon\":116.73985841944678,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19922951636012,\"lon\":116.7397079274105,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199252095329484,\"lon\":116.73956265582487,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199346162997905,\"lon\":116.73944690416265,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199470799628024,\"lon\":116.73941941053417,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19962513314346,\"lon\":116.7394280706812,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199780626058924,\"lon\":116.73944255215424,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199961525343376,\"lon\":116.73945856750177,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20016196947193,\"lon\":116.73947572081121,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200384479551936,\"lon\":116.7394949225795,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200595083817475,\"lon\":116.73951027963179,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200792203321086,\"lon\":116.73952526850614,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200985930701684,\"lon\":116.73954125209579,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20115978977055,\"lon\":116.73955610094161,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201321019536124,\"lon\":116.7395695239138,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20147117943043,\"lon\":116.7395823299481,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20163699848565,\"lon\":116.73959633422596,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20178484338371,\"lon\":116.7396085776486,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201962185646316,\"lon\":116.73962351991214,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2021018923927,\"lon\":116.7396354059821,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2022137620686,\"lon\":116.73964348380458,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20232600820075,\"lon\":116.73961190446633,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20241090270993,\"lon\":116.73951649703137,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20245777783807,\"lon\":116.73937664238166,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20246906634823,\"lon\":116.73920146119093,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202470916682884,\"lon\":116.73898763065634,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247034830421,\"lon\":116.73878158418357,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20246978204673,\"lon\":116.73857680142473,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247082638905,\"lon\":116.73834517890637,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202471943178196,\"lon\":116.7381047689514,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247131648035,\"lon\":116.73787761484981,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202470799473765,\"lon\":116.73766230702478,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247013054322,\"lon\":116.73743619407796,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20246999515433,\"lon\":116.73724916823292,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247199652478,\"lon\":116.73704888970806,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202473960263525,\"lon\":116.73684083235807,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202474504753205,\"lon\":116.73665462440796,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20247501354581,\"lon\":116.73650710371837,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20246541231906,\"lon\":116.73635807696789,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.202426768984274,\"lon\":116.73622283382787,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20236638788854,\"lon\":116.73610589402243,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20227106919894,\"lon\":116.73600895001849,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2021428343084,\"lon\":116.73596816020945,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20197815580698,\"lon\":116.73594623645097,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20181789535303,\"lon\":116.73593148707488,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201667906886954,\"lon\":116.73591743008926,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.201505897730755,\"lon\":116.7359002912543,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20135083580946,\"lon\":116.73588579696379,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20118617904595,\"lon\":116.73586970398149,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20102374028594,\"lon\":116.73585314703226,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20085554043743,\"lon\":116.73583763953049,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20069451888229,\"lon\":116.73582073901778,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.200530837344964,\"lon\":116.73580314359012,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.2003608457064,\"lon\":116.73578183888779,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20021770046798,\"lon\":116.73575292592922,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.20003454701824,\"lon\":116.7357174959358,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19986125116602,\"lon\":116.73569499961796,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19969408518737,\"lon\":116.73567725223492,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19955533048882,\"lon\":116.73566375985422,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19943174810538,\"lon\":116.73564927714162,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19933167546824,\"lon\":116.735595995086,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.199280357603875,\"lon\":116.73546293260645,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19927848361656,\"lon\":116.73531579486274,\"speed\":0.0},{\"altitude\":0.0,\"angle\":0.0,\"duration\":0,\"lat\":40.19928127892504,\"lon\":116.73505848474375,\"speed\": 0.0\n" +
- " }\n" +
- " ]\n" +
- "}";
- public static void converToRouteData(){
- List list = new ArrayList<>();
-
- try {
- JSONObject jsonObject = new JSONObject(jsonStr);
- JSONArray jsonElements = jsonObject.getJSONArray("models");
- for (int i = 0; i < jsonElements.length(); i++) {
- JSONObject s = jsonElements.getJSONObject(i);
- MessagePad.Location.Builder builder = MessagePad.Location.newBuilder();
- builder.setLatitude(s.getDouble("lat"));
- builder.setLongitude(s.getDouble("lon"));
- list.add(builder.build());
- }
-// TaxiModel.getInstance().updateOrderRoute(list);
- TaxiModel.getInstance().updateOrderRouteInfo(list);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.kt
deleted file mode 100644
index 11b6304564..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.mogo.och.taxi.utils
-
-import com.mogo.och.common.module.manager.autopilot.autopilot.IOchEventKey
-
-/**
- * OCH Taxi埋点工具
- *
- * Created on 2022/3/24
- */
-object TaxiAnalyticsManager : IOchEventKey {
-
- // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾
- const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_taxi_ap_unable_start_reason"
-
- // 埋点key:接管后点击'自动驾驶'按钮启动
- const val EVENT_KEY_RESTART_AUTOPILOT = "event_key_och_taxi_restart_autopilot"
-
- // 埋点key:开始服务开启自动驾驶(成功/失败)
- const val EVENT_KEY_START_SERVICE = "event_key_och_taxi_start_service"
-
- // 埋点key:点击启动自驾
- private const val EVENT_KEY_CLICK_START_AUTOPILOT = "event_key_och_taxi_click_start_autopilot"
-
-
- override fun getEventKeyStartService(): String {
- return EVENT_KEY_START_SERVICE
- }
-
- override fun getEventKeyRestartService(): String {
- return EVENT_KEY_RESTART_AUTOPILOT
- }
-
- override fun getEventKeyApUnableStartReason(): String {
- return EVENT_KEY_AP_UNABLE_START_REASON
- }
-
- override fun getEventKeyClickStartAutopilot(): String {
- return EVENT_KEY_CLICK_START_AUTOPILOT
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiMapAssetStyleUtil.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiMapAssetStyleUtil.java
deleted file mode 100644
index 4e991eda96..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiMapAssetStyleUtil.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.mogo.och.taxi.utils;
-
-
-import android.content.Context;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * @author donghongyu
- * @date 12/18/20 5:37 PM
- */
-public class TaxiMapAssetStyleUtil {
-
- public static byte[] getAssetsStyle(Context context,String fileName) {
- byte[] buffer1 = null;
- InputStream is1 = null;
- try {
- is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style.data
- int lenght1 = is1.available();
- buffer1 = new byte[lenght1];
- is1.read(buffer1);
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (is1 != null) {
- is1.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return buffer1;
- }
-
-
- public static byte[] getAssetsExtraStyle(Context context, String fileName) {
- byte[] buffer1 = null;
- InputStream is1 = null;
- try {
- is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style_extra.data
- int lenght1 = is1.available();
- buffer1 = new byte[lenght1];
- is1.read(buffer1);
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (is1 != null) {
- is1.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return buffer1;
- }
-
-
-}
diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java
deleted file mode 100644
index 29057170d9..0000000000
--- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package com.mogo.och.taxi.utils;
-
-import androidx.annotation.Nullable;
-
-import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
-import com.mogo.eagle.core.utilcode.util.GsonUtils;
-import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager;
-import com.mogo.och.taxi.bean.OrderQueryRespBean;
-import com.mogo.och.taxi.constant.TaxiConst;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
-import com.mogo.och.taxi.model.TaxiModel;
-
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.Observable;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-import mogo_msg.MogoReportMsg;
-
-import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
-
-/**
- * Taxi轨迹管理:给MEC下发用于轨迹下载的信息
- * Created on 2022/6/22
- */
-public class TaxiTrajectoryManager {
- private static final String TAG = TaxiTrajectoryManager.class.getSimpleName();
-
- private static final class SingletonHolder {
- private static final TaxiTrajectoryManager INSTANCE = new TaxiTrajectoryManager();
- }
-
- public static TaxiTrajectoryManager getInstance() {
- return TaxiTrajectoryManager.SingletonHolder.INSTANCE;
- }
-
- private AutopilotControlParameters.AutoPilotLine mAutoPilotLine = null;
- private Disposable mSendReqDisposable = null;
- private String mPrevOrderNo = "";
-
- public TaxiTrajectoryManager() {
- mAutoPilotLine = new AutopilotControlParameters.AutoPilotLine(-1, "",
- "", "", "", "", 0, "",
- "", "", "", "", 0);
- }
-
- /**
- * 同步订单信息
- */
- public void syncTrajectoryInfo() {
- OrderQueryRespBean.Result orderInfo = TaxiModel.getInstance().getCurrentOCHOrder();
- if (orderInfo == null || orderInfo.orderStatus >= TaxiOrderStatusEnum.OnTheWayToEnd.getCode()) {
- CallerLogger.d(M_TAXI + TAG, "syncTrajectoryInfo() stop.");
- stopTrajReqLoop();
- } else {
- if (mPrevOrderNo.equals(orderInfo.orderNo)) {
- CallerLogger.d(M_TAXI + TAG, "syncTrajectoryInfo() 重复订单.");
- } else {
- mPrevOrderNo = orderInfo.orderNo;
- CallerLogger.d(M_TAXI + TAG, "syncTrajectoryInfo() start.");
- startTrajReqLoop();
- }
- }
- }
-
- public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
- onAutopilotGuardian(guardianInfo);
- }
-
- /**
- * 接口MEC反馈的常规信息(MAP v2.5.0新增轨迹相关信息)
- * @param guardianInfo
- */
- public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo) {
- if (guardianInfo == null || !guardianInfo.hasCode()) return;
- if ("ISYS_INIT_TRAJECTORY_START".equals(guardianInfo.getCode())) {
- // 1. 轨迹管理_轨迹开始下载(本地已有对应轨迹也触发)
- CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() 轨迹开始下载");
- OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹开始下载", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- // ToastUtils.showShort("轨迹开始下载");
- stopTrajReqLoop();
- } else if ("ISYS_INIT_TRAJECTORY_SUCCESS".equals(guardianInfo.getCode())) {
- // 2. 轨迹管理_轨迹下载成功(本地已有对应轨迹也触发)
- CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() 轨迹下载成功");
- OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载成功", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- // ToastUtils.showShort("轨迹下载成功");
- stopTrajReqLoop();
- } else if ("ISYS_INIT_TRAJECTORY_FAILURE".equals(guardianInfo.getCode())) {
- // 3. 轨迹管理_轨迹下载失败,本地无对应轨迹
- CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() " +
- "轨迹下载失败,本地无对应轨迹");
- OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地无对应轨迹", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- // ToastUtils.showShort("轨迹下载失败,本地无对应轨迹");
- } else if ("ISYS_INIT_TRAJECTORY_WARNING".equals(guardianInfo.getCode())) {
- // 4. 轨迹管理_轨迹下载失败,本地有对应轨迹,认为成功
- CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() " +
- "轨迹下载失败,本地有对应轨迹,认为成功");
- OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地有对应轨迹,认为成功", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- // ToastUtils.showShort("轨迹下载失败,本地有对应轨迹,认为成功");
- } else if ("ISYS_INIT_TRAJECTORY_TIMEOUT".equals(guardianInfo.getCode())) {
- // 5. 轨迹管理_轨迹下载超时
- CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() 轨迹下载超时");
- OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载超时", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- // ToastUtils.showShort("轨迹下载超时");
- } else if ("ISSM_FUNC_AUTO_PILOT_READY".equals(guardianInfo.getCode())) {
- // 收到ssm的自动驾驶变为ready,再次下发轨迹下载.解决:域控重启,或者102域控启动太早,107节点初始化未完成导致的轨迹未进行下载。
- CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() ssm ready,再次发起下载");
- OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 再次发起下载", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- syncTrajectoryInfo();
- }
- }
-
- private void setupAutoPilotLine() {
- OrderQueryRespBean.Result order = TaxiModel.getInstance().getCurrentOCHOrder();
- if (order == null) {
- CallerLogger.e(M_TAXI + TAG,
- "setupAutoPilotLine(): orderInfo is null.");
- return;
- } else {
- if (mAutoPilotLine == null) {
- mAutoPilotLine = new AutopilotControlParameters.AutoPilotLine(order.lineId, order.lineName,
- order.csvFileUrl, order.csvFileMd5, order.txtFileUrl, order.txtFileMd5,
- order.contrailSaveTime, order.carModel,
- order.csvFileUrlDPQP, order.csvFileMd5DPQP, order.txtFileUrlDPQP, order.txtFileMd5DPQP,
- order.contrailSaveTimeDPQP);
- } else {
- mAutoPilotLine.setLineId(order.lineId);
- mAutoPilotLine.setLineName(order.lineName);
- mAutoPilotLine.setTrajUrl(order.csvFileUrl);
- mAutoPilotLine.setTrajMd5(order.csvFileMd5);
- mAutoPilotLine.setStopUrl(order.txtFileUrl);
- mAutoPilotLine.setStopMd5(order.txtFileMd5);
- mAutoPilotLine.setTimestamp(order.contrailSaveTime);
- mAutoPilotLine.setVehicleModel(order.carModel);
- mAutoPilotLine.setTrajUrl_dpqp(order.csvFileUrlDPQP);
- mAutoPilotLine.setTrajMd5_dpqp(order.csvFileMd5DPQP);
- mAutoPilotLine.setStopUrl_dpqp(order.txtFileUrlDPQP);
- mAutoPilotLine.setStopMd5_dpqp(order.txtFileMd5DPQP);
- mAutoPilotLine.setTimestamp_dpqp(order.contrailSaveTimeDPQP);
- }
- }
- }
-
- private void clearAutoPilotLine() {
- if (mAutoPilotLine == null) return;
- mAutoPilotLine.setLineId(-1);
- mAutoPilotLine.setLineName("");
- mAutoPilotLine.setTrajUrl("");
- mAutoPilotLine.setTrajMd5("");
- mAutoPilotLine.setStopUrl("");
- mAutoPilotLine.setStopMd5("");
- mAutoPilotLine.setTimestamp(0);
- mAutoPilotLine.setVehicleModel("");
- mAutoPilotLine.setTrajUrl_dpqp("");
- mAutoPilotLine.setTrajMd5_dpqp("");
- mAutoPilotLine.setStopUrl_dpqp("");
- mAutoPilotLine.setStopMd5_dpqp("");
- mAutoPilotLine.setTimestamp_dpqp(0);
- }
-
- private void startTrajReqLoop() {
- if (mSendReqDisposable != null && !mSendReqDisposable.isDisposed()) {
- return;
- }
- CallerLogger.d(M_TAXI + TAG, "startTrajReqLoop()");
- setupAutoPilotLine();
- mSendReqDisposable = Observable.interval(TaxiConst.LOOP_DELAY,
- TaxiConst.LOOP_PERIOD_10S, TimeUnit.MILLISECONDS)
- .map((aLong -> aLong + 1))
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(aLong -> {
- if (aLong > TaxiConst.LOOP_SEND_TRAJ_TIMES) {
- mPrevOrderNo = ""; //重发超时后将mPrevOrderNo置空,这样订单进入下个状态时还可以重发
- stopTrajReqLoop();
- return;
- }
- CallerLogger.d(M_TAXI + TAG, "loop sendTrajectoryReq: " + aLong);
- sendTrajectoryReq();
- });
- }
-
- private void stopTrajReqLoop() {
- if (mSendReqDisposable != null) {
- CallerLogger.d(M_TAXI + TAG, "stopTrajReqLoop()");
- mSendReqDisposable.dispose();
- mSendReqDisposable = null;
- clearAutoPilotLine();
- }
- }
-
- private void sendTrajectoryReq() {
- if (mAutoPilotLine == null) {
- CallerLogger.e(M_TAXI + TAG, "sendTrajectoryReq(): mAutoPilotLine is null!!!");
- return;
- }
- OchChainLogManager.writeChainLog("轨迹监控","sendTrajectoryReq() 下发轨迹 轨迹id"+mAutoPilotLine.getLineId(), true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
- CallerAutoPilotControlManager.INSTANCE.sendTrajectoryDownloadReq(mAutoPilotLine);
- CallerLogger.d(M_TAXI + TAG, "sendTrajectoryReq(): "
- + GsonUtils.toJson(mAutoPilotLine));
- }
-}
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00001.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00001.png
deleted file mode 100644
index a45d5016fa..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00001.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00002.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00002.png
deleted file mode 100644
index cdb7a7a6a9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00002.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00003.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00003.png
deleted file mode 100644
index d23de4ef53..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00003.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00004.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00004.png
deleted file mode 100644
index c3c8cb6ec6..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00004.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00005.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00005.png
deleted file mode 100644
index c3c8cb6ec6..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00005.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00006.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00006.png
deleted file mode 100644
index c3c8cb6ec6..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00006.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00007.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00007.png
deleted file mode 100644
index 815f83bf47..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00007.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00008.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00008.png
deleted file mode 100644
index 2771e6cef3..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00008.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00009.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00009.png
deleted file mode 100644
index f66b6a0d55..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00009.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00010.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00010.png
deleted file mode 100644
index bab043383a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00010.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00011.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00011.png
deleted file mode 100644
index dde1edcb4d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00011.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00012.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00012.png
deleted file mode 100644
index f9d513b742..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00012.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00013.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00013.png
deleted file mode 100644
index 813fbfe3b2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00013.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00014.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00014.png
deleted file mode 100644
index 820eda75e2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00014.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00015.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00015.png
deleted file mode 100644
index 544aeac6f3..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00015.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00016.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00016.png
deleted file mode 100644
index 7173a3c9f9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00016.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00017.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00017.png
deleted file mode 100644
index 518bb6d32d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00017.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00018.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00018.png
deleted file mode 100644
index 52cb8e1bab..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00018.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00019.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00019.png
deleted file mode 100644
index df48bba777..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00019.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00020.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00020.png
deleted file mode 100644
index ac35dd6e89..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00020.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00021.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00021.png
deleted file mode 100644
index 2b553e8263..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00021.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00022.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00022.png
deleted file mode 100644
index 79f25eaef8..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00022.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00023.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00023.png
deleted file mode 100644
index 2f5cd12f81..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00023.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00024.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00024.png
deleted file mode 100644
index 820eda75e2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00024.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00025.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00025.png
deleted file mode 100644
index bfd6fc9aee..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00025.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00026.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00026.png
deleted file mode 100644
index 96671ead5a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00026.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00027.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00027.png
deleted file mode 100644
index 8a16ccea5c..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00027.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00028.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00028.png
deleted file mode 100644
index af98dbd5d3..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00028.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00029.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00029.png
deleted file mode 100644
index b05765193b..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00029.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00030.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00030.png
deleted file mode 100644
index dbf91b1e26..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00030.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00031.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00031.png
deleted file mode 100644
index 6e3bd8cf35..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00031.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00032.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00032.png
deleted file mode 100644
index c3c8cb6ec6..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00032.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00033.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00033.png
deleted file mode 100644
index 815f83bf47..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00033.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00034.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00034.png
deleted file mode 100644
index 2771e6cef3..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00034.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00035.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00035.png
deleted file mode 100644
index f66b6a0d55..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00035.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00036.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00036.png
deleted file mode 100644
index bab043383a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00036.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00037.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00037.png
deleted file mode 100644
index dde1edcb4d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00037.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00038.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00038.png
deleted file mode 100644
index f9d513b742..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00038.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00039.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00039.png
deleted file mode 100644
index 813fbfe3b2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00039.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00040.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00040.png
deleted file mode 100644
index 820eda75e2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00040.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00041.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00041.png
deleted file mode 100644
index 544aeac6f3..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00041.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00042.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00042.png
deleted file mode 100644
index 7173a3c9f9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00042.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00043.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00043.png
deleted file mode 100644
index 6dd8ca6079..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00043.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00044.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00044.png
deleted file mode 100644
index c3c8cb6ec6..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00044.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00045.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00045.png
deleted file mode 100644
index d1c3e43a46..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/heart_00045.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00001.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00001.png
deleted file mode 100644
index 0e2c5b1db9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00001.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00002.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00002.png
deleted file mode 100644
index 317bc9d185..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00002.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00003.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00003.png
deleted file mode 100644
index 743c950458..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00003.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00004.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00004.png
deleted file mode 100644
index 5e2e72b97d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00004.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00005.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00005.png
deleted file mode 100644
index 5e3f4087d0..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00005.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00006.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00006.png
deleted file mode 100644
index 069d93edcd..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00006.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00007.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00007.png
deleted file mode 100644
index 0c4a13be2a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00007.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00008.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00008.png
deleted file mode 100644
index 3e1a8cd7f9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00008.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00009.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00009.png
deleted file mode 100644
index ba1d7bd275..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00009.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00010.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00010.png
deleted file mode 100644
index 7a371cfcff..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00010.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00011.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00011.png
deleted file mode 100644
index eb7d2d5e4b..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00011.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00012.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00012.png
deleted file mode 100644
index ec5dc4b49a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00012.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00013.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00013.png
deleted file mode 100644
index d19f752212..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00013.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00014.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00014.png
deleted file mode 100644
index 3c5f8afd16..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00014.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00015.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00015.png
deleted file mode 100644
index d63cfc7e6c..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00015.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00016.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00016.png
deleted file mode 100644
index a13bbea6da..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00016.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00017.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00017.png
deleted file mode 100644
index b80f8b07d8..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00017.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00018.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00018.png
deleted file mode 100644
index c9887df6a9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00018.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00019.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00019.png
deleted file mode 100644
index c8bc1850f8..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00019.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00020.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00020.png
deleted file mode 100644
index 01f4d95b8d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00020.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00021.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00021.png
deleted file mode 100644
index d21124dcc0..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00021.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00022.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00022.png
deleted file mode 100644
index 8c9a4d9e62..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00022.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00023.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00023.png
deleted file mode 100644
index 587fdbb097..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00023.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00024.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00024.png
deleted file mode 100644
index 1913a44095..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00024.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00025.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00025.png
deleted file mode 100644
index be85d5037a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00025.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00026.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00026.png
deleted file mode 100644
index 40bd64d32a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00026.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00027.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00027.png
deleted file mode 100644
index ed4862fc94..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00027.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00028.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00028.png
deleted file mode 100644
index 24f9605b4c..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00028.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00029.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00029.png
deleted file mode 100644
index 5886329415..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00029.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00030.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00030.png
deleted file mode 100644
index e5309cf535..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00030.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00031.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00031.png
deleted file mode 100644
index 9d5034a29e..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00031.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00032.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00032.png
deleted file mode 100644
index 0d8177691a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00032.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00033.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00033.png
deleted file mode 100644
index 7cbd992f9f..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00033.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00034.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00034.png
deleted file mode 100644
index 617050c90d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00034.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00035.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00035.png
deleted file mode 100644
index e2222d7b54..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00035.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00036.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00036.png
deleted file mode 100644
index c189fbec50..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00036.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00037.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00037.png
deleted file mode 100644
index 608da06dfb..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00037.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00038.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00038.png
deleted file mode 100644
index 6477259f2a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00038.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00039.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00039.png
deleted file mode 100644
index c5bfee922b..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00039.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00040.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00040.png
deleted file mode 100644
index c5cca129d0..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00040.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00041.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00041.png
deleted file mode 100644
index eea120cbf6..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00041.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00042.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00042.png
deleted file mode 100644
index a7ce8a753e..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00042.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00043.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00043.png
deleted file mode 100644
index e552f4f5b0..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00043.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00044.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00044.png
deleted file mode 100644
index 6beab6b438..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00044.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00045.png b/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00045.png
deleted file mode 100644
index 31fdcc6f45..0000000000
Binary files a/OCH/taxi/driver/src/main/res/ani/drawable-nodpi/success_00045.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/color/taxi_autopilot_text_color_selector.xml b/OCH/taxi/driver/src/main/res/color/taxi_autopilot_text_color_selector.xml
deleted file mode 100644
index 16cef94271..0000000000
--- a/OCH/taxi/driver/src/main/res/color/taxi_autopilot_text_color_selector.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/end_maker_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/end_maker_icon.png
deleted file mode 100755
index 8acf113151..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/end_maker_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_ai_normal_och.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_ai_normal_och.png
deleted file mode 100755
index e98738b192..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_ai_normal_och.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_ai_select_och.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_ai_select_och.png
deleted file mode 100755
index d3e0107c02..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_ai_select_och.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_bad_case_normal_och.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_bad_case_normal_och.png
deleted file mode 100755
index c0a978fc2b..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_bad_case_normal_och.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_bad_case_select_och.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_bad_case_select_och.png
deleted file mode 100755
index ebacf3a11a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_bad_case_select_och.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_station_start_end.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_station_start_end.png
deleted file mode 100644
index 04580a8f0d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/icon_station_start_end.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/no_order_data.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/no_order_data.png
deleted file mode 100644
index 0e61996d3f..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/no_order_data.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/start_maker_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/start_maker_icon.png
deleted file mode 100644
index 9eca61e199..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/start_maker_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_autopilot_pingxjs.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_autopilot_pingxjs.png
deleted file mode 100644
index 78bfa2687f..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_autopilot_pingxjs.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_autopilot_success.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_autopilot_success.png
deleted file mode 100755
index 84246fd323..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_autopilot_success.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_back_btn.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_back_btn.png
deleted file mode 100644
index 35e13ff68c..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_back_btn.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_icon_in_autopilot.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_icon_in_autopilot.png
deleted file mode 100644
index 75c26c3d71..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_icon_in_autopilot.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_icon_not_in_autopilot.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_icon_not_in_autopilot.png
deleted file mode 100644
index 927296d690..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_icon_not_in_autopilot.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_notice_box_bg.9.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_notice_box_bg.9.png
deleted file mode 100644
index 8b4b579b56..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_notice_box_bg.9.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_slide_block.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_slide_block.png
deleted file mode 100644
index 8ffd0abe52..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_base_slide_block.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_close_navi_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_close_navi_icon.png
deleted file mode 100644
index 56525e7ed2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_close_navi_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_dot_line.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_dot_line.png
deleted file mode 100644
index a720a532ea..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_dot_line.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_blue_big.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_blue_big.png
deleted file mode 100644
index 0c73689e8e..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_blue_big.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_blue_small.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_blue_small.png
deleted file mode 100644
index e9f6d32873..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_blue_small.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_green_big.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_green_big.png
deleted file mode 100644
index 650c5132c2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_green_big.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_green_small.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_green_small.png
deleted file mode 100644
index e300c1038c..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_circle_green_small.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_grab_order_bt.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_grab_order_bt.png
deleted file mode 100644
index 88b524d007..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_grab_order_bt.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_image_circle_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_image_circle_icon.png
deleted file mode 100644
index 5e3b7c7a06..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_image_circle_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_operation_tab_line.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_operation_tab_line.png
deleted file mode 100644
index 3f1a233b35..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_operation_tab_line.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_tab_item_bg.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_tab_item_bg.png
deleted file mode 100644
index f26800ecbf..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_driver_tab_item_bg.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_grab_dot_line.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_grab_dot_line.png
deleted file mode 100644
index a75cc835fa..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_grab_dot_line.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_grad_order_close_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_grad_order_close_icon.png
deleted file mode 100644
index 38584a971e..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_grad_order_close_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot.png
deleted file mode 100644
index 539e106058..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_bg.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_bg.png
deleted file mode 100755
index 5737f93ad8..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_bg.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_bg_pressed.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_bg_pressed.png
deleted file mode 100755
index af32c20cb5..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_bg_pressed.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_disable.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_disable.png
deleted file mode 100644
index 695515a366..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_disable.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_failed.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_failed.png
deleted file mode 100644
index 3347b2bfc2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_failed.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_loading.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_loading.png
deleted file mode 100644
index a71cf9a4f9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_loading.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_success.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_success.png
deleted file mode 100644
index dd7dc2d6b2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_ic_autopilot_success.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_icon_arrived_station.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_icon_arrived_station.png
deleted file mode 100644
index 8a065b66dd..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_icon_arrived_station.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_icon_arriving_station.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_icon_arriving_station.png
deleted file mode 100644
index 4ed57a0e30..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_icon_arriving_station.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_light_green_nor.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_light_green_nor.png
deleted file mode 100644
index bc9fed952d..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_light_green_nor.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_light_red_nor.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_light_red_nor.png
deleted file mode 100644
index 8732508ded..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_light_red_nor.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_lightyellow_nor.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_lightyellow_nor.png
deleted file mode 100644
index bae01408fd..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_lightyellow_nor.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_arrow_arrived.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_arrow_arrived.png
deleted file mode 100644
index 36ef2e88d3..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_arrow_arrived.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_arrow_un_arrive.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_arrow_un_arrive.png
deleted file mode 100644
index baa35592cb..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_arrow_un_arrive.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_car.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_car.png
deleted file mode 100644
index dedaf093e9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_car.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_view_dir_end.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_view_dir_end.png
deleted file mode 100644
index a81336d4c2..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_view_dir_end.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_view_dir_start.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_view_dir_start.png
deleted file mode 100644
index 3cee184981..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_map_view_dir_start.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_masking.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_masking.png
deleted file mode 100644
index b33738106e..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_masking.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_arrow_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_arrow_icon.png
deleted file mode 100644
index a83b7c9e74..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_arrow_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_direction_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_direction_icon.png
deleted file mode 100755
index 1b96799531..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_direction_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_icon.png
deleted file mode 100644
index bd4e6ccde4..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_line_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_line_icon.png
deleted file mode 100644
index 7f758d5999..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_navi_line_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_bg.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_bg.png
deleted file mode 100644
index 81cdcd3e4e..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_bg.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_cancel_close.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_cancel_close.png
deleted file mode 100644
index 8311715c9a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_cancel_close.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_cancel_close1.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_cancel_close1.png
deleted file mode 100644
index 370b61de38..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_cancel_close1.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_list_close_iv.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_list_close_iv.png
deleted file mode 100644
index 8311715c9a..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_list_close_iv.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_list_page.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_list_page.png
deleted file mode 100644
index 2a814bbfa9..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_order_list_page.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_out_btn.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_out_btn.png
deleted file mode 100644
index a3a771d686..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_out_btn.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png
deleted file mode 100644
index b0bcc4fc03..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_personal_btn.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_personal_btn.png
deleted file mode 100644
index 0cb863cecb..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_personal_btn.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_report_order_cancel_icon.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_report_order_cancel_icon.png
deleted file mode 100644
index ffda52cbdb..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_report_order_cancel_icon.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_selected_btn.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_selected_btn.png
deleted file mode 100644
index 2ff45e6bba..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_selected_btn.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_setting_btn_bg.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_setting_btn_bg.png
deleted file mode 100644
index a21f54cc53..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_setting_btn_bg.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_speed_bg.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_speed_bg.png
deleted file mode 100644
index 62942a7a42..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_speed_bg.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_switch_map_long.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_switch_map_long.png
deleted file mode 100755
index cf3e5a3778..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_switch_map_long.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_switch_map_medium.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_switch_map_medium.png
deleted file mode 100755
index bdc2725468..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_switch_map_medium.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_unselect_btn.png b/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_unselect_btn.png
deleted file mode 100644
index 6936596ebb..0000000000
Binary files a/OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_unselect_btn.png and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/drawable/ai_collect_selector_och.xml b/OCH/taxi/driver/src/main/res/drawable/ai_collect_selector_och.xml
deleted file mode 100755
index a130b0115b..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/ai_collect_selector_och.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/bad_case_selector_och.xml b/OCH/taxi/driver/src/main/res/drawable/bad_case_selector_och.xml
deleted file mode 100755
index fbc6c83a08..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/bad_case_selector_och.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/bg_taxi_traffic_light_background.xml b/OCH/taxi/driver/src/main/res/drawable/bg_taxi_traffic_light_background.xml
deleted file mode 100644
index d93d55da56..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/bg_taxi_traffic_light_background.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/grab_failure_anmi_flow.xml b/OCH/taxi/driver/src/main/res/drawable/grab_failure_anmi_flow.xml
deleted file mode 100644
index 5a0649a2c5..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/grab_failure_anmi_flow.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/grab_success_anmi_flow.xml b/OCH/taxi/driver/src/main/res/drawable/grab_success_anmi_flow.xml
deleted file mode 100644
index 0447f8441d..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/grab_success_anmi_flow.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/shape_size_grab_order_bt.xml b/OCH/taxi/driver/src/main/res/drawable/shape_size_grab_order_bt.xml
deleted file mode 100644
index 8659116cbc..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/shape_size_grab_order_bt.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/shape_size_operation_back.xml b/OCH/taxi/driver/src/main/res/drawable/shape_size_operation_back.xml
deleted file mode 100644
index ec1ff5c06d..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/shape_size_operation_back.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/shape_size_operation_out.xml b/OCH/taxi/driver/src/main/res/drawable/shape_size_operation_out.xml
deleted file mode 100644
index b505323904..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/shape_size_operation_out.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/shape_size_see_all_order.xml b/OCH/taxi/driver/src/main/res/drawable/shape_size_see_all_order.xml
deleted file mode 100644
index 09e02705e4..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/shape_size_see_all_order.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/shape_size_taxi_selected_btn.xml b/OCH/taxi/driver/src/main/res/drawable/shape_size_taxi_selected_btn.xml
deleted file mode 100644
index ac27d621f3..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/shape_size_taxi_selected_btn.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/shape_size_taxi_unselected_btn.xml b/OCH/taxi/driver/src/main/res/drawable/shape_size_taxi_unselected_btn.xml
deleted file mode 100644
index b29cd86d64..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/shape_size_taxi_unselected_btn.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_autopilot_bg_selector.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_autopilot_bg_selector.xml
deleted file mode 100644
index 350b784c17..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_autopilot_bg_selector.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_autopilot_status_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_autopilot_status_bg.xml
deleted file mode 100644
index e323eca4c3..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_autopilot_status_bg.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_base_autopilot_status_icon_selector.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_base_autopilot_status_icon_selector.xml
deleted file mode 100644
index 58aca03b29..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_base_autopilot_status_icon_selector.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_cancel_button_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_cancel_button_bg.xml
deleted file mode 100644
index 60eb252eab..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_cancel_button_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_checkbox_selector.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_checkbox_selector.xml
deleted file mode 100644
index adc3fce148..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_checkbox_selector.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_grab_order_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_grab_order_bg.xml
deleted file mode 100644
index b59f68a14b..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_grab_order_bg.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- -
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_grabing_order_btn_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_grabing_order_btn_bg.xml
deleted file mode 100644
index 4e5a7642d4..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_grabing_order_btn_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_line_bg1.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_line_bg1.xml
deleted file mode 100644
index 7fcd53f564..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_line_bg1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_line_bg2.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_line_bg2.xml
deleted file mode 100644
index e0861580ee..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_line_bg2.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_data_item_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_operation_data_item_bg.xml
deleted file mode 100644
index d81e0cd834..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_data_item_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_bg.xml
deleted file mode 100644
index f4769a12ce..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_bg_selector.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_bg_selector.xml
deleted file mode 100755
index b62b2a8188..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_bg_selector.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_select_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_select_bg.xml
deleted file mode 100644
index f617cd9fce..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_operation_status_select_bg.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_status_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_status_bg.xml
deleted file mode 100644
index c0b127ce27..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_status_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_status_canceled_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_status_canceled_bg.xml
deleted file mode 100644
index 71d6873641..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_status_canceled_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_type_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_type_bg.xml
deleted file mode 100644
index 3dc16fc865..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_type_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_type_reserver_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_type_reserver_bg.xml
deleted file mode 100644
index f029529adc..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_order_button_type_reserver_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_order_cancel_dialog_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_order_cancel_dialog_bg.xml
deleted file mode 100644
index 7d8f9d8621..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_order_cancel_dialog_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_order_viewpager_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_order_viewpager_bg.xml
deleted file mode 100644
index 3b20f9cbe8..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_order_viewpager_bg.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_panel_bkg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_panel_bkg.xml
deleted file mode 100644
index 323940f31b..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_panel_bkg.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_panel_distance_bkg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_panel_distance_bkg.xml
deleted file mode 100644
index c2046ded94..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_panel_distance_bkg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_setting_tip_red_cir_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_setting_tip_red_cir_bg.xml
deleted file mode 100644
index 2c07ab2a64..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_setting_tip_red_cir_bg.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_show_orders_bg.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_show_orders_bg.xml
deleted file mode 100644
index e5981a10d7..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_show_orders_bg.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/drawable/taxi_speed_selector.xml b/OCH/taxi/driver/src/main/res/drawable/taxi_speed_selector.xml
deleted file mode 100644
index c87ede1476..0000000000
--- a/OCH/taxi/driver/src/main/res/drawable/taxi_speed_selector.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_amap_navi_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_amap_navi_view.xml
deleted file mode 100644
index b6d0282e06..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_amap_navi_view.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml b/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
deleted file mode 100644
index a71da62b6f..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_being_order.xml b/OCH/taxi/driver/src/main/res/layout/taxi_being_order.xml
deleted file mode 100644
index b5de2ba236..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_being_order.xml
+++ /dev/null
@@ -1,306 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_map_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_map_view.xml
deleted file mode 100644
index 07a25f406b..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_map_view.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_no_data_common_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_no_data_common_view.xml
deleted file mode 100644
index 9ccbe981ef..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_no_data_common_view.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_operation_data_item_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_operation_data_item_view.xml
deleted file mode 100644
index 30f972ca38..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_operation_data_item_view.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_operation_data_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_operation_data_view.xml
deleted file mode 100644
index 04c3b385de..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_operation_data_view.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_operation_tab_item_custom.xml b/OCH/taxi/driver/src/main/res/layout/taxi_operation_tab_item_custom.xml
deleted file mode 100644
index 762a3346ab..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_operation_tab_item_custom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_order_cancel_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_order_cancel_view.xml
deleted file mode 100644
index 0be1796d6d..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_order_cancel_view.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_order_checkbox_item.xml b/OCH/taxi/driver/src/main/res/layout/taxi_order_checkbox_item.xml
deleted file mode 100644
index 6cc1730044..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_order_checkbox_item.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_order_grab_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_order_grab_view.xml
deleted file mode 100644
index 96f9445fe9..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_order_grab_view.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_order_list_boot_no_data_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_order_list_boot_no_data_view.xml
deleted file mode 100644
index 47f9446ca7..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_order_list_boot_no_data_view.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_order_reserve_item.xml b/OCH/taxi/driver/src/main/res/layout/taxi_order_reserve_item.xml
deleted file mode 100644
index 1890c0baa1..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_order_reserve_item.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_day_item.xml b/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_day_item.xml
deleted file mode 100644
index c5e9947df0..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_day_item.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_item.xml b/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_item.xml
deleted file mode 100644
index b9d6794ace..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_item.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_view.xml
deleted file mode 100644
index 8d04684ac7..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_orders_list_view.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_panel.xml b/OCH/taxi/driver/src/main/res/layout/taxi_panel.xml
deleted file mode 100644
index c7f614ecb3..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_panel.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_reserve_orders.xml b/OCH/taxi/driver/src/main/res/layout/taxi_reserve_orders.xml
deleted file mode 100644
index bf4905e7f0..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_reserve_orders.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_rotting_navi_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_rotting_navi_view.xml
deleted file mode 100644
index 2afe4b0610..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_rotting_navi_view.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_server_orders_panel.xml b/OCH/taxi/driver/src/main/res/layout/taxi_server_orders_panel.xml
deleted file mode 100644
index 2191961068..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_server_orders_panel.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_speed.xml b/OCH/taxi/driver/src/main/res/layout/taxi_speed.xml
deleted file mode 100644
index 4174c6385d..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_speed.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_tab_item_custom.xml b/OCH/taxi/driver/src/main/res/layout/taxi_tab_item_custom.xml
deleted file mode 100644
index 859589df62..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_tab_item_custom.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_traffic_light_view.xml b/OCH/taxi/driver/src/main/res/layout/taxi_traffic_light_view.xml
deleted file mode 100644
index 5156e30f3c..0000000000
--- a/OCH/taxi/driver/src/main/res/layout/taxi_traffic_light_view.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/raw/end_marker.nt3d b/OCH/taxi/driver/src/main/res/raw/end_marker.nt3d
deleted file mode 100644
index be6057c547..0000000000
Binary files a/OCH/taxi/driver/src/main/res/raw/end_marker.nt3d and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/raw/star_marker.nt3d b/OCH/taxi/driver/src/main/res/raw/star_marker.nt3d
deleted file mode 100644
index c6e546fc31..0000000000
Binary files a/OCH/taxi/driver/src/main/res/raw/star_marker.nt3d and /dev/null differ
diff --git a/OCH/taxi/driver/src/main/res/raw/taxi_order.json b/OCH/taxi/driver/src/main/res/raw/taxi_order.json
deleted file mode 100644
index e8d0819d3f..0000000000
--- a/OCH/taxi/driver/src/main/res/raw/taxi_order.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "drivingRoutes": [
- {
- "lat": 40.197234,
- "lon": 116.74143,
- "siteId": "1.0",
- "siteName": "万集东门站"
- },
- {
- "lat": 40.1953113732,
- "lon": 116.729134342,
- "siteId": "2.0",
- "siteName": "市政府前街18号"
- }
- ],
- "endStation": "市政府前街18号",
- "orderDispatchType": 1,
- "orderNo": "CZ20210430000005",
- "orderType": 9,
- "startStation": "万集东门站",
- "travelDistance": 0.6
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/raw/taxi_order_detail.json b/OCH/taxi/driver/src/main/res/raw/taxi_order_detail.json
deleted file mode 100644
index 7d62fcacb7..0000000000
--- a/OCH/taxi/driver/src/main/res/raw/taxi_order_detail.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "code": 0,
- "msg": "",
- "detailMsg": "",
- "result": {
- "_id": "5352c1d2c9d84ab3ab9ecf1e47e13bdd",
- "orderNo": "CZ20210427000016",
- "orderType": 9,
- "userName": "董QAD",
- "userPhone": "15631204018",
- "startStationId": 10000,
- "startStation": "0409第一站",
- "startStationCoordinate": [
- 116.7389159039,
- 40.1992312592
- ],
- "endStationId": 21,
- "endStation": "第二十一站",
- "endStationCoordinate": [
- 116.737866,
- 40.19646
- ],
- "orderDispatchType": 1,
- "carNum": "京NB010",
- "sn": "F803EB2046PZD00149",
- "orderStartTime": "Apr 27, 2021 8:55:44 PM",
- "arrivedStartStationTime": "",
- "arrivedEndStationTime": "",
- "cityCode": "010",
- "areaCode": "1001",
- "createTime": "Apr 27, 2021 8:55:44 PM",
- "updateTime": "Apr 27, 2021 8:55:56 PM",
- "personNum": 1,
- "travelDistance": 0.3,
- "vehicleColour": "黑色",
- "lastBrandName": "",
- "headImgUrl": "https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83ep4YkeZqjiazTK87NQtYp6KMYvAdJcxNpxyJ2gibeNNheH1HFaJdX4hB15eIR3zZdGMWNanKzIn460w/132"
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/raw/taxi_order_state_update.json b/OCH/taxi/driver/src/main/res/raw/taxi_order_state_update.json
deleted file mode 100644
index 9ee3d17f02..0000000000
--- a/OCH/taxi/driver/src/main/res/raw/taxi_order_state_update.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "endStation": "市政府前街18号",
- "endStationId": "2.0",
- "orderDispatchType": 7,
- "orderNo": "CZ20210430000005",
- "orderType": 9,
- "startStation": "万集东门站",
- "startStationId": "1.0",
- "travelDistance": 0.6
-}
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/values/arrays.xml b/OCH/taxi/driver/src/main/res/values/arrays.xml
deleted file mode 100644
index 0d2c4cc409..0000000000
--- a/OCH/taxi/driver/src/main/res/values/arrays.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/values/colors.xml b/OCH/taxi/driver/src/main/res/values/colors.xml
deleted file mode 100644
index 3aa7cfc710..0000000000
--- a/OCH/taxi/driver/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- #FFFFFF
- #707DBE
- #8198E8
- #8198E8
- #8198E8
- #FFFFFF
- #FF2B6EFF
- #FF3B4577
- #80000000
-
- #FFFFFF
- #99FFFFFF
- #FF52BBFF
-
- #4DFFFFFF
-
- #FFFFA28B
- #FFDA1100
- #FF60FFD3
- #FF006D43
- #FFFFE198
- #FFFF9B00
-
- #657EE2
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/values/dimens.xml b/OCH/taxi/driver/src/main/res/values/dimens.xml
deleted file mode 100644
index 089ad7c16f..0000000000
--- a/OCH/taxi/driver/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
- 40dp
- 40dp
- 46dp
- 24dp
-
- 530dp
- 492dp
-
- 20dp
- 20dp
- 70dp
- 130dp
- 93dp
- 150dp
- 70dp
-
- 24dp
- 460dp
- 140dp
-
- 102dp
- 102dp
-
- 83dp
-
- 40dp
- 466dp
- 414dp
-
-
-
- 46dp
- 13dp
- 12dp
- 350dp
-
-
- 560dp
- 910dp
-
-
- 460dp
- 30dp
-
-
- 15dp
- 25dp
- 25dp
- 32dp
-
-
- 1dp
- 20dp
- 20dp
- 20dp
-
-
- 140dp
- 20dp
- 41dp
- 17dp
- 41dp
-
-
- 42dp
- 32dp
- 32dp
- 84dp
- 3dp
-
-
- 20dp
- 32dp
- 36dp
-
-
- 17dp
- 31.5dp
-
-
- 800dp
- 222dp
- 1120dp
- 162dp
- 446dp
- 400dp
- 160dp
- 432dp
- 64dp
- 616dp
- 132dp
- 300dp
- 240dp
- 400dp
- 160dp
- 280dp
- 120dp
-
- 220dp
- 420dp
- 220dp
-
- 16dp
-
- 225dp
- 154dp
- 60dp
- 40dp
- 23dp
- 210dp
- 120dp
- 15dp
- 17dp
- 154dp
- 130dp
- 60dp
-
- 34dp
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/values/strings.xml b/OCH/taxi/driver/src/main/res/values/strings.xml
deleted file mode 100644
index d6c8d2edd2..0000000000
--- a/OCH/taxi/driver/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
- 确认上车,行程开始
- 到达站点,乘客已下车
- 预计里程
- 3.2 km
- 请携带好随身物品,注意侧后\n方来车,感谢体验蘑菇智行自\n动驾驶车!
- 即将到达目的地,请您携带好随身物品,安全下车。
- 送乘客至目的地
- 等待乘客上车
- 乘客已上车
- 已到达乘客下车点
- 订单已完成
- 请选择取消订单的理由
- 出现异常情况时,可选择原因无责取消订单:
- 确认
- 开始服务
- 自驾模式
- 安全模式
- 跳过乘客验证
- 等待乘客开始行程
- 请等待乘客启动自动驾驶,或您自行启动
- 服务完成
- 结束行程
-
- 提示
- 您确认要结束行程吗
- 确认
- 取消
-
-
- 自动驾驶状态为0不可用
- 司机端未确认可以开启自动驾驶
-
- 网络异常,请稍后重试
- 请求出现异常,请稍后重试
-
-
-
- 乘客验证成功,请开始行程
- 已到达上车站点,等待乘客上车
- 前往乘客上车地点
- 订单已取消
- 车辆已停稳,请携带好随身物品,下车请注意安全
- 您好,本次行程共%1$s%2$s,预计需要%3$d分钟,我们即将出发。出于安全考虑,建议您尽量不要与安全员交谈,后排落座,并系好安全带
- 即将到达目的地,请拿好随身物品,准备下车
- 您好,我们已到达目的地,本次体验结束。车辆停稳,请带好随身物品,谨防遗漏。感谢您的乘坐
-
- 自动驾驶状态中,不可结束路线
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/values/styles.xml b/OCH/taxi/driver/src/main/res/values/styles.xml
deleted file mode 100644
index 4dc523b396..0000000000
--- a/OCH/taxi/driver/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/.gitignore b/OCH/taxi/passenger/.gitignore
deleted file mode 100644
index 42afabfd2a..0000000000
--- a/OCH/taxi/passenger/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/OCH/taxi/passenger/build.gradle b/OCH/taxi/passenger/build.gradle
deleted file mode 100644
index 45856a5f6d..0000000000
--- a/OCH/taxi/passenger/build.gradle
+++ /dev/null
@@ -1,69 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
-apply plugin: 'kotlin-kapt'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- // buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles "consumer-rules.pro"
-
- kapt {
- useBuildCache = false
- arguments {
- arg("AROUTER_MODULE_NAME", "taxi"+project.getName())
- }
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
- lintOptions {
- abortOnError false
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- debug {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- implementation fileTree(dir: "libs", include: ["*.jar"])
- implementation rootProject.ext.dependencies.kotlinstdlib
- implementation rootProject.ext.dependencies.androidxappcompat
- implementation rootProject.ext.dependencies.arouter
- implementation rootProject.ext.dependencies.androidxrecyclerview
- implementation rootProject.ext.dependencies.material
- implementation rootProject.ext.dependencies.flexbox
- kapt rootProject.ext.dependencies.aroutercompiler
- implementation rootProject.ext.dependencies.rxandroid
- implementation rootProject.ext.dependencies.androidxconstraintlayout
- implementation rootProject.ext.dependencies.amapnavi3dmap
- implementation rootProject.ext.dependencies.amapsearch
-
-// implementation project(":OCH:common:common")
- compileOnly project(":libraries:mogo-map")
- implementation project(':core:mogo-core-res')
- implementation project(':OCH:taxi:pcommon')
-
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/OCH/taxi/passenger/consumer-rules.pro b/OCH/taxi/passenger/consumer-rules.pro
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/OCH/taxi/passenger/gradle.properties b/OCH/taxi/passenger/gradle.properties
deleted file mode 100644
index 1aa38956f3..0000000000
--- a/OCH/taxi/passenger/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.och
-POM_ARTIFACT_ID=och-taxi-passenger
-VERSION_CODE=1
diff --git a/OCH/taxi/passenger/proguard-rules.pro b/OCH/taxi/passenger/proguard-rules.pro
deleted file mode 100644
index 481bb43481..0000000000
--- a/OCH/taxi/passenger/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/AndroidManifest.xml b/OCH/taxi/passenger/src/main/AndroidManifest.xml
deleted file mode 100644
index 667dac6a6b..0000000000
--- a/OCH/taxi/passenger/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/assets/style.data b/OCH/taxi/passenger/src/main/assets/style.data
deleted file mode 100644
index 81026ad8cf..0000000000
Binary files a/OCH/taxi/passenger/src/main/assets/style.data and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/assets/style_extra.data b/OCH/taxi/passenger/src/main/assets/style_extra.data
deleted file mode 100644
index 16cb7f1e68..0000000000
Binary files a/OCH/taxi/passenger/src/main/assets/style_extra.data and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt
deleted file mode 100644
index d6aa9cb3b7..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.mogo.och.taxi.passenger
-
-import android.content.Context
-import android.view.View
-import androidx.fragment.app.Fragment
-import com.alibaba.android.arouter.facade.annotation.Route
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
-import com.mogo.och.common.module.constant.OchCommonConst
-import com.mogo.och.common.module.biz.provider.CommonService
-import com.mogo.och.common.module.biz.provider.CommonServiceImpl
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
-import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment
-import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
-import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager
-
-/**
- * @author congtaowang
- * @since 2021/1/15
- *
- *
- * 网约车-出租车-乘客端
- */
-@Route(path = OchCommonConst.TAXI_PASSENGER)
-class TaxiPassengerProvider : CommonServiceImpl() {
-
- private val tag = TaxiPassengerProvider::class.java.simpleName
- private var ochTaxiPassengerFragment: TaxiPassengerBaseFragment?=null
- override fun init(context: Context) {
- d(SceneConstant.M_TAXI_P + tag, "init")
- }
-
- override fun getStatusBarView(context: Context): View {
- if (statusBarView == null) {
- statusBarView = StatusBarView(context)
- }
- OchAutopilotAnalytics.ochEventKey = TaxiPassengerAnalyticsManager
-
- return statusBarView!!
- }
-
- override fun getFragment(): Fragment {
- if(ochTaxiPassengerFragment==null){
- ochTaxiPassengerFragment = TaxiPassengerBaseFragment()
- }
- OchAutopilotAnalytics.ochEventKey = null
- return ochTaxiPassengerFragment!!
- }
-
- override fun resetFragment() {
- super.resetFragment()
- ochTaxiPassengerFragment = null
- }
-
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerBaseRespBean.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerBaseRespBean.java
deleted file mode 100644
index 4ad877a45b..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerBaseRespBean.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-import com.mogo.eagle.core.data.BaseData;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 查询订单返回数据结构
- */
-public class TaxiPassengerBaseRespBean extends BaseData {
- public Object data;
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java
deleted file mode 100644
index ffef1d0a34..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 验证手机号后四位同时流转订单状态
- */
-public class TaxiPassengerCheckPhoneUpdateOrderReqBean {
-
- public String orderNo;
- public String phone;
-
- public TaxiPassengerCheckPhoneUpdateOrderReqBean(String orderNo,String phone) {
- this.orderNo = orderNo;
- this.phone = phone;
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java
deleted file mode 100644
index c15f77d484..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 查询订单信息请求数据结构
- */
-public class TaxiPassengerOrderQueryReqBean {
-
- public String driverSn;
- public String orderNo;
-
- public TaxiPassengerOrderQueryReqBean(String driverSn, String orderNo) {
- this.driverSn = driverSn;
- this.orderNo = orderNo;
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java
deleted file mode 100644
index 4e1f5ce7b8..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-import com.mogo.eagle.core.data.BaseData;
-import com.mogo.och.data.taxi.BaseOrderBean;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 查询订单返回数据结构
- */
-public class TaxiPassengerOrderQueryRespBean extends BaseData {
- public Result data;
-
- public static class Result extends BaseOrderBean implements Comparable{
- // 订单类型
- public int orderType; //1即时单 2预约单
- // 订单运营类型 (9出租车,10小巴)
- public int businessType;
- // 起始站点id
- public int startSiteId;
- // 起始站点名称
- public String startSiteAddr;
- // 起始站点坐标
- public List startSitePoint; //wgs坐标,用于自动驾驶 [lon,lat]
- public List startSiteGcjPoint; //高德坐标,用于本地计算距离 [lon,lat]
- // 终点站点id
- public int endSiteId;
- // 终点站点名称
- public String endSiteAddr;
- // 终点站点坐标
- public List endSitePoint; //wgs坐标,用于自动驾驶 [lon,lat]
- public List endSiteGcjPoint; //高德坐标,用于计算距离 [lon,lat]
-
- // 车牌号
- public String carNumber;
- //订单创建时间戳
- public long createTime;
- //开始服务时间戳:司机点击'开始服务'后订单状态更新成功的时间
- public long startTime;
- //预计用车时间:预约单=下单时的预约用车时间;即时单=派单成功的时间+预估的达到上车点的时间
- public long bookingTime;
- //乘客手机号
- public String passengerPhone;
- //订单多少乘客
- public String passengerNum;
-
- public long lineId = -1; //路线id,默认-1
- public String lineName = ""; //路线名称,默认""
- public String csvFileUrl = ""; //轨迹文件下载的cos url,默认“”
- public String csvFileMd5 = ""; //轨迹文件md5,默认“”
- public String txtFileUrl = ""; //打点文件下载的cos url,默认“”
- public String txtFileMd5 = ""; //轨迹文件md5,默认“”
- public long contrailSaveTime; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖
- public String carModel = ""; //[optional] 车型号(如红旗H9),默认“”,暂不加入校验逻辑、用于人工排查问题
- public String csvFileUrlDPQP = ""; //轨迹文件下载的cos url,默认“”
- public String csvFileMd5DPQP = ""; //轨迹文件md5,默认“”
- public String txtFileUrlDPQP = ""; //打点文件下载的cos url,默认“”
- public String txtFileMd5DPQP = ""; //轨迹文件md5,默认“”
- public long contrailSaveTimeDPQP; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖
-
- @Override
- public String getEndSiteAddr() {
- return endSiteAddr;
- }
-
- @Override
- public int compareTo(Result o) {
- boolean isEqual = this.orderNo.equals(o.orderNo);
- return isEqual ? 0 : 1;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- Result result = (Result) o;
- return Objects.equals(orderNo, result.orderNo) &&
- orderType == result.orderType &&
- orderStatus == result.orderStatus &&
- businessType == result.businessType;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(orderNo, orderType, orderStatus, businessType, startSiteId,
- startSiteAddr, startSitePoint, startSiteGcjPoint, endSiteId, endSiteAddr,
- endSitePoint, endSiteGcjPoint, carNumber, createTime, startTime);
- }
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrdersInServiceQueryRespBean.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrdersInServiceQueryRespBean.java
deleted file mode 100644
index 08925ce3d9..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrdersInServiceQueryRespBean.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-import com.mogo.eagle.core.data.BaseData;
-
-import java.util.List;
-
-/**
- * Created on 2021/9/8
- *
- * 查询全部服务中/待服务订单的返回数据
- */
-public class TaxiPassengerOrdersInServiceQueryRespBean extends BaseData {
- public Result data;
-
- public static class Result {
- public List servicing; //服务中订单
- public List waitService; //待服务订单
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerStartReqBean.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerStartReqBean.java
deleted file mode 100644
index 741c9c2b69..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerStartReqBean.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-/**
- * Created by pangfan on 2021/8/19
- * 司机端准备好或者乘客已验证上车请求参数
- */
-public class TaxiPassengerStartReqBean {
-
- public String orderNo;
- public String sn;
- public TaxiPassengerStartReqBean.Result loc;
-
- public static class Result {
- public Double lat;
- public Double lon;
- }
-
- public TaxiPassengerStartReqBean(String sn, String orderNo, TaxiPassengerStartReqBean.Result point) {
- this.sn = sn;
- this.orderNo = orderNo;
- this.loc = point;
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java
deleted file mode 100644
index 204760da46..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.mogo.och.taxi.passenger.bean;
-
-public class TaxiPassengerVideoPlay {
-
- public TaxiPassengerVideoPlay(String url, String imageUrl, String title) {
- this.url = url;
- this.imageUrl = imageUrl;
- this.title = title;
- }
-
- private String url;
- private String imageUrl;
- private String title;
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getImageUrl() {
- return imageUrl;
- }
-
- public void setImageUrl(String imageUrl) {
- this.imageUrl = imageUrl;
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerOrderStatusCallback.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerOrderStatusCallback.kt
deleted file mode 100644
index 5b036a05ed..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerOrderStatusCallback.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mogo.och.taxi.passenger.callback
-
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean
-
-/**
- * Created on 2021/9/8
- *
- * Model->Presenter回调:订单相关(进行中/待服务单变更,当前进行单状态变更,新到预约单,抢单,抢单结果状态等等)
- */
-interface IOCHTaxiPassengerOrderStatusCallback {
-
- // 当前位置距离上车点的距离(米)、预估时间(秒)
- fun onCurrentOrderDistToEndChanged(meters: Long, timeInSecond: Long,stationDistance:Int){}
-
- // 司机已确认开启自动驾驶环境
- fun onDriverHasCheckedPilotCondition(isBoarded: Boolean){}
-
- fun onMessageGo2OverMapview(){}
- fun onCurrentOrderDistAndduration(distanceToEnd: Long, durationToEnd: Long){}
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt
deleted file mode 100644
index df64b04e4c..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.mogo.och.taxi.passenger.constant
-
-import com.mogo.commons.debug.DebugConfig
-
-/**
- * Created on 2021/12/6
- */
-class TaxiPassengerConst {
- companion object {
-
-
- // 开始服务启动自动驾驶等待时间(埋点上传)
- const val LOOP_PERIOD_15S = 15 * 1000L
-
- const val TAXI_AVERAGE_SPEED = 38
-
-
- // 埋点key:接管后点击'自动驾驶'按钮启动
- const val EVENT_KEY_RESTART_AUTOPILOT = "event_key_och_taxi_restart_autopilot"
- // 埋点key:开始服务开启自动驾驶(成功/失败)
- const val EVENT_KEY_START_SERVICE = "event_key_och_taxi_start_service"
- const val EVENT_PARAM_SN = "sn"
- const val EVENT_PARAM_TIME = "time"
- const val EVENT_PARAM_START_NAME = "start_name"
- const val EVENT_PARAM_END_NAME = "end_name"
- const val EVENT_PARAM_ORDER_NUMBER = "order_num"
- const val EVENT_PARAM_LINE_ID = "line_id"
- const val EVENT_PARAM_MAP_ORIGINAL_DATA = "map_original_data" // 域控原始状态信息
- const val EVENT_PARAM_AUTOPILOT_STATE = "autopilot_state" //原始的自动驾驶状态
- const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false
- const val EVENT_PARAM_START_FAILURE_CODE = "start_autopilot_failure_code" // 启动自驾失败code
- const val EVENT_PARAM_START_FAILURE_MSG = "start_autopilot_failure_msg" // 启动自驾失败原因
- const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号
- const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false
-
- // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾
- const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_taxi_ap_unable_start_reason"
- const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason";
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt
deleted file mode 100644
index a4c70233e1..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt
+++ /dev/null
@@ -1,277 +0,0 @@
-package com.mogo.och.taxi.passenger.model
-
-import com.alibaba.android.arouter.utils.TextUtils
-import com.elegant.network.utils.GsonUtil
-import com.mogo.commons.voice.AIAssist
-import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
-import com.mogo.eagle.core.data.config.FunctionBuildConfig
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
-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.util.StringUtils
-import com.mogo.eagle.core.utilcode.util.ToastUtils
-import com.mogo.och.common.module.network.OchCommonServiceCallback
-import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
-import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
-import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
-import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
-import com.mogo.och.common.module.utils.PinYinUtil
-import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerStartReqBean
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
-import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager
-
-object AutopilotManager : IOchAutopilotStatusListener {
-
- private const val TAG = "AutopilotManager"
-
- init {
- OchAutoPilotStatusListenerManager.addListener(TAG, this)
- }
- //检测当前订单
- private fun checkCurrentOCHOrder(): Boolean {
- return TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.currentOCHOrder!!.startSiteGcjPoint != null && TaxiPassengerModel.currentOCHOrder!!.endSiteGcjPoint != null
- }
-
-
- fun startAutopilot():String {
-
- /**
- * 存在Session
- */
- if (!OchAutoPilotManager.canStartAutopilotBySessionId()) {
- return "请等待结果后在重新启动"
- }
-
- OchAutopilotAnalytics.triggerClickStartAutopilotTime(System.currentTimeMillis())
-
- if (!checkCurrentOCHOrder()) {
- CallerLogger.e(
- SceneConstant.M_TAXI_P + TAG,
- "no order or order is empty."
- )
- ToastUtils.showShort("当前订单不存在或异常!")
- return "当前订单不存在或异常!"
- }
- if (TaxiPassengerModel.currentOCHOrder!!.orderStatus == TaxiOrderStatusEnum.UserArriveAtStart.code) {
- startServicePilotDone()
- }
- //1、判断轨迹Id是否可用
- TaxiPassengerModel.currentOCHOrder?.let {
- //根据开关和后台是否发布轨迹启动自驾
- if (FunctionBuildConfig.isPassStartAutopilotCommand
- && TextUtils.isEmpty(it.csvFileUrl)
- && TextUtils.isEmpty(it.csvFileUrlDPQP)
- ) {
- ToastUtils.showLong("无发布轨迹, 请发布后重试")
- CallerLogger.e(
- TAG, "isPassStartAutopilotCommand = " +
- FunctionBuildConfig.isPassStartAutopilotCommand
- + "busRoutesResult.csvFileUrl = " + it.csvFileUrl
- )
- return "无发布轨迹, 请发布后重试"
- }
- }
- //2、6个条件判断
- if (!CallerAutoPilotControlManager.isCanStartAutopilot(false)) {
- return "启动自动驾驶不满足条件"
- }
- //3、距离轨迹15m计算
- var resion = OchAutoPilotManager.canStartAutoPilotByDistance(TaxiPassengerModel.currentOCHOrder!!.lineId)
- if(TrajectoryAndDistanceManager.errorTypeNoneLineId.equals(resion)){
- TaxiPassengerModel.setStation();
- resion = OchAutoPilotManager.canStartAutoPilotByDistance(TaxiPassengerModel.currentOCHOrder!!.lineId);
- }
- if (!StringUtils.isEmpty(resion)) {
- ToastUtils.showShort(resion)
- VoiceNotice.showNotice(resion);
- return resion
- }
- // 4、ssm 给出数据
- if (!OchAutoPilotManager.canStartAutoPilotSSM()) {
- OchAutopilotAnalytics.triggerUnableStartAPReasonEvent(
- TaxiPassengerModel.currentOCHOrder!!.startSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.endSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.lineId.toString(),
- TaxiPassengerModel.currentOCHOrder!!.orderNo,
- OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason
- )
- return OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason + ", 请稍候重试"
- }
- if(CallerAutoPilotStatusListenerManager.getState()
- == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){
- ToastUtils.showShort("自驾中、请勿重复启动");
- return "自驾中、请勿重复启动";
- }
-
- val parameters = initAutopilotControlParameters()
- if (parameters == null) {
- CallerLogger.d(
- SceneConstant.M_TAXI_P + TAG,
- "AutopilotControlParameters is empty."
- )
- return "自动化驾驶参数异常"
- }
- val sessionId = OchAutoPilotManager.startAutoPilot(parameters)
- CallerLogger.d(
- SceneConstant.M_TAXI_P + TAG,
- "start autopilot with parameter: %s",
- GsonUtil.jsonFromObject(parameters)
- + " ,startSiteName=" + TaxiPassengerModel.currentOCHOrder!!.startSiteAddr
- + " ,endSiteName=" + TaxiPassengerModel.currentOCHOrder!!.endSiteAddr
- )
- OchAutopilotAnalytics.triggerStartAutopilotEvent(
- false,
- false,
- TaxiPassengerModel.currentOCHOrder!!.startSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.endSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.lineId.toInt(),
- TaxiPassengerModel.currentOCHOrder!!.orderNo,
- System.currentTimeMillis(),0
- )
- OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId)
- return ""
- }
-
- private fun initAutopilotControlParameters(): AutopilotControlParameters? {
- if (!checkCurrentOCHOrder()) {
- CallerLogger.e(
- SceneConstant.M_TAXI_P + TAG,
- "no order or order is empty."
- )
- ToastUtils.showShort("当前订单不存在或异常!")
- return null
- }
- val parameters = AutopilotControlParameters()
- val startWgsLon = TaxiPassengerModel.currentOCHOrder!!.startSitePoint[0]
- val startWgsLat = TaxiPassengerModel.currentOCHOrder!!.startSitePoint[1]
- val endWgsLon = TaxiPassengerModel.currentOCHOrder!!.endSitePoint[0]
- val endWgsLat = TaxiPassengerModel.currentOCHOrder!!.endSitePoint[1]
- parameters.vehicleType = TaxiPassengerModel.currentOCHOrder!!.businessType
- parameters.startName =
- PinYinUtil.getPinYinHeadChar(TaxiPassengerModel.currentOCHOrder!!.startSiteAddr) // 起点名称拼音首字母大写:科学城B区2号门(KXCBQ2HM)
- parameters.endName =
- PinYinUtil.getPinYinHeadChar(TaxiPassengerModel.currentOCHOrder!!.endSiteAddr) // 终点名称拼音首字母大写:科学城C区三号门(KXCCQSHM)
- parameters.startLatLon =
- AutopilotControlParameters.AutoPilotLonLat(startWgsLat, startWgsLon)
- parameters.endLatLon = AutopilotControlParameters.AutoPilotLonLat(endWgsLat, endWgsLon)
-
- // TODO 这里需要增加传入 白名单点列表、黑名单点列表,顺序按照服务端传入顺序为准。
- //parameters.wayLatLons
- //parameters.blackLatLons
-
- if (parameters.autoPilotLine == null) {
- parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine(
- TaxiPassengerModel.currentOCHOrder!!.lineId,
- TaxiPassengerModel.currentOCHOrder!!.lineName,
- TaxiPassengerModel.currentOCHOrder!!.csvFileUrl,
- TaxiPassengerModel.currentOCHOrder!!.csvFileMd5,
- TaxiPassengerModel.currentOCHOrder!!.txtFileUrl,
- TaxiPassengerModel.currentOCHOrder!!.txtFileMd5,
- TaxiPassengerModel.currentOCHOrder!!.contrailSaveTime,
- TaxiPassengerModel.currentOCHOrder!!.carModel,
- TaxiPassengerModel.currentOCHOrder!!.csvFileUrlDPQP,
- TaxiPassengerModel.currentOCHOrder!!.csvFileMd5DPQP,
- TaxiPassengerModel.currentOCHOrder!!.txtFileUrlDPQP,
- TaxiPassengerModel.currentOCHOrder!!.txtFileMd5DPQP,
- TaxiPassengerModel.currentOCHOrder!!.contrailSaveTimeDPQP
- )
- }
- return parameters
- }
-
- /**
- * 将业务订单信息保存,鹰眼可取用
- */
- fun updateAutopilotControlParameters() {
- val parameters = initAutopilotControlParameters()
- if (null == parameters) {
- CallerLogger.e(
- SceneConstant.M_TAXI_P + TAG,
- "AutopilotControlParameters is empty."
- )
- return
- }
- CallerLogger.d(
- SceneConstant.M_TAXI_P + TAG,
- "AutopilotControlParameters is update."
- )
- CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters)
- }
-
- fun clearAutopilotControlParameters() {
- CallerLogger.d(
- SceneConstant.M_TAXI_P + TAG,
- "AutopilotControlParameters is clear."
- )
- CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null)
- }
-
- override fun onAutopilotStatusResponse(state: Int) {
- // 启动自驾成功
- when (state) {
- IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
- if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiOrderStatusEnum.UserArriveAtStart) {
- OchAutopilotAnalytics.triggerStartAutopilotEvent(
- false,
- true,
- TaxiPassengerModel.currentOCHOrder!!.startSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.endSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.lineId.toInt(),
- TaxiPassengerModel.currentOCHOrder!!.orderNo,
- System.currentTimeMillis(),0
- )
- //startServicePilotDone()
- }
- }
- else -> {}
- }
- }
-
- override fun onAutopilotStatusResponseFromCan(state: Int) {
- super.onAutopilotStatusResponseFromCan(state)
- when (state) {
- IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
- if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiOrderStatusEnum.UserArriveAtStart) {
- OchAutopilotAnalytics.triggerStartAutopilotEvent(
- false,
- true,
- TaxiPassengerModel.currentOCHOrder!!.startSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.endSiteAddr,
- TaxiPassengerModel.currentOCHOrder!!.lineId.toInt(),
- TaxiPassengerModel.currentOCHOrder!!.orderNo,
- System.currentTimeMillis(),1
- )
- //startServicePilotDone()
- }
- }
- }
- }
-
- /**
- * 乘客屏启动自动驾驶成功
- */
- fun startServicePilotDone() {
- if (TaxiPassengerModel.currentOCHOrder == null) return
- val result = TaxiPassengerStartReqBean.Result()
- val currentLocation = OchLocationManager.getGCJ02Location()
- result.lat = currentLocation.latitude
- result.lon = currentLocation.longitude
- TaxiPassengerServiceManager.startServicePilotDone(
- TaxiPassengerModel.currentOCHOrder!!.orderNo, result,
- object : OchCommonServiceCallback {
- override fun onSuccess(data: TaxiPassengerBaseRespBean) {
- VoiceNotice.showNotice("坐稳扶好,我们出发咯!", AIAssist.LEVEL2)
- }
- override fun onFail(code: Int, msg: String) {}
- })
- }
-
-
-}
\ 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
deleted file mode 100644
index 0b010d8912..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt
+++ /dev/null
@@ -1,388 +0,0 @@
-package com.mogo.och.taxi.passenger.model
-
-import android.annotation.SuppressLint
-import android.content.Context
-import android.net.ConnectivityManager
-import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
-import com.mogo.commons.module.intent.IMogoIntentListener
-import com.mogo.commons.module.intent.IntentManager
-import com.mogo.commons.voice.AIAssist
-import com.mogo.eagle.core.data.map.MogoLocation
-import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxEventListener
-import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager
-import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager
-import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager
-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.scene.SceneConstant.Companion.M_TAXI_P
-import com.mogo.eagle.core.utilcode.util.NetworkUtils
-import com.mogo.eagle.core.utilcode.util.ToastUtils
-import com.mogo.och.common.module.network.OchCommonServiceCallback
-import com.mogo.och.common.module.callback.OchAdasStartFailureCallback
-import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager
-import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
-import com.mogo.och.common.module.manager.distance.IDistanceListener
-import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
-import com.mogo.och.common.module.manager.loop.BizLoopManager
-import com.mogo.och.common.module.manager.loop.LoopInfo
-import com.mogo.och.common.module.utils.RxUtils
-import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean
-import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
-import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum.Companion.valueOf
-import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager
-import com.mogo.och.common.module.biz.order.OrderModel
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean
-import java.util.concurrent.ConcurrentHashMap
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 网约车 - 出租车业务逻辑处理
- */
-@SuppressLint("StaticFieldLeak")
-object TaxiPassengerModel {
-
- private var mContext: Context? = null
-
- private val TAG = TaxiPassengerModel::class.java.simpleName
-
- private const val STARTREADYTOAUTOPILOT = "startReadyToAutopilot"
- private const val MINANDWAITSERVICE = "mInAndWaitService"
-
- // 获取当前订单
- @Volatile
- var currentOCHOrder: TaxiPassengerOrderQueryRespBean.Result? = null//当前订单
-
- private val mOrderStatusCallbackMap: MutableMap = ConcurrentHashMap()
-
- fun setOrderStatusCallback(tag: String?, callback: IOCHTaxiPassengerOrderStatusCallback?) {
- if (tag == null || "" == tag) return
- if (callback == null) {
- mOrderStatusCallbackMap.remove(tag)
- return
- }
- mOrderStatusCallbackMap[tag] = callback
- }
-
- fun init(context: Context) {
- mContext = context.applicationContext
- initListeners()
- RxUtils.errCatch()
- startOrStopOrderLoop()
- }
-
- /**
- * 订单轮询 初始化主Fragment的Presenter init 调用
- */
- private fun startOrStopOrderLoop() {
- if (NetworkUtils.isConnected(mContext)) {
- startOrStopOrderLoop(true)
- }
- }
-
- /**
- * 关闭订单轮训 页面摧毁时
- */
- fun release() {
- startOrStopOrderLoop(false)
- releaseListeners()
- }
-
- private fun initListeners() {
-
- // 2021.11.1重构自动驾驶 实现接口 IMoGoAutopilotStatusListener 注册监听 替换IMogoAdasOCHCallback接口
- IntentManager.getInstance().registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener)
-
- AbnormalFactorsLoopManager.startLoopAbnormalFactors(mContext!!)
-
- //开启自驾后 异常信息返回
- CallerMsgBoxEventListenerManager.addListener(TAG, iMsgBoxEventListener)
- TrajectoryAndDistanceManager.addDistanceListener(TAG, distanceListener)
- }
-
- private fun releaseListeners() {
- MogoAiCloudSocketManager.getInstance(mContext).unregisterLifecycleListener(10010)
- AbnormalFactorsLoopManager.stopLoopAbnormalFactors()
- CallerMsgBoxEventListenerManager.removeListener(iMsgBoxEventListener)
- TrajectoryAndDistanceManager.removeListener(TAG)
- }
-
- /**
- * 订单轮训
- * @param start true 开启订单轮训
- * false 关闭订单轮训
- */
- private fun startOrStopOrderLoop(start: Boolean) {
- d(M_TAXI_P + TAG, "startOrStopOrderLoop() $start")
- if (start) {
- BizLoopManager.setLoopFunction(MINANDWAITSERVICE,LoopInfo(2, TaxiPassengerModel::queryInAndWaitOrders))
- } else {
- BizLoopManager.removeLoopFunction(MINANDWAITSERVICE)
- }
- }
-
- /**
- * 查询订单状态:进行中/待服务(轮询防止因crash导致应用重启、断网没收到推送等)
- *
- * 注:只有在本地缓存mCurrentOCHOrder为null时(已完成or已取消有明确结果)或id相同且status不同时,
- * 才更新最新进行中单到本地
- */
- private fun queryInAndWaitOrders() {
- TaxiPassengerServiceManager.queryOrdersInAndWaitService(
- object : OchCommonServiceCallback {
- override fun onSuccess(data: TaxiPassengerOrdersInServiceQueryRespBean) {
- if (data.data == null) {
- if(currentOCHOrder!=null){
- queryCurOrderStatus()
- }
- return
- }
- //1. 处理进行中订单
- if (data.data.servicing != null && data.data.servicing.isNotEmpty()) {
- // 1.1. 当存在进行中单时:对本地currentOrder进行更新
- val currentOrder = data.data.servicing[0]
- if(currentOCHOrder==null||currentOCHOrder?.orderStatus!=currentOrder.orderStatus){
- currentOCHOrder = currentOrder
- orderStatusChange()
- }else {
- currentOCHOrder = currentOrder
- }
- }else{
- if(currentOCHOrder!=null){
- queryCurOrderStatus()
- }
- }
- }
-
- override fun onError() {
- e(M_TAXI_P + TAG, "queryInAndWaitOrders onError")
- }
- override fun onFail(code: Int, msg: String) {
- e(M_TAXI_P + TAG, "queryInAndWaitOrders$code$msg")
- }
- })
- }
-
- //仅用于轮询时查到本地有mCurrentOCHOrder但请求结果无进行中单or orderId不一致是复查本地currentOrder
- private fun queryCurOrderStatus() {
- currentOCHOrder?.orderNo?.let {
- TaxiPassengerServiceManager.queryOrderById(
- mContext!!, it,
- object : OchCommonServiceCallback {
- override fun onSuccess(data: TaxiPassengerOrderQueryRespBean) {
- if (data.data != null && currentOCHOrder != null && currentOCHOrder!!.orderNo == data.data.orderNo) {
- if (data.data.orderStatus == TaxiOrderStatusEnum.Cancel.code || data.data.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.code || data.data.orderStatus == TaxiOrderStatusEnum.None.code) {
- currentOCHOrder = data.data
- orderStatusChange()
- currentOCHOrder = null
- } else {
- currentOCHOrder = data.data
- orderStatusChange()
- }
- }
- }
-
- override fun onFail(code: Int, msg: String) {}
- })
- }
- }
-
- // 获取当前订单状态
- val curOrderStatus: TaxiOrderStatusEnum
- get() {
- val order: TaxiPassengerOrderQueryRespBean.Result =
- currentOCHOrder
- ?: return TaxiOrderStatusEnum.None
- return valueOf(order.orderStatus)
- }
-
- //监听网络变化,避免启动机器时无网导致无法更新订单信息
- private val distanceListener: IDistanceListener = object : IDistanceListener {
- var allDistance = 0f
- override fun stationDistanceCallback(stationDistance: Float) {
- allDistance = stationDistance
- }
-
- override fun distanceCallback(distance: Float) {
-
- val lastTime: Double = distance / TaxiPassengerConst.TAXI_AVERAGE_SPEED * 3.6 //秒
-
- for (callback in mOrderStatusCallbackMap.values) {
- callback.onCurrentOrderDistToEndChanged(distance.toLong(),lastTime.toLong(),allDistance.toInt())
- }
- }
- }
- private val mNetWorkIntentListener = IMogoIntentListener { intentStr, intent ->
- d(M_TAXI_P + TAG, "onIntentReceived = %s", intentStr)
- if (ConnectivityManager.CONNECTIVITY_ACTION == intentStr) {
- if (NetworkUtils.isConnected(mContext)) {
- startOrStopOrderLoop(true)
- }
- }
- }
-
- private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener {
- override fun onSummaryClickEvent() {
- if (currentOCHOrder == null) {
- ToastUtils.showLong("行程已结束")
- } else {
- for (callback in mOrderStatusCallbackMap.values) {
- callback.onMessageGo2OverMapview()
- }
- }
- }
- }
-
- fun checkPhoneAndUpdateStatus(
- phoneTail: String?,
- ) {
- if (currentOCHOrder == null) return
- TaxiPassengerServiceManager.checkPhoneAndUpdateOrderStatus(
- currentOCHOrder!!.orderNo,
- phoneTail, object : OchCommonServiceCallback {
- override fun onSuccess(data: TaxiPassengerBaseRespBean) {
- if (data.code == 0 && currentOCHOrder != null) {
- currentOCHOrder!!.orderStatus = TaxiOrderStatusEnum.UserArriveAtStart.code
- //乘客验证成功,更新订单状态为 "乘客已上车", 立马弹出乘客开始行程页面,不再等待轮询
- orderStatusChange()
- VoiceNotice.showNotice("验证成功!关闭车门并佩戴安全带后开启行程吧!", AIAssist.LEVEL2)
- }
- }
-
- override fun onFail(code: Int, msg: String) {
- ToastUtils.showLong("当前网络异常,请重新验证;若始终异常,请您在手机端取消行程,给您带来不便,十分抱歉!")
- e(
- M_TAXI_P + TAG,
- "提交用户输入的手机后4位、并进行状态扭转 后台结果错误$code$msg"
- )
- }
- })
- }
-
- fun orderStatusChange(){
- orderStatusChangeInner()
- d(M_TAXI_P + TAG, "最新的状态${curOrderStatus}")
- OrderModel.invokeListener(currentOCHOrder)
- }
-
- private fun orderStatusChangeInner() {
- when (curOrderStatus) {
- TaxiOrderStatusEnum.OnTheWayToStart -> {
- }
- TaxiOrderStatusEnum.ArriveAtStart -> {
- }
- TaxiOrderStatusEnum.UserArriveAtStart -> {
- //开启轮询司机是否已准备好开启自动驾驶的环境
- setStation()
- }
- TaxiOrderStatusEnum.OnTheWayToEnd -> {
- CallerFuncBizManager.bizProvider.queryV2XEvents() //全览模式的V2X事件轮询开始
- //startOrStopQueryOrderRemaining(true)
- AutopilotManager.updateAutopilotControlParameters()
- startOrStopReadyToAutopilotLoop(false)
- setStation()
- CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(true)
- }
- TaxiOrderStatusEnum.ArriveAtEnd -> {
- AutopilotManager.clearAutopilotControlParameters()
- //startOrStopQueryOrderRemaining(false)
- CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(false)
- cleanStation()
- }
- TaxiOrderStatusEnum.JourneyCompleted -> {
- AutopilotManager.clearAutopilotControlParameters()
- //startOrStopQueryOrderRemaining(false)
- cleanStation()
- }
- TaxiOrderStatusEnum.Cancel -> {
- AutopilotManager.clearAutopilotControlParameters()
- //startOrStopQueryOrderRemaining(false)
- startOrStopReadyToAutopilotLoop(false)
- cleanStation()
- }
- TaxiOrderStatusEnum.None -> TODO()
- }
- }
-
- /**
- * 查询司机是否已确认可开启自动驾驶
- */
- private fun loopQueryPilotStatus() {
- if (currentOCHOrder == null) return
- TaxiPassengerServiceManager.queryPilotStatus(
- currentOCHOrder!!.orderNo,
- object : OchCommonServiceCallback {
- override fun onSuccess(data: TaxiPassengerBaseRespBean) {
- if (data.code == 0 && data.data == true) {
- updateAutopilotStatus(true)
- startOrStopReadyToAutopilotLoop(false)
- }
- }
-
- override fun onFail(code: Int, msg: String) {
- updateAutopilotStatus(false)
- }
- })
- }
-
- fun updateAutopilotStatus(isBoarded: Boolean) {
- if (mOrderStatusCallbackMap.isNotEmpty()) {
- for (callback in mOrderStatusCallbackMap.values) {
- callback.onDriverHasCheckedPilotCondition(isBoarded)
- }
- }
- }
-
- fun startOrStopReadyToAutopilotLoop(isStart: Boolean) {
- if (isStart) {
- BizLoopManager.setLoopFunction(STARTREADYTOAUTOPILOT, LoopInfo(1, TaxiPassengerModel::loopQueryPilotStatus))
- CallerLogger.i(M_TAXI_P + TAG, "startReadyToAutopilot()")
- } else {
- BizLoopManager.removeLoopFunction(STARTREADYTOAUTOPILOT)
- CallerLogger.i(M_TAXI_P + TAG, "stopReadyToAutopilot()")
- }
- }
-
- fun setStation() {
- if (currentOCHOrder != null) {
- val startStation = MogoLocation()
- startStation.longitude = currentOCHOrder!!.startSiteGcjPoint[0]
- startStation.latitude = currentOCHOrder!!.startSiteGcjPoint[1]
- val endStation = MogoLocation()
- endStation.longitude = currentOCHOrder!!.endSiteGcjPoint[0]
- endStation.latitude = currentOCHOrder!!.endSiteGcjPoint[1]
- TrajectoryAndDistanceManager.setStationPoint(startStation, endStation, currentOCHOrder!!.lineId)
- }
- }
-
- fun cleanStation() {
- TrajectoryAndDistanceManager.setStationPoint(null, null, -1L)
- }
-
- fun queryOrderRouteInfo() {
- if (currentOCHOrder == null) return
- TaxiPassengerServiceManager.queryOrderRouteInfo(
- currentOCHOrder!!.orderNo,
- object : OchCommonServiceCallback {
- override fun onSuccess(data: OrderQueryRouteInfoRespBean) {
- if (data.data != null && currentOCHOrder != null ) {
- for (callback in mOrderStatusCallbackMap.values) {
- callback.onCurrentOrderDistAndduration(data.data.distanceToEnd,data.data.durationToEnd)
- }
- }
- }
-
- override fun onFail(code: Int, msg: String) {}
- }
-
- )
- }
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.kt
deleted file mode 100644
index 1c9fdbdf4b..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.kt
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.mogo.och.taxi.passenger.network
-
-import com.mogo.cloud.passport.MoGoAiCloudClientConfig
-import com.mogo.commons.storage.SharedPrefsMgr
-import com.mogo.och.data.taxi.OrderQueryRouteInfoReqBean
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerCheckPhoneUpdateOrderReqBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryReqBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerStartReqBean
-import io.reactivex.Observable
-import retrofit2.http.Body
-import retrofit2.http.GET
-import retrofit2.http.Header
-import retrofit2.http.Headers
-import retrofit2.http.POST
-import retrofit2.http.Query
-
-/**
- * Created by pangfan on 2021/8/19
- *
- * 网约车-出租车接口定义
- */
-internal interface TaxiPassengerServiceApi {
- /**
- * 查询全部服务中/待服务订单(没有的时候返回code 0,空列表)
- * @param driverSn
- * @return
- */
- @Headers("Content-type:application/json;charset=UTF-8")
- @GET("/autopilot-car-hailing/order/v2/driver/taxi/passenger/orderInService/query")
- fun queryOrdersInAndWaitService(
- @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
- @Header("ticket") ticket: String=SharedPrefsMgr.getInstance().token,
- @Query("driverSn") driverSn: String
- ): Observable
-
- /**
- * 通过orderNo查询订单信息(用于本地已经有orderNo时)
- * @param data
- * @return
- */
- @Headers("Content-type:application/json;charset=UTF-8")
- @POST("/autopilot-car-hailing/order/v2/driver/taxi/passenger/queryOrderById")
- fun queryOrderById(
- @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
- @Header("ticket") ticket: String=SharedPrefsMgr.getInstance().token,
- @Body data: TaxiPassengerOrderQueryReqBean
- ): Observable
-
- /**
- * 提交用户输入的手机后4位、并进行状态扭转
- * @param data
- * @return
- */
- @Headers("Content-type:application/json;charset=UTF-8")
- @POST("/autopilot-car-hailing/cab/flow/v1/driver/taxi/passenger/verification/phone")
- fun checkPhoneAndUpdateOrderStatus(
- @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
- @Header("ticket") ticket: String=SharedPrefsMgr.getInstance().token,
- @Body data: TaxiPassengerCheckPhoneUpdateOrderReqBean?
- ): Observable
-
- /**
- * 查询司机是否已确认可开启自动驾驶
- * @param appId
- * @param ticket
- * @param orderNo
- * @return
- */
- @Headers("Content-type:application/json;charset=UTF-8")
- @GET("/autopilot-car-hailing/cab/flow/v1/driver/taxi/pilot/status")
- fun queryPilotStatus(
- @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
- @Header("ticket") ticket: String=SharedPrefsMgr.getInstance().token,
- @Query("orderNo") orderNo: String
- ): Observable
-
- /**
- * 乘客屏启动自动驾驶成功
- * @param appId
- * @param ticket
- * @param data
- * @return
- */
- @Headers("Content-type:application/json;charset=UTF-8")
- @POST("/autopilot-car-hailing/cab/flow/v1/driver/taxi/passenger/startServicePilot")
- fun startServicePilotDone(
- @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
- @Header("ticket") ticket: String= SharedPrefsMgr.getInstance().token,
- @Body data: TaxiPassengerStartReqBean
- ): Observable
-
- /**
- * 查询订单路径规划信息(到上车点、起始点间的距离和预估时间)
- * @param data
- * @return
- */
- @Headers("Content-type:application/json;charset=UTF-8") // @POST( "/autopilot-car-hailing/api/v1/driver/routeInfo/query" )
- @POST("/autopilot-car-hailing/order/v2/driver/taxi/routeInfo/query")
- fun queryOrderRouteInfo(
- @Header("appId") appId: String?,
- @Header("ticket") ticket: String?,
- @Body data: OrderQueryRouteInfoReqBean?
- ): Observable
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt
deleted file mode 100644
index 6e95ef73de..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt
+++ /dev/null
@@ -1,154 +0,0 @@
-package com.mogo.och.taxi.passenger.network
-
-import android.content.Context
-import com.mogo.cloud.passport.MoGoAiCloudClientConfig
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean
-import com.mogo.commons.AbsMogoApplication
-import com.mogo.commons.storage.SharedPrefsMgr
-import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerCheckPhoneUpdateOrderReqBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerStartReqBean
-import com.mogo.eagle.core.network.MoGoRetrofitFactory
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P
-import com.mogo.och.common.module.constant.OchCommonConst
-import com.mogo.och.common.module.network.OchCommonServiceCallback
-import com.mogo.och.common.module.network.OchCommonSubscribeImpl
-import com.mogo.och.common.module.network.interceptor.transformTry
-import com.mogo.och.data.taxi.OrderQueryRouteInfoReqBean
-import com.mogo.och.data.taxi.OrderQueryRouteInfoRespBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryReqBean
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean
-
-/**
- * Created by pangfan on 2021/8/19
- */
-object TaxiPassengerServiceManager {
-
- private val mOCHTaxiServiceApi: TaxiPassengerServiceApi =
- MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(TaxiPassengerServiceApi::class.java)
-
- private const val TAG = "TaxiPassengerServiceManager"
-
- private var draiverSnCacher = ""
-
- /**
- * 获取Bus司机端的sn
- * @return
- */
- val draiverSn: String
- get(){
- val serverToken = CallerTelematicManager.getServerToken()
- if (serverToken != draiverSnCacher && serverToken.isNotEmpty()) {
- draiverSnCacher = serverToken
- }
- return draiverSnCacher
- }
- val context:Context
- get() {
- return AbsMogoApplication.getApp()
- }
-
- private fun beforeNet():Boolean{
- if (draiverSn.isBlank()) {
- CallerLogger.e(M_TAXI_P + TAG, "没有司机屏sn 请稍等在请求")
- return true
- }
- return false
- }
- /**
- * 查询全部服务中/待服务订单列表
- * @param context
- * @param callback
- */
- @JvmStatic
- fun queryOrdersInAndWaitService(
- callback: OchCommonServiceCallback?
- ) {
- if(beforeNet()){
- return
- }
- mOCHTaxiServiceApi.queryOrdersInAndWaitService(driverSn = draiverSn) //获取到司机端的sn
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrdersInAndWaitService"))
- }
-
- @JvmStatic
- fun checkPhoneAndUpdateOrderStatus(
- orderNo: String?,
- phone: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.checkPhoneAndUpdateOrderStatus(data= TaxiPassengerCheckPhoneUpdateOrderReqBean(orderNo, phone))
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "checkPhoneAndUpdateOrderStatus"))
- }
-
- @JvmStatic
- fun queryPilotStatus(
- orderNo: String,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryPilotStatus(orderNo = orderNo)
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryPilotStatus"))
- }
- @JvmStatic
- fun startServicePilotDone(
- orderNo: String?, loc: TaxiPassengerStartReqBean.Result?,
- callback: OchCommonServiceCallback?
- ) {
- if(beforeNet()){
- return
- }
- mOCHTaxiServiceApi.startServicePilotDone(data = TaxiPassengerStartReqBean(draiverSn, orderNo, loc))
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "startServicePilotDone"))
- }
-
- /**
- * 通过orderId查询订单信息(用于本地已经有orderId时)
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun queryOrderById(
- context: Context, orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- if(beforeNet()){
- return
- }
- mOCHTaxiServiceApi.queryOrderById(
- data=TaxiPassengerOrderQueryReqBean(draiverSn, orderNo)
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderById"))
- }
-
- /**
- * 查询订单路径规划信息(到上车点、起始点间的距离和预估时间)
- * @param context
- * @param orderNo
- * @param callback
- */
- @JvmStatic
- fun queryOrderRouteInfo(orderNo: String?,
- callback: OchCommonServiceCallback?
- ) {
- mOCHTaxiServiceApi.queryOrderRouteInfo(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- OrderQueryRouteInfoReqBean(
- SharedPrefsMgr.getInstance().sn, orderNo
- )
- )
- .transformTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "queryOrderRouteInfo"))
- }
-
-
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt
deleted file mode 100644
index 0e4191e195..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt
+++ /dev/null
@@ -1,176 +0,0 @@
-package com.mogo.och.taxi.passenger.presenter
-
-import androidx.lifecycle.LifecycleOwner
-import com.mogo.commons.AbsMogoApplication
-import com.mogo.commons.mvp.Presenter
-import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean
-import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
-import com.mogo.och.taxi.passenger.model.AutopilotManager
-import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
-import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment
-import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
-import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
-
-/**
- * @author: wangmingjun
- * @date: 2022/3/4
- */
-class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
- Presenter(view), IOCHTaxiPassengerOrderStatusCallback,
- OrderListener {
-
- init {
- TaxiPassengerModel.init(AbsMogoApplication.getApp())
- OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp())
- initListeners()
- }
-
- override fun onCreate(owner: LifecycleOwner) {
- super.onCreate(owner)
- d(SceneConstant.M_TAXI_P + TAG, "网约车-出租车拿到订单")
- }
-
- override fun onDestroy(owner: LifecycleOwner) {
- super.onDestroy(owner)
- releaseListeners()
- TaxiPassengerModel.release()
- OCHAdasAbilityManager.getInstance().release()
- }
-
- private fun initListeners() {
- TaxiPassengerModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", this)
- OrderModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", this)
- }
-
- private fun releaseListeners() {
- TaxiPassengerModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", null)
- OrderModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", null)
- }
-
- override fun onCurrentOrderDistToEndChanged(
- meters: Long,
- timeInSecond: Long,
- stationDistance: Int
- ) {
- }
-
- private fun updateOrderView(order: TaxiPassengerOrderQueryRespBean.Result?) {
- order?.let {
- setItineraryVisibility()
- when (TaxiPassengerModel.curOrderStatus) {
- TaxiOrderStatusEnum.OnTheWayToStart -> {
- // 10 接驾中
- mView?.showOrHideCheckAndStartAutopilotView(3)
-
- mView?.showOrHideArrivedEndLayout(isShow = false)
- overMapViewClear()
- }
-
- TaxiOrderStatusEnum.ArriveAtStart -> {
- // 20 司机到达上车点
- mView?.showOrHideCheckAndStartAutopilotView(0)
- overMapViewClear()
- }
-
- TaxiOrderStatusEnum.UserArriveAtStart -> {
- // 30 乘客到达上车点
- mView?.showOrHideCheckAndStartAutopilotView(1)
- overMapViewClear()
- }
-
- TaxiOrderStatusEnum.OnTheWayToEnd -> {
- // 服务中(去往目的地)
- mView?.showOrHideArrivedEndLayout(isShow = false)
- mView?.showOrHideCheckAndStartAutopilotView(2)
- //mView?.tipXiaoZhi()
- overMapViewShow()
- }
-
- TaxiOrderStatusEnum.ArriveAtEnd -> {
- // 50 到达终点 乘客可以评价
- mView?.showOrHideArrivedEndLayout(true)
- getOrderRouteInfo()
- }
- TaxiOrderStatusEnum.JourneyCompleted -> {
- // 60 行程完成
- mView?.showOrHideCheckAndStartAutopilotView(3)
- mView?.showOrHideArrivedEndLayout(false)
- overMapViewClear()
- }
- TaxiOrderStatusEnum.Cancel -> {
- // 70 取消订单
- mView?.showOrHideCheckAndStartAutopilotView(3)
- mView?.showOrHideArrivedEndLayout(isShow = false)
- overMapViewClear()
- }
- else -> {}
- }
- }
- }
-
- fun getOrderRouteInfo() {
- TaxiPassengerModel.queryOrderRouteInfo()
- }
-
- private fun overMapViewShow(){
- CallerFuncBizManager.bizProvider.getAllV2XEvents()
- }
- private fun overMapViewClear(){
- CallerFuncBizManager.bizProvider.stopQueryV2XEvents()
- mView?.showOrHideOverMapView()
- }
-
- /**
- * 开启自动驾驶
- */
- fun startAutopilot() {
- AutopilotManager.startAutopilot()
- }
-
- fun setItineraryVisibility() {
- UiThreadHandler.post {
- when (TaxiPassengerModel.curOrderStatus) {
- TaxiOrderStatusEnum.None,
- TaxiOrderStatusEnum.OnTheWayToStart,
- TaxiOrderStatusEnum.ArriveAtStart,
- TaxiOrderStatusEnum.JourneyCompleted,
- TaxiOrderStatusEnum.ArriveAtEnd,
- TaxiOrderStatusEnum.Cancel -> mView?.showOrHideServingOrderFragment(false)
- TaxiOrderStatusEnum.UserArriveAtStart,
- TaxiOrderStatusEnum.OnTheWayToEnd -> mView?.showOrHideServingOrderFragment(true)
- }
- }
- }
-
- override fun onMessageGo2OverMapview() {
- mView?.showOverMapView()
- }
-
- override fun onCurrentOrderDistAndduration(distanceToEnd: Long, durationToEnd: Long) {
- OchChainLogManager.writeChainLog(
- "到达目的地计算距离和时间",
- "距离:${distanceToEnd} 时间:${durationToEnd}"
- )
- mView?.showDuringAndDistance(distanceToEnd.toFloat(),durationToEnd.toFloat())
- }
-
- companion object {
- private val TAG = BaseTaxiPassengerPresenter::class.java.simpleName
- }
-
- override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) {
- TaxiPassengerModel.currentOCHOrder?.let {
- updateOrderView(it)
- }
- }
-
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt
deleted file mode 100644
index 82754ba85f..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt
+++ /dev/null
@@ -1,498 +0,0 @@
-package com.mogo.och.taxi.passenger.ui
-
-import android.animation.Animator
-import android.animation.AnimatorSet
-import android.animation.ObjectAnimator
-import android.annotation.SuppressLint
-import android.os.Bundle
-import android.view.View
-import com.alibaba.android.arouter.launcher.ARouter
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.voice.AIAssist
-import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
-import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
-import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P
-import com.mogo.eagle.core.utilcode.util.DeviceUtils
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.map.listener.IMogoMapListener
-import com.mogo.och.common.module.biz.provider.CommonService
-import com.mogo.och.common.module.constant.OchCommonConst
-import com.mogo.och.common.module.manager.xiaozhi.ZhiStateManager
-import com.mogo.och.common.module.utils.RxUtils
-import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter
-import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
-import com.mogo.och.taxi.passenger.ui.bar.LeftBarView
-import com.mogo.och.taxi.passenger.ui.bottom.BottomBar
-import com.mogo.och.taxi.passenger.ui.checkstartautopilot.ChekAndStartAutopilotView
-import com.mogo.och.taxi.passenger.ui.bar.RightBarView
-import com.mogo.och.taxi.passenger.ui.debug.DebugCallback
-import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
-import io.reactivex.disposables.Disposable
-import kotlinx.android.synthetic.main.taxi_p_base_fragment.*
-
-/**
- * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况
- *
- *
- * 部分业务放在了此处处理
- *
- * @author tongchenfei
- */
-class TaxiPassengerBaseFragment() :
- MvpFragment(), IMogoMapListener,
- TaxiPassengerTaxiView, DebugCallback {
-
- private var statusBarView: StatusBarView? = null
-
- private var tipXiaoZhiDelay: Disposable?=null
-
- override fun getLayoutId(): Int {
- return R.layout.taxi_p_base_fragment
- }
-
- override fun getTagName(): String {
- return "BaseOchTaxiPassengerFragment"
- }
-
- override fun initViews() {
- initListener()
- }
-
- override fun initViews(savedInstanceState: Bundle?) {
- super.initViews(savedInstanceState)
- mapBizView!!.onCreate(savedInstanceState)
- overMapView.onCreateView(savedInstanceState)
- //overMapView.hideResetView()
-
- val commonService = ARouter.getInstance().build(OchCommonConst.TAXI_PASSENGER).navigation();
- if(commonService is CommonService){
- context?.let {
- val statusView = commonService.getStatusBarView(it)
- if (statusView is StatusBarView) {
- statusBarView = statusView
- }
- }
- }
- }
-
- private fun settingAndMusicListener() {
- rbv_setting_music.setOrderIdCallback(object :RightBarView.RightBarCallback{
- override fun setSettingAndMusicShow(settingShow: Boolean, musicShow: Boolean) {
- clSettingView.visibility = if(settingShow) View.VISIBLE else View.GONE
- mv_music_info.visibility = if(musicShow) View.VISIBLE else View.GONE
- }
-
- })
- lbv_go2_center.setOrderIdCallback(object : LeftBarView.LeftBarCallback{
- override fun setGo2CenterClick() {
- when (bottom.getCurrentPage()) {
- BottomBar.SelectView.PRECISIONMAP -> {
- //切换到地图中间
- mapBizView.getUI()?.let {
- it.changeMapVisualAngle(it.getVrAngleDefaultMode(), null)
- }
- }
- BottomBar.SelectView.OVERMAPVIEW -> {
- //overMapView.displayCustomOverView()
- }
-
- else -> {}
- }
- }
-
- })
- }
-
- private fun initListener() {
- settingAndMusicListener()
- bottom.setOverMapApplyClick(object : BottomBar.ApplyClickLintener{
- override fun onApplyClick(selectItem: BottomBar.SelectView) {
- when (selectItem) {
- BottomBar.SelectView.PRECISIONMAP -> {
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE)
- overMapView.visibility = View.GONE
- mapBizView.visibility = View.VISIBLE
- presenter?.setItineraryVisibility()
- speedView.visibility = View.VISIBLE
- if (DeviceUtils.isLeOrEb5Model()) {
- romaPView.updateVisible(true)
- romaDistanceView.visibility = View.VISIBLE
- } else {
- romaPView.updateVisible(false)
- romaDistanceView.visibility = View.GONE
- }
- rbv_setting_music.setShowOnlySetting(0)
- lbv_go2_center.visibility = View.VISIBLE
- lbv_go2_center.showAngle()
- pcnActionView.visibility = View.VISIBLE
- CallerHmiManager.showTrafficLightView()
- infoVideoView.visibility = View.GONE
- CallerHmiManager.showTurnLightView()
- }
- BottomBar.SelectView.OVERMAPVIEW -> {
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE)
- overMapView.visibility = View.VISIBLE
- mapBizView.visibility = View.GONE
- presenter?.setItineraryVisibility()
- speedView.visibility = View.VISIBLE
- romaPView.updateVisible(false)
- romaDistanceView.visibility = View.GONE
- rbv_setting_music.setShowOnlySetting(0)
- lbv_go2_center.visibility = View.GONE
- //lbv_go2_center.showOnlyCenter()
- pcnActionView.visibility = View.VISIBLE
- CallerHmiManager.showTrafficLightView()
- infoVideoView.visibility = View.GONE
- CallerHmiManager.showTurnLightView()
- }
- BottomBar.SelectView.VIDEO -> {
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE)
- overMapView.visibility = View.GONE
- mapBizView.visibility = View.GONE
- presenter?.setItineraryVisibility()
- speedView.visibility = View.GONE
- rbv_setting_music.setShowOnlySetting(1)
- lbv_go2_center.visibility = View.GONE
- romaPView.updateVisible(false)
- romaDistanceView.visibility = View.GONE
- pcnActionView.visibility = View.GONE
- CallerHmiManager.hideTrafficLightView()
- infoVideoView.visibility = View.VISIBLE
- CallerHmiManager.hideTurnLightView()
- }
-
- else -> {}
- }
-
- }
- })
-
- arrivedView.arrivedVisilityChangeListenr = object : ArrivedView.ArrivedVisilityChangeListenr{
- override fun isShow(show: Boolean) {
- CallerLogger.d(M_TAXI_P + TAG, "arrived ${show}")
- if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
- showOrHide(true,"到达目的地页面隐藏")
- ZhiStateManager.setZhiEnable(true)
- }else{
- ZhiStateManager.setZhiEnable(false)
- }
- }
- }
- chekAndStartAutopilotView.checkAndStartVisilityChangeListenr = object : ChekAndStartAutopilotView.CheckAndStartVisilityChangeListenr{
- override fun isShow(show: Boolean) {
- CallerLogger.d(M_TAXI_P + TAG, "check and startAutopilot ${show}")
- if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
- showOrHide(true,"手机号check+startautopilot页面隐藏")
- ZhiStateManager.setZhiEnable(true)
- }else{
- ZhiStateManager.setZhiEnable(false)
- }
- }
- }
- }
-
- override fun onResume() {
- super.onResume()
- mapBizView!!.onResume()
- overMapView.onResume()
- CallerLogger.d(M_TAXI_P + TAG, "onResume")
- }
-
- override fun createPresenter(): BaseTaxiPassengerPresenter {
- return BaseTaxiPassengerPresenter(this)
- }
-
- override fun onLowMemory() {
- super.onLowMemory()
- mapBizView!!.onLowMemory()
- }
-
- override fun onSaveInstanceState(outState: Bundle) {
- super.onSaveInstanceState(outState)
- mapBizView!!.onSaveInstanceState(outState)
- }
-
- override fun onPause() {
- super.onPause()
- mapBizView!!.onPause()
- overMapView?.onPause()
- CallerLogger.d(M_TAXI_P + TAG, "onPause")
- }
-
- override fun onDestroyView() {
- mapBizView!!.onDestroy()
- overMapView?.onDestroy()
- if (mPresenter != null) {
- mPresenter?.onDestroy(this)
- }
- super.onDestroyView()
- }
-
- /**
- * 显示或隐藏订单信息
- *
- * @param isShow
- */
- override fun showOrHideServingOrderFragment(isShow: Boolean) {
- when (bottom.getCurrentPage()) {
- BottomBar.SelectView.OVERMAPVIEW, BottomBar.SelectView.PRECISIONMAP -> {
- if (isShow) {
- if (itinerary.visibility != View.VISIBLE) {
- itinerary.visibility = View.VISIBLE
- }
- } else {
- if (itinerary.visibility != View.GONE) {
- itinerary.visibility = View.GONE
- }
- }
- }
- BottomBar.SelectView.VIDEO, BottomBar.SelectView.NONE -> {
- if (itinerary.visibility != View.GONE) {
- itinerary.visibility = View.GONE
- }
- }
- }
- }
-
-
-
- override fun showOrHideCheckAndStartAutopilotView(status:Int){
- UiThreadHandler.post {
- arrivedView.visibility = View.GONE
- when (status) {
- 0 -> {
- if(chekAndStartAutopilotView.visibility == View.GONE){
- showOrHide(false,"显示手机号check")
- }
- bottom.setBagVisable(BottomBar.SelectView.OVERMAPVIEW,View.VISIBLE)
- chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,0)
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE)
- }
- 1 -> {
- if(chekAndStartAutopilotView.visibility == View.GONE){
- showOrHide(false,"显示启动自动驾驶")
- }
- chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,1)
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE)
- }
- 2 -> {
- chekAndStartAutopilotView.aniCheckAndStartAutopilot(false,2)
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE)
- }
- 3 -> {
- chekAndStartAutopilotView.visibility = View.GONE
- when (bottom.getCurrentPage()) {
- BottomBar.SelectView.PRECISIONMAP -> {
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE)
- }
- else ->{
- CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE)
- }
- }
-
- }
- else -> {}
- }
- }
- }
-
- fun tipXiaoZhi(){
- RxUtils.disposeSubscribe(tipXiaoZhiDelay)
- tipXiaoZhiDelay = RxUtils.createSubscribe(30_000) {
- VoiceNotice.showNotice(
- "想和我对话的时候可以直接戳我,也可以对我说\\'你好小智\\'!",
- AIAssist.LEVEL2
- )
- }
- }
-
- /**
- * 显示或者隐藏到达乘客站点的洁面
- * ① 取消订单 可有可无
- * ② 到达上车点 隐藏到达终点的页面(上一个订单没有评价)
- * ③ 到达目的地 显示到达终点的页面
- * ④ debug 使用
- *
- * @param isShow true 展示 false 隐藏
- */
- override fun showOrHideArrivedEndLayout(isShow: Boolean) {
- // chekAndStartAutopilotView.visibility = View.GONE
- evaluate.visibility = View.GONE
- if (isShow) {
- exitFullVideoScreen(true)
- arrivedView.aniArrived(true)
- showOrHide(false,"显示到达目的地")
- RxUtils.createSubscribe(500) {
- arrivedView.setDataAndStartAnimation()
- VoiceNotice.showNotice("已到达目的地,带好随身物品,右侧下车更安全!期待下次再见", AIAssist.LEVEL2)
- }
- bottom.setBagVisable(BottomBar.SelectView.OVERMAPVIEW,View.GONE)
- } else {
- if(arrivedView.visibility!=View.GONE) {
- showOrHide(true, "隐藏到达目的地")
- arrivedView.aniArrived(false)
- }
- }
- }
-
- private fun exitFullVideoScreen(resetVideoPlayer: Boolean) {
- infoVideoView.exitFullScreenMode(resetVideoPlayer)
- }
-
- fun showOrHideOverMapView() {
-// overMapView?.clearV2XMarkers()
- overMapView?.clearAllMarkersAndPolyline()
- }
-
-
- fun showOverMapView() {
- bottom.setCheckIndex(BottomBar.SelectView.OVERMAPVIEW)
- }
-
- private fun showOrHide(isShow: Boolean,type:String){
- CallerLogger.d(M_TAXI_P + TAG, "类型:$type")
- val animatorSet = AnimatorSet()
- val allAnimator = mutableListOf()
- allAnimator.addAll(aniStatusBar(isShow))
- allAnimator.addAll(aniBottomBar(isShow))
-
- allAnimator.addAll(aniSpeedSettingRow(isShow,speedView))
- allAnimator.addAll(aniSpeedSettingRow(isShow,romaPView))
- allAnimator.addAll(aniSpeedSettingRow(isShow,romaDistanceView))
-
- allAnimator.addAll(aniOrderInfo(isShow))
- animatorSet.playTogether(allAnimator)
- animatorSet.start()
- }
-
-
- @SuppressLint("ObjectAnimatorBinding")
- fun aniStatusBar(show:Boolean):List{
- val statusBar = mutableListOf()
- val translationYStart: Float
- val translationYEnd: Float
- val alphaStart: Float
- val alphaEnd: Float
- if(show){
- translationYStart = -statusBarView!!.height.toFloat()
- translationYEnd = 0f
- alphaStart = 0.3f
- alphaEnd = 1f
- }else{
- translationYStart = 0f
- translationYEnd = -statusBarView!!.height.toFloat()
- alphaStart = 1f
- alphaEnd = 0.3f
- }
- statusBar.add(ObjectAnimator.ofFloat(statusBarView, "translationY", translationYStart, translationYEnd).apply {
- duration = 1000
- })
- //ofFloatMove.duration = 1000
- statusBar.add( ObjectAnimator.ofFloat(statusBarView, "alpha", alphaStart, alphaEnd).apply {
- duration = 1000
- })
- return statusBar
- }
-
- private fun aniBottomBar(show:Boolean):List{
- val statusBar = mutableListOf()
- val translationYStart: Float
- val translationYEnd: Float
- val alphaStart: Float
- val alphaEnd: Float
- if(show){
- translationYStart = bottom!!.height.toFloat()
- translationYEnd = 0f
- alphaStart = 0.3f
- alphaEnd = 1f
- }else{
- translationYStart = 0f
- translationYEnd = bottom!!.height.toFloat()
- alphaStart = 1f
- alphaEnd = 0.3f
- }
-
- statusBar.add(ObjectAnimator.ofFloat(bottom, "translationY", translationYStart, translationYEnd).apply {
- duration = 1000
- })
- statusBar.add(ObjectAnimator.ofFloat(bottom, "alpha", alphaStart, alphaEnd).apply {
- duration = 1000
- })
- return statusBar
- }
-
- private fun aniSpeedSettingRow(show:Boolean,view:View):List{
- val statusBar = mutableListOf()
- val translationYStart: Float
- val translationYEnd: Float
- val alphaStart: Float
- val alphaEnd: Float
- if(show){
- translationYStart = -view.height.toFloat()
- translationYEnd = 0f
- alphaStart = 0.0f
- alphaEnd = 1f
- }else{
- translationYStart = 0f
- translationYEnd = -view.height.toFloat()
- alphaStart = 1f
- alphaEnd = 0.0f
- }
-
- statusBar.add(ObjectAnimator.ofFloat(view, "translationY", translationYStart, translationYEnd).apply {
- duration = 1000
- })
- statusBar.add(ObjectAnimator.ofFloat(view, "alpha", alphaStart, alphaEnd).apply {
- duration = 1000
- })
- return statusBar
- }
- private fun aniOrderInfo(show:Boolean):List{
- val statusBar = mutableListOf()
- val translationYStart: Float
- val translationYEnd: Float
- val alphaStart: Float
- val alphaEnd: Float
- if(show){
- translationYStart = itinerary.height.toFloat()/5
- translationYEnd = 0f
- alphaStart = 0.0f
- alphaEnd = 1f
- }else{
- translationYStart = 0f
- translationYEnd = itinerary.height.toFloat()/5
- alphaStart = 1f
- alphaEnd = 0.0f
- }
-
- statusBar.add(ObjectAnimator.ofFloat(itinerary, "translationY", translationYStart, translationYEnd).apply {
- duration = 1000
- })
- statusBar.add(ObjectAnimator.ofFloat(itinerary, "alpha", alphaStart, alphaEnd).apply {
- duration = 1000
- })
- return statusBar
- }
-
- fun preLoadArrivedImages() {
- arrivedView.preLoadImages()
- }
-
- override fun setEvaluateView(){
- evaluate.visibility = View.VISIBLE
- }
-
- fun showDuringAndDistance(distanceToEnd: Float, durationToEnd: Float) {
- arrivedView.setMileageAndDuration(distanceToEnd,durationToEnd)
- }
-
-
- companion object {
- @JvmField
- val TAG = "TaxiPassengerBaseFragment"
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerTaxiView.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerTaxiView.java
deleted file mode 100644
index 1805bd6821..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerTaxiView.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mogo.och.taxi.passenger.ui;
-
-import com.mogo.commons.mvp.IView;
-
-public
-/**
- * @author congtaowang
- * @since 2021/1/18
- *
- * 描述
- */
-interface TaxiPassengerTaxiView extends IView {
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt
deleted file mode 100644
index 92eb5f1f81..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt
+++ /dev/null
@@ -1,242 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.checkstartautopilot
-
-import android.animation.Animator
-import android.animation.AnimatorListenerAdapter
-import android.animation.AnimatorSet
-import android.animation.ObjectAnimator
-import android.content.Context
-import android.util.AttributeSet
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.View
-import android.view.animation.LinearInterpolator
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.findViewTreeViewModelStoreOwner
-import com.mogo.eagle.core.utilcode.kotlin.onClick
-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.scene.SceneConstant
-import com.mogo.eagle.core.utilcode.util.ThreadUtils
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager
-import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
-import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
-import kotlinx.android.synthetic.main.taxt_p_check_startautopilot.view.aciv_check_autopilot
-import kotlinx.android.synthetic.main.taxt_p_check_startautopilot.view.aciv_start_autopilt_success_ani
-import kotlinx.android.synthetic.main.taxt_p_check_startautopilot.view.aciv_start_autopilt_success_bg
-import kotlinx.android.synthetic.main.taxt_p_check_startautopilot.view.checkPhoneNumber
-import kotlinx.android.synthetic.main.taxt_p_check_startautopilot.view.startAutopilotClose
-import kotlinx.android.synthetic.main.taxt_p_check_startautopilot.view.startAutopilotView
-
-/**
- * V2X预警事件view:通过FloatWindow呈现,无需加入到自定义layout中
- *
- * Created on 2022/3/16
- */
-class ChekAndStartAutopilotView : WindowRelativeLayout,
- ChekAndStartAutopilotViewModel.CheckCallback {
-
- constructor(context: Context?) : super(context)
-
- constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet)
-
- constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(
- context,
- attributeSet,
- defStyleAttr
- )
-
- constructor(
- context: Context?,
- attributeSet: AttributeSet,
- defStyleAttr: Int,
- defStyleRes: Int
- ) : super(context, attributeSet, defStyleAttr, defStyleRes)
-
- private var viewModel: ChekAndStartAutopilotViewModel? = null
-
- private var aniCheck2StartAutopilotView: BigFrameAnimatorContainer? = null
-
- var checkAndStartVisilityChangeListenr: CheckAndStartVisilityChangeListenr?=null
- private var waitCount = 0
- private var maxWaitCount = 3
-
-
- private fun initView(context: Context) {
- d(SceneConstant.M_TAXI_P + TAG, "initView")
- LayoutInflater.from(context).inflate(R.layout.taxt_p_check_startautopilot, this, true)
-
- startAutopilotClose.onClick {
- visibility = View.GONE
- }
- }
-
- override fun onVisibilityAggregated(isVisible: Boolean) {
- super.onVisibilityAggregated(isVisible)
- if (isVisible) {
- waitCount = 0
- aniCheck2StartAutopilotView =
- BigFrameAnimatorContainer(R.array.check2startautopilt, 39, aciv_check_autopilot, true)
- aniCheck2StartAutopilotView?.mOnAnimationStoppedListener = object : BigFrameAnimatorContainer.OnAnimationStoppedListener{
- override fun AnimationStopped() {
- startAutopilotView.showStartAutopilot()
- }
- }
- ZhiViewmanager.showListeningAni(ZhiViewmanager.beltAni)
- aciv_start_autopilt_success_bg.alpha = 0f
- aciv_start_autopilt_success_ani.alpha = 0f
- d(SceneConstant.M_TAXI_P + TAG, "透明度${aciv_start_autopilt_success_bg.alpha}---${aciv_start_autopilt_success_ani.alpha}")
- } else {
- aniCheck2StartAutopilotView?.stop()
- aniCheck2StartAutopilotView?.release()
- aniCheck2StartAutopilotView = null
- ZhiViewmanager.showListeningAni(ZhiViewmanager.normalAni)
- }
- checkAndStartVisilityChangeListenr?.isShow(isVisible)
- }
-
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
- viewModel = findViewTreeViewModelStoreOwner()?.let {
- ViewModelProvider(it).get(ChekAndStartAutopilotViewModel::class.java)
- }
- viewModel?.setStartAutopilotCallback(this)
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
- }
-
-
- companion object {
- const val TAG = "TaxiPassengerCheckView"
- }
-
- init {
- try {
- initView(context)
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- override fun dismissWindow() {
-
- }
-
- /**
- * @param show true 展示 false 隐藏
- * @param status 0 展示手机号验证
- * 1 展示启动自动驾驶
- * 2 隐藏页面
- */
- fun aniCheckAndStartAutopilot(show:Boolean,status:Int){
- Log.d(SceneConstant.M_TAXI_P + TAG,"参数${show}--${show}---订单${TaxiPassengerModel.currentOCHOrder?.orderNo}-----订单状态:${TaxiPassengerModel.currentOCHOrder?.orderStatus}")
- val alphaStart: Float
- val alphaEnd: Float
- if(show){
- alphaStart = 0.0f
- alphaEnd = 1f
- visibility = View.VISIBLE
- }else{
- alphaStart = 1f
- alphaEnd = 0.0f
- //visibility = View.GONE
- }
- when (status) {
- 0 -> {
- aciv_start_autopilt_success_bg.alpha = 0f
- aciv_start_autopilt_success_ani.alpha = 0f
- d(SceneConstant.M_TAXI_P + TAG, "透明度${aciv_start_autopilt_success_bg.alpha}---${aciv_start_autopilt_success_ani.alpha}")
- checkPhoneNumber.visibility = View.VISIBLE
- startAutopilotView.visibility = View.GONE
- startAutopilotClose.visibility = View.GONE
- ObjectAnimator.ofFloat(this@ChekAndStartAutopilotView, "alpha", alphaStart, alphaEnd).apply {
- duration = 1000
- }.start()
- }
- 1 -> {
- aciv_start_autopilt_success_bg.alpha = 0f
- aciv_start_autopilt_success_ani.alpha = 0f
- d(SceneConstant.M_TAXI_P + TAG, "透明度${aciv_start_autopilt_success_bg.alpha}---${aciv_start_autopilt_success_ani.alpha}")
- checkPhoneNumber.visibility = View.GONE
- startAutopilotView.visibility = View.VISIBLE
- startAutopilotClose.visibility = View.VISIBLE
- aniCheck2StartAutopilotView?.start()
- }
- 2 -> {
- CallerLogger.d(TAG,"aniCheckAndStartAutopilot${show} -${status} ---${waitCount}---${Thread.currentThread().name}")
- if (startAutopilotView.canGonethisView) {// 启动动画已经播放最少1遍
- // 启动公司logo动画
- startAnimal()
- }else {
- UiThreadHandler.postDelayed({
- startAnimal()
- }, 2000)
- }
- return
- }
- else -> {}
- }
-
- }
-
- private fun startAnimal(){
- val startAutopilotSuccessBgAni = ObjectAnimator.ofFloat(aciv_start_autopilt_success_bg, "alpha", 0f, 1f)
- val startAutopilotSuccessLogoAni = ObjectAnimator.ofFloat(aciv_start_autopilt_success_ani, "alpha", 0f, 1f)
- val animatorSetCompat = AnimatorSet()
- animatorSetCompat.playTogether(startAutopilotSuccessBgAni,startAutopilotSuccessLogoAni)
- animatorSetCompat.duration=700
- animatorSetCompat.interpolator = LinearInterpolator()
- animatorSetCompat.addListener(object :AnimatorListenerAdapter(){
- override fun onAnimationEnd(animation: Animator) {
- super.onAnimationEnd(animation)
- d(SceneConstant.M_TAXI_P + TAG, "透明度${aciv_start_autopilt_success_bg.alpha}---${aciv_start_autopilt_success_ani.alpha}")
- }
- override fun onAnimationStart(animation: Animator) {
- UiThreadHandler.postDelayed({
- val aniStartAutopilotSuccessAni =
- BigFrameAnimatorContainer(R.array.taxi_p_start_autopilot_fail, 20, aciv_start_autopilt_success_ani, true)
- aniStartAutopilotSuccessAni.setOnAnimStopListener(object :
- BigFrameAnimatorContainer.OnAnimationStoppedListener{
- override fun AnimationStopped() {
- ThreadUtils.runOnUiThread {
- checkPhoneNumber.visibility = View.VISIBLE
- startAutopilotView.visibility = View.GONE
- startAutopilotClose.visibility = View.GONE
-
- this@ChekAndStartAutopilotView.animate().alpha(0f).setListener(object :
- AnimatorListenerAdapter() {
- override fun onAnimationEnd(animation: Animator) {
- super.onAnimationEnd(animation)
- this@ChekAndStartAutopilotView.visibility = View.GONE
- aciv_start_autopilt_success_bg.alpha = 0f
- aciv_start_autopilt_success_ani.alpha = 0f
- d(SceneConstant.M_TAXI_P + TAG, "透明度${aciv_start_autopilt_success_bg.alpha}---${aciv_start_autopilt_success_ani.alpha}")
- }
-
- override fun onAnimationCancel(animation: Animator) {
- super.onAnimationCancel(animation)
- this@ChekAndStartAutopilotView.visibility = View.GONE
- aciv_start_autopilt_success_bg.alpha = 0f
- aciv_start_autopilt_success_ani.alpha = 0f
- d(SceneConstant.M_TAXI_P + TAG, "透明度${aciv_start_autopilt_success_bg.alpha}---${aciv_start_autopilt_success_ani.alpha}")
- }
- }).duration = 1000L
- }
- }
- })
- aniStartAutopilotSuccessAni.start()},350)
- }
- })
- animatorSetCompat.start()
- }
-
- interface CheckAndStartVisilityChangeListenr{
- fun isShow(show: Boolean)
- }
-
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt
deleted file mode 100644
index 0185ce5052..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.checkstartautopilot
-
-import androidx.lifecycle.ViewModel
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
-import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
-
-class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener {
-
- private val TAG = ChekAndStartAutopilotViewModel::class.java.simpleName
-
- private var viewCallback: CheckCallback? = null
-
- init {
-
- OrderModel.setOrderStatusCallback(TAG,this)
- }
-
- fun setStartAutopilotCallback(viewCallback: CheckCallback) {
- this.viewCallback = viewCallback
- }
-
- override fun onCleared() {
- super.onCleared()
- this.viewCallback = null
- OrderModel.setOrderStatusCallback(TAG,null)
- }
-
- interface CheckCallback {
- fun dismissWindow()
- }
-
- override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) {
- when (order?.orderStatus) {
- TaxiOrderStatusEnum.ArriveAtStart.code -> {
- // 显示手机号验证
- }
- TaxiOrderStatusEnum.UserArriveAtStart.code -> {
- // 显示启动自驾
- }
- else -> {
- viewCallback?.dismissWindow()
- }
- }
- }
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/check/CheckView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/check/CheckView.kt
deleted file mode 100644
index 9e9e8c0a57..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/check/CheckView.kt
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.checkstartautopilot.check
-
-import android.content.Context
-import android.graphics.Typeface
-import android.text.Spannable
-import android.text.SpannableStringBuilder
-import android.text.style.TextAppearanceSpan
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.content.ContextCompat
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.findViewTreeViewModelStoreOwner
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
-import com.mogo.och.common.module.utils.RxUtils
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.widget.NumberCheckView
-import io.reactivex.disposables.Disposable
-import kotlinx.android.synthetic.main.taxt_p_check.view.numberCheckView
-import kotlinx.android.synthetic.main.taxt_p_check.view.tv_passenger_count
-import kotlinx.android.synthetic.main.taxt_p_check.view.tv_passenger_end
-import kotlinx.android.synthetic.main.taxt_p_check.view.tv_passenger_start
-
-class CheckView @JvmOverloads constructor(
- context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
-) : ConstraintLayout(
- context, attrs, defStyleAttr
-), ChekViewModel.CheckCallback, NumberCheckView.SubmitListener {
-
-
- private var submitThrottle: Disposable? = null
-
- private var viewModel: ChekViewModel? = null
-
- companion object {
- const val TAG = "CheckView"
- }
-
-
- private fun initView(context: Context) {
- d(SceneConstant.M_TAXI_P + TAG, "initView")
- LayoutInflater.from(context).inflate(R.layout.taxt_p_check, this, true)
- numberCheckView.submitListener = this
- }
-
- override fun onVisibilityAggregated(isVisible: Boolean) {
- super.onVisibilityAggregated(isVisible)
- if (isVisible) {
- viewModel?.setOrderInfo()
- }
- }
-
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
- viewModel = findViewTreeViewModelStoreOwner()?.let {
- ViewModelProvider(it).get(ChekViewModel::class.java)
- }
- viewModel?.setStartAutopilotCallback(this)
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
- }
-
- init {
- try {
- initView(context)
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- override fun setOrderInfo(
- startSiteAddr: String?,
- endSiteAddr: String?,
- passengerNum: String?,
- phone: String?
- ) {
- val sb = SpannableStringBuilder("乘客数:$passengerNum 位") // 包装字体内容
- sb.setSpan(
- TextAppearanceSpan(
- "default",
- Typeface.NORMAL, 100,
- ContextCompat.getColorStateList(context, R.color.taxi_p_378EFB), null
- ),
- 4, 5, Spannable.SPAN_INCLUSIVE_INCLUSIVE
- )
- tv_passenger_count.text = sb
- tv_passenger_start.text = "起 点 : $startSiteAddr"
- tv_passenger_end.text = "终 点 : $endSiteAddr"
- numberCheckView.resetNum(phone ?: "")
- }
-
- override fun trySubmit(number: String) {
- RxUtils.disposeSubscribe(submitThrottle)
- submitThrottle = RxUtils.createSubscribe(1_000) {
- viewModel?.checkAndUpdateStatus(number)
- }
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/check/ChekViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/check/ChekViewModel.kt
deleted file mode 100644
index 05c7016b54..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/check/ChekViewModel.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.checkstartautopilot.check
-
-import androidx.lifecycle.ViewModel
-import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
-
-class ChekViewModel : ViewModel() {
-
- private val TAG = ChekViewModel::class.java.simpleName
-
- private var viewCallback: CheckCallback? = null
-
- init {
- }
-
- fun setStartAutopilotCallback(viewCallback: CheckCallback) {
- this.viewCallback = viewCallback
- }
- fun checkAndUpdateStatus(phone: String) {
- TaxiPassengerModel.checkPhoneAndUpdateStatus(phone)
- }
-
- fun setOrderInfo() {
- val currentOCHOrder = TaxiPassengerModel.currentOCHOrder
- currentOCHOrder?.let { order ->
- viewCallback?.setOrderInfo(order.startSiteAddr,
- order.endSiteAddr, order.passengerNum, order.passengerPhone)
- }
- }
-
- override fun onCleared() {
- super.onCleared()
- this.viewCallback = null
- }
-
- interface CheckCallback {
- fun setOrderInfo(startSiteAddr: String?,
- endSiteAddr: String?,
- passengerNum: String?,
- phone: String?)
- }
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt
deleted file mode 100644
index 9d86b97d93..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt
+++ /dev/null
@@ -1,245 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.checkstartautopilot.startautopilot
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import android.view.View
-import androidx.core.content.ContextCompat
-import androidx.lifecycle.ViewModelProvider
-import com.mogo.eagle.core.utilcode.kotlin.onClick
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
-import com.mogo.och.common.module.manager.device.data.DoorPosition
-import com.mogo.och.common.module.manager.device.data.DoorState
-import com.mogo.och.common.module.utils.FrameAnimatorContainer
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.aciv_middle_car
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.actv_front_left_door
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.actv_front_right_door
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.actv_orderinfo
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.actv_rear_left_door
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.actv_rear_right_door
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.taxi_p_autopilot_btn_bg
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.taxi_p_autopilot_starting
-import kotlinx.android.synthetic.main.taxt_p_start_autopilot_view.view.taxi_p_start_autopilot
-
-/**
- * @author: yangyakun
- * 页面状态:
- * ①:不能启动自驾
- * ②:可以启动自驾
- * ③:启动自驾中
- * ④:启动自驾超时
- * ⑤:启动自驾失败
- */
-class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAutopilotCallback {
-
- constructor(context: Context) : super(context)
-
- constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
-
- constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
- context, attributeSet, defStyleAttr
- )
-
- companion object {
- private val TAG = StartAutopilotView::class.java.simpleName
- }
-
- private var taxiPStartAutopilot: FrameAnimatorContainer? = null
- private var taxiPStartAutopilotCar: FrameAnimatorContainer? = null
- private lateinit var viewModel: StartAutopilotViewModel
- var canGonethisView = false
-
-
- init {
- initView()
- }
-
- private fun initView() {
- LayoutInflater.from(context).inflate(R.layout.taxt_p_start_autopilot_view, this, true)
- taxiPStartAutopilotCar = FrameAnimatorContainer(
- R.array.taxi_p_start_autopilot_car, 20, taxi_p_autopilot_starting, initFirstFrame = false
- )
- taxiPStartAutopilotCar?.setOnAnimStopListener(object :
- FrameAnimatorContainer.OnAnimationStoppedListener {
- override fun AnimationStopped() {
- CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "光圈动画暂停")
- }
- })
- taxiPStartAutopilot = FrameAnimatorContainer(
- R.array.taxi_p_start_autopilot, 15, taxi_p_autopilot_btn_bg, true, initFirstFrame = false
- )
- taxiPStartAutopilot?.setOnAnimStopListener(object :
- FrameAnimatorContainer.OnAnimationStoppedListener {
- override fun playOnce() {
- super.playOnce()
- canGonethisView = false
- }
-
- override fun AnimationStopped() {
- CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "可以启动自驾动画暂停")
- }
- })
- }
-
- override fun setOrderInfo(show: String) {
- actv_orderinfo.text = show
- }
-
- override fun setDoorStatus(doorPosition: DoorPosition, state: DoorState) {
- when (doorPosition) {
- DoorPosition.FRONT_LEFT -> {
- if (state == DoorState.OPEN) {
- actv_front_left_door.visibility = VISIBLE
- } else {
- actv_front_left_door.visibility = GONE
- }
- }
-
- DoorPosition.FRONT_RIGHT -> {
- if (state == DoorState.OPEN) {
- actv_front_right_door.visibility = VISIBLE
- } else {
- actv_front_right_door.visibility = GONE
- }
- }
-
- DoorPosition.REAR_LEFT -> {
- if (state == DoorState.OPEN) {
- actv_rear_left_door.visibility = VISIBLE
- } else {
- actv_rear_left_door.visibility = GONE
- }
- }
-
- DoorPosition.REAR_RIGHT -> {
- if (state == DoorState.OPEN) {
- actv_rear_right_door.visibility = VISIBLE
- } else {
- actv_rear_right_door.visibility = GONE
- }
- }
-
- else -> {
-
- }
- }
- }
-
- override fun canStartAutopilot(can: Boolean) {
- if (can) {
- ableStartAutopilot()
- } else {
- unableStartAutopilot()
- }
- }
-
- override fun onVisibilityAggregated(isVisible: Boolean) {
- super.onVisibilityAggregated(isVisible)
- if(isVisible){
- taxi_p_start_autopilot.background =
- ContextCompat.getDrawable(context, R.drawable.taxi_p_enable_start_autopilot)
- taxi_p_start_autopilot.text = resources.getString(R.string.taxi_p_start_autopilot_txt)
- taxi_p_autopilot_starting.setImageResource(R.drawable.light_00018)
- viewModel.setOrderInfo()
- }else{
- unableStartAutopilot()
- goneAllDoorState()
- resetView()
- CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onDetachedFromWindow")
- }
- }
-
- private fun resetView() {
- taxi_p_autopilot_starting.visibility = View.GONE
- aciv_middle_car.visibility = View.GONE
- taxi_p_autopilot_btn_bg.visibility = View.GONE
- taxi_p_start_autopilot.visibility = View.GONE
- }
-
- fun showStartAutopilot(){
- taxi_p_autopilot_starting.visibility = View.VISIBLE
- aciv_middle_car.visibility = View.VISIBLE
- taxi_p_autopilot_btn_bg.visibility = View.VISIBLE
- taxi_p_start_autopilot.visibility = View.VISIBLE
- }
-
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
- CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onAttachedToWindow")
- viewModel = ViewModelProvider(this).get(StartAutopilotViewModel::class.java)
- viewModel.setStartAutopilotCallback(this)
- taxi_p_start_autopilot.onClick {
- //开启动画和自动驾驶
- canGonethisView = false
- startAutopiloting()
- viewModel.startAutopilot()
- }
- }
-
- /**
- * ①:不能启动自驾
- */
- private fun unableStartAutopilot() {
- taxiPStartAutopilot?.stop()
- taxiPStartAutopilotCar?.stop()
- taxi_p_autopilot_starting.setImageResource(R.drawable.light_00018)
- taxi_p_autopilot_btn_bg.setImageResource(R.drawable.image_00000_0)
- taxi_p_start_autopilot.background =
- ContextCompat.getDrawable(context, R.drawable.taxi_p_unable_start_autopilot)
- taxi_p_start_autopilot.text = resources.getString(R.string.taxi_p_start_autopilot_txt)
- }
-
- /**
- * ②:可以启动自驾
- */
- private fun ableStartAutopilot() {
- taxiPStartAutopilot?.stop()
- taxiPStartAutopilotCar?.stop()
- taxi_p_autopilot_starting.setImageResource(R.drawable.light_00018)
- taxi_p_start_autopilot.background =
- ContextCompat.getDrawable(context, R.drawable.taxi_p_enable_start_autopilot)
- taxi_p_start_autopilot.text = resources.getString(R.string.taxi_p_start_autopilot_txt)
- }
-
- /**
- * ③:启动自驾中
- */
- fun startAutopiloting() {
- taxiPStartAutopilot?.reStart()
- taxiPStartAutopilotCar?.reStart()
- taxi_p_start_autopilot.background = null
- taxi_p_start_autopilot?.text = resources.getString(R.string.taxi_p_start_autopilot_loading)
- taxi_p_start_autopilot?.setTextColor(
- ContextCompat.getColor(context, android.R.color.white)
- )
- }
-
- /**
- * ④:启动自驾超时
- */
- override fun startAutopilotingTimeout() {
- ableStartAutopilot()
- }
-
- /**
- * ⑤:启动自驾失败
- */
- override fun startAutopilotingFail() {
- ableStartAutopilot()
- }
-
- private fun goneAllDoorState() {
- actv_front_left_door.visibility = GONE
- actv_front_right_door.visibility = GONE
- actv_rear_left_door.visibility = GONE
- actv_rear_right_door.visibility = GONE
- }
-
- override fun unableStartAutopilotByDoorState() {
- unableStartAutopilot()
- }
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt
deleted file mode 100644
index 00a86e4e57..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt
+++ /dev/null
@@ -1,136 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.checkstartautopilot.startautopilot
-
-import androidx.lifecycle.ViewModel
-import com.mogo.commons.voice.AIAssist
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
-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.util.ParseVersionUtils
-import com.mogo.eagle.core.utilcode.util.ToastUtils
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.och.common.module.manager.device.TaxiDoorStateManager
-import com.mogo.och.common.module.manager.device.callback.DoorStateCallback
-import com.mogo.och.common.module.manager.device.data.DoorPosition
-import com.mogo.och.common.module.manager.device.data.DoorState
-import com.mogo.och.common.module.utils.RxUtils
-import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.model.AutopilotManager
-import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
-import io.reactivex.disposables.Disposable
-
-class StartAutopilotViewModel : ViewModel(),
- DoorStateCallback {
-
- private val TAG = StartAutopilotViewModel::class.java.simpleName
-
- private var viewCallback: StartAutopilotCallback? = null
-
- private val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L
-
- var startCountDown: Disposable? = null
-
- var doorOpenState = true
-
- fun setStartAutopilotCallback(viewCallback: StartAutopilotCallback) {
- TaxiDoorStateManager.addListener(TAG, this)
- this.viewCallback = viewCallback
- setOrderInfo()
- }
-
- fun setOrderInfo() {
- val currentOCHOrder = TaxiPassengerModel.currentOCHOrder
- currentOCHOrder?.let {
- val phone = it.passengerPhone
- val show = if (phone.length > 8) {
- //截取电话号码前三位
- val phoneNumPre = phone.substring(0, 3)
- //截取电话号码后四位
- val phoneNumFix = phone.substring(7)
-
- "用户:$phoneNumPre****$phoneNumFix 目的地:${it.endSiteAddr}"
- } else {
- "用户:${phone} 目的地:${it.endSiteAddr}"
- }
- viewCallback?.setOrderInfo(show)
- }
- }
-
- override fun onCleared() {
- super.onCleared()
- this.viewCallback = null
- RxUtils.disposeSubscribe(startCountDown)
- TaxiDoorStateManager.removeListener(TAG)
- }
-
- /**
- * 开启自动驾驶
- */
- fun startAutopilot() {
- val num = ParseVersionUtils.parseVersion(
- true,
- CallerAutoPilotStatusListenerManager.getDockerVersion()
- )
- if (num >= 30600) {
- if (doorOpenState) {
- VoiceNotice.showNotice("关紧车门后再出发吧!")
- ToastUtils.showShort("关紧车门后再出发吧!")
- viewCallback?.unableStartAutopilotByDoorState()
- return
- }
- }
- if (RxUtils.isNotDisposed(startCountDown)) {
- ToastUtils.showLong("启动中……")
- return
- }
- if (AutopilotManager.startAutopilot().isEmpty()) {
- RxUtils.disposeSubscribe(startCountDown)
- startCountDown = RxUtils.createSubscribe(TIMER_START_AUTOPILOT_INTERVAL) {
- val autoPilotState =
- CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state
- if (autoPilotState != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
- viewCallback?.startAutopilotingTimeout()
- //未启动成功20s后做处理
- ToastUtils.showLong(R.string.taxi_p_start_autopilot_fail_10s_tip)
- VoiceNotice.showNotice("啊哦!系统繁忙中,稍后再试试吧~", AIAssist.LEVEL2)
- }
- }
- } else {
- VoiceNotice.showNotice("啊哦!系统繁忙中,稍后再试试吧~", AIAssist.LEVEL2)
- viewCallback?.startAutopilotingFail()
- }
-
- }
-
- override fun hasOpenDoor(have: Boolean) {
- CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "车门是否开着:${have}")
- doorOpenState = have
- UiThreadHandler.post {
- viewCallback?.canStartAutopilot(!doorOpenState)
- }
- }
-
- override fun doorStateChangeCallback(position: DoorPosition, state: DoorState) {
- CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "门太变化:${position}--${state}")
- runMain(position, state)
- }
-
- private fun runMain(posttion: DoorPosition, state: DoorState) {
- UiThreadHandler.post({
- viewCallback?.setDoorStatus(posttion, state)
- }, UiThreadHandler.MODE.QUEUE)
- }
-
-
- interface StartAutopilotCallback {
- fun setOrderInfo(show: String)
- fun setDoorStatus(doorPosition: DoorPosition, state: DoorState)
-
- fun canStartAutopilot(can: Boolean)
- fun startAutopilotingTimeout()
- fun startAutopilotingFail()
-
- fun unableStartAutopilotByDoorState()
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/ItineraryView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/ItineraryView.kt
deleted file mode 100644
index 69331f56d9..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/ItineraryView.kt
+++ /dev/null
@@ -1,149 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.orderinfo
-
-import android.content.Context
-import android.graphics.drawable.GradientDrawable
-import android.graphics.drawable.LayerDrawable
-import android.graphics.drawable.ScaleDrawable
-import android.os.Build
-import android.util.AttributeSet
-import android.view.Gravity
-import android.view.LayoutInflater
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.content.ContextCompat
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.findViewTreeViewModelStoreOwner
-import com.mogo.och.taxi.passenger.R
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.actv_arrived_time
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.actv_distance
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.actv_distance_unit
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.actv_endstation
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.actv_surplus_time
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.actv_surplus_time_unit
-import kotlinx.android.synthetic.main.taxi_p_itinerary.view.progress_distance
-import me.jessyan.autosize.utils.AutoSizeUtils
-
-class ItineraryView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback {
-
- private val TAG = "ItineraryView"
-
- constructor(context: Context) : super(context)
-
- constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
-
- constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)
-
- constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes)
-
- private fun initView() {
- LayoutInflater.from(context).inflate(R.layout.taxi_p_itinerary, this, true)
- setDrawable(true)
-
- progress_distance.progress = 0
- progress_distance.max = 100
-
- }
-
- private fun setDrawable(normal:Boolean) {
- val gradientDrawable = GradientDrawable()
- gradientDrawable.shape = GradientDrawable.RECTANGLE
- val corner = AutoSizeUtils.dp2px(context, 40f).toFloat()
- val cornerTop = AutoSizeUtils.dp2px(context, 20f).toFloat()
- if(normal) {
- gradientDrawable.cornerRadii =
- floatArrayOf(0f, 0f, cornerTop, cornerTop, cornerTop, cornerTop, corner, corner)
- }else {
- gradientDrawable.cornerRadii =
- floatArrayOf(0f, 0f, 0f, 0f, corner, corner, corner, corner)
- }
- val firstColor = ContextCompat.getColor(context, R.color.taxi_p_0F5FFF)
- val setondColor = ContextCompat.getColor(context, R.color.taxi_p_44C8FF)
- val thirdColor = ContextCompat.getColor(context, R.color.taxi_p_8AE4ED)
- val fourceColor = ContextCompat.getColor(context, R.color.taxi_p_C8F3F4)
- val bottomColor = ContextCompat.getColor(context, android.R.color.transparent)
- gradientDrawable.colors = intArrayOf(firstColor, setondColor, thirdColor, fourceColor)
- gradientDrawable.orientation = GradientDrawable.Orientation.LEFT_RIGHT
-
- val temp01 = GradientDrawable()
- temp01.cornerRadii = floatArrayOf(0f, 0f, 0f, 0f, corner, corner, corner, corner)
- temp01.colors = intArrayOf(bottomColor, bottomColor)
-
- val scaleDrawable3 = ScaleDrawable(gradientDrawable, Gravity.START, 1f, -1f)
- val arr = arrayOf(temp01, scaleDrawable3)
- val ld = LayerDrawable(arr)
- ld.setDrawableByLayerId(android.R.id.background, temp01)
- ld.setDrawableByLayerId(android.R.id.progress, scaleDrawable3)
- progress_distance.setProgressDrawableTiled(ld)
- }
-
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
-
- val viewModel = findViewTreeViewModelStoreOwner()?.let {
- ViewModelProvider(it).get(OrderInfoViewModel::class.java)
- }
-
- viewModel?.setDistanceCallback(this)
- }
-
- override fun setEndStation(endStation:String){
- if(endStation.length>15){
- actv_endstation.text = "${endStation.subSequence(0,15)}…"
- }else {
- actv_endstation.text = endStation
- }
- }
-
- var prePercentage = 0f
- val needChangeStyleNumber = 0.98
- val needChangeStyleNumberMin = 0.03f
-
- override fun setDistanceInfo(surplusdistance:String,distanceUnit:String,
- surplusTime:String,surplusTimeUnit:String,
- arrivedTime:String,alreadyGone:Int,stationDistance:Int
- ){
- actv_distance.text = surplusdistance
- actv_distance_unit.text = distanceUnit
- actv_surplus_time .text= surplusTime
- actv_surplus_time_unit.text = surplusTimeUnit
- actv_arrived_time.text= arrivedTime
-
- if(stationDistance>0&&alreadyGone0&¤tPercentage needChangeStyleNumber) xor (currentPercentage > needChangeStyleNumber)) {
- if (currentPercentage > needChangeStyleNumber) {
- setDrawable(false)
- } else {
- setDrawable(true)
- }
- progress_distance.progress = alreadyGone
- } else {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- progress_distance.setProgress(alreadyGone, true)
- } else {
- progress_distance.progress = alreadyGone
- }
- }
- }
- prePercentage = currentPercentage
- }
-
- }
-
- init {
- try {
- initView()
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt
deleted file mode 100644
index 8fdaa1aa27..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.orderinfo
-
-import androidx.lifecycle.ViewModel
-import com.mogo.commons.AbsMogoApplication
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.och.common.module.utils.DateTimeUtil
-import com.mogo.och.common.module.utils.NumberFormatUtil
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
-import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
-import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
-import kotlin.math.ceil
-
-class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, OrderListener {
-
- private val TAG = OrderInfoViewModel::class.java.simpleName
-
- private var viewCallback:ItineraryViewCallback?=null
-
- private var disUnit:String
- private var surplusTimeUnit:String
-
- init {
- disUnit = AbsMogoApplication.getApp().getString(R.string.taxi_p_distance_unit_km)
- surplusTimeUnit = AbsMogoApplication.getApp().getString(R.string.taxi_p_surplustime)
- // 设置起点和终点marker和实时车辆位置
- TaxiPassengerModel.setOrderStatusCallback(TAG,this)
- OrderModel.setOrderStatusCallback(TAG,this)
- }
-
- fun setDistanceCallback(viewCallback:ItineraryViewCallback){
- this.viewCallback = viewCallback
- }
-
- override fun onCleared() {
- super.onCleared()
- this.viewCallback = null
- TaxiPassengerModel.setOrderStatusCallback(TAG,null)
- OrderModel.setOrderStatusCallback(TAG,null)
- }
-
- interface ItineraryViewCallback{
- fun setDistanceInfo(surplusdistance:String,distanceUnit:String,
- surplusTime:String,surplusTimeUnit:String,
- arrivedTime:String,alreadyGone:Int,distance:Int
- )
- fun setEndStation(endStation:String)
- }
-
- override fun onCurrentOrderDistToEndChanged(meters: Long, timeInSecond: Long,stationDistance:Int) {
- var dis: String? = "0"
- var disUnit = "KM"
- if (meters > 0) {
- if (meters / 1000 < 1) {
- disUnit = AbsMogoApplication.getApp().getString(R.string.taxi_p_distance_unit_m)
- dis = Math.round(meters.toFloat()).toString()
- } else {
- disUnit = AbsMogoApplication.getApp().getString(R.string.taxi_p_distance_unit_km)
- dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
- }
- }
- val time = ceil(timeInSecond / 60f).toInt()
- val arriveTime = DateTimeUtil.getAfterSecondTime(timeInSecond.toInt())
-
- UiThreadHandler.post {
- viewCallback?.setDistanceInfo(
- dis!!,disUnit,time.toString(),surplusTimeUnit,arriveTime,stationDistance-meters.toInt(),stationDistance)
- }
- }
-
- override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) {
- TaxiPassengerModel.currentOCHOrder?.endSiteAddr?.let {
- UiThreadHandler.post {
- viewCallback?.setEndStation(it)
- }
- }
- when (TaxiPassengerModel.curOrderStatus) {
- TaxiOrderStatusEnum.OnTheWayToEnd -> {
-
- }
- else ->{
- UiThreadHandler.post {
- viewCallback?.setDistanceInfo(
- "--", disUnit, "--", surplusTimeUnit, "--", 0, 100
- )
- }
- }
- }
- }
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/speed/SpeedView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/speed/SpeedView.kt
deleted file mode 100644
index 19075351a9..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/speed/SpeedView.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.speed
-
-import android.content.Context
-import android.os.Build
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import androidx.constraintlayout.widget.ConstraintLayout
-import com.mogo.eagle.core.data.map.MogoLocation
-import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
-import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
-import com.mogo.och.taxi.passenger.R
-import kotlinx.android.synthetic.main.taxt_p_speed.view.actv_speed_value
-import kotlin.math.abs
-
-class SpeedView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
-
- private val TAG = "ItineraryView"
-
- constructor(context: Context) : super(context)
-
- constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
-
- constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)
-
- constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes)
-
- private fun initView() {
- LayoutInflater.from(context).inflate(R.layout.taxt_p_speed, this, true)
- }
-
- override fun onVisibilityAggregated(isVisible: Boolean) {
- super.onVisibilityAggregated(isVisible)
- if(isVisible){
- OchLocationManager.addGCJ02Listener(TAG, 3, this)
- }else{
- OchLocationManager.removeGCJ02Listener(TAG)
- }
- }
-
- init {
- try {
- initView()
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) {
- mogoLocation?.let {
- UiThreadHandler.post {
- val speedKM = (abs(it.gnssSpeed) * 3.6f).toInt()
- actv_speed_value.text = speedKM.toString()
- }
- }
- }
-
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/FullVideoUtils.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/FullVideoUtils.kt
deleted file mode 100644
index 8691df08b1..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/FullVideoUtils.kt
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video
-
-import android.annotation.SuppressLint
-import android.app.Activity
-import android.content.Context
-import android.view.View
-import android.view.WindowManager
-import com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer
-import com.shuyu.gsyvideoplayer.GSYVideoManager
-import java.lang.Exception
-
-/**
- * 视频全屏播放
- *
- * @author yangyakun
- */
-@SuppressLint("StaticFieldLeak")
-object FullVideoUtils {
- private const val TAG = "OverlayViewUtils"
- private var windowManager: WindowManager? = null
-
- @Volatile
- private var isShowing = false
-
- /**
- * 记录上一次的View
- */
- private var lastOverlayView: View? = null
-
- /**
- * 添加覆盖View在Activity上面
- */
- @JvmOverloads
- fun showOverlayView(context: Activity, overlayView: View, ani: Int = -1) {
- if (windowManager == null) {
- windowManager = context.windowManager
- }
-
- // 设置View显示模式,沉浸式的侵入到状态栏,导航栏
- overlayView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
- or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
- or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION)
- val params = WindowManager.LayoutParams()
- params.width = WindowManager.LayoutParams.MATCH_PARENT
- params.height = WindowManager.LayoutParams.MATCH_PARENT
- params.alpha = 1.0f
- // 设置窗口类型为应用子窗口,和PopupWindow同类型
- params.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL
- // 没有边界限制,允许窗口扩展到屏幕外
- params.flags = WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
- if (ani != -1) {
- params.windowAnimations = ani
- }
- try {
- // 后门逻辑,长时间触摸消失
- lastOverlayView = overlayView
- windowManager!!.addView(overlayView, params)
- isShowing = true
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- /**
- * 移除覆盖View在Activity上面
- */
- fun dismissOverlayView(needReleas:Boolean) {
- if (!isShowing) {
- return
- }
- val consultVideoPlayer =
- lastOverlayView?.findViewById(GSYVideoManager.FULLSCREEN_ID)
- consultVideoPlayer?.let {
- if(needReleas){
- it.onVideoReset()
- it.setVideoAllCallBack(null)
- it.smalllPlayer?.clearFullscreenLayout(it)
- }
- consultVideoPlayer.removeAllViews()
- }
- try {
- if (windowManager != null) {
- windowManager!!.removeViewImmediate(lastOverlayView)
- windowManager = null
- }
- if (lastOverlayView != null) {
- lastOverlayView = null
- }
- isShowing = false
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/InfoVideoView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/InfoVideoView.kt
deleted file mode 100644
index 0841f3dab3..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/InfoVideoView.kt
+++ /dev/null
@@ -1,235 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video
-
-import android.content.Context
-import android.graphics.Color
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import android.view.View
-import android.widget.FrameLayout
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.recyclerview.widget.RecyclerView
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay
-import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselLayoutManager
-import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselZoomPostLayoutListener
-import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CenterScrollListener
-import com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer
-import com.mogo.och.taxi.passenger.widget.indicator.IndicatorView
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorOrientation
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorStyle
-import com.shuyu.gsyvideoplayer.GSYVideoManager
-import com.shuyu.gsyvideoplayer.video.base.GSYVideoView
-import kotlin.math.floor
-
-/**
- * @author ChenFufeng
- * 蘑菇资讯视频
- */
-internal class InfoVideoView @JvmOverloads constructor(
- context: Context,
- attrs: AttributeSet? = null,
- defStyleAttr: Int = 0
-) : FrameLayout(
- context,
- attrs,
- defStyleAttr
-) {
-
- companion object{
- private const val TAG = "VideoView"
- }
-
- init {
- LayoutInflater.from(context).inflate(R.layout.taxi_p_mogo_video_layout, this, true)
- initView()
- }
-
- private var rvVideoPlaylist: RecyclerView? = null
- private lateinit var indicatorView: IndicatorView
- private lateinit var clContain: ConstraintLayout
-
- private val arrayListOf by lazy {
- arrayListOf().apply {
- add(
- TaxiPassengerVideoPlay(
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v",
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655969536177/大运会.png",
- "蘑菇车联牵手成都大运会"
- )
- )
- add(TaxiPassengerVideoPlay(
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655708596763/全车型混剪增加红旗车队.m4v",
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655969511280/车队.png",
- "蘑菇车联覆盖生活的方方面面"
- ))
- add(TaxiPassengerVideoPlay(
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655708554279/红旗车队.m4v",
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655969553174/红旗重新排版.png",
- "蘑菇车联之红旗车队"
- ))
- add(
- TaxiPassengerVideoPlay(
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655708409810/20210610重新排版3屏.m4v",
- "https://img.zhidaozhixing.com/fileServer/online_car_hailing/1655969579713/三屏.png",
- "多视角体验蘑菇车联自动驾驶"
- )
- )
- }
- }
-
- fun exitFullScreenMode(resetVideoPlayer: Boolean) {
- val carouselLayoutManager = rvVideoPlaylist?.layoutManager as CarouselLayoutManager
- val (_: Int, player) = getPlayer(carouselLayoutManager)
- player?.let {
- it.exitFullScreenMode()
- it.onVideoPause()
- if(resetVideoPlayer) {
- it.onVideoReset()
- }
- }
- }
-
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
- configPage()
- }
-
- override fun onVisibilityChanged(changedView: View, visibility: Int) {
- super.onVisibilityChanged(changedView, visibility)
- if(changedView!=this){
- return
- }
- val carouselLayoutManager = rvVideoPlaylist?.layoutManager as CarouselLayoutManager
- val (_: Int, player) = getPlayer(carouselLayoutManager)
- when (visibility) {
- View.VISIBLE -> {
- player?.let {
- if (!player.isIfCurrentIsFullscreen) {
- when (player.currentState) {
- GSYVideoView.CURRENT_STATE_PAUSE -> {
- //player.onVideoResume(false)
- }
- else -> {}
- }
- }
- }
- }
- else -> {
- player?.let {
- if (!player.isIfCurrentIsFullscreen) {
- player.onVideoPause()
- }
- }
- }
- }
- }
-
- private fun initView() {
- rvVideoPlaylist = findViewById(R.id.infoVideoPlaylist)
- indicatorView = findViewById(R.id.infoIndicatorView)
- clContain = findViewById(R.id.infoContainer)
- }
-
- private fun configPage() {
-// FullVideoUtils.dismissOverlayView(true)
- initData()
- }
-
- private fun initData() {
- val carouselLayoutManager = CarouselLayoutManager(CarouselLayoutManager.HORIZONTAL, true)
- carouselLayoutManager.setPostLayoutListener(CarouselZoomPostLayoutListener())
- carouselLayoutManager.maxVisibleItems = 1
- indicatorView.notifyDataChanged(arrayListOf.size)
- indicatorView.setSlideMode(IndicatorSlideMode.SCALE)
- indicatorView.setOrientation(IndicatorOrientation.INDICATOR_HORIZONTAL)
- indicatorView.setIndicatorStyle(IndicatorStyle.ROUND_RECT)
- indicatorView.setSliderColor(
- Color.parseColor("#80FFFFFF"), Color.parseColor("#3FACFD"),
- Color.parseColor("#3FACFD")
- )
- indicatorView.setSliderWidth(9f, 54f)
- indicatorView.setSliderHeight(9f)
- indicatorView.setSliderGap(36f)
- rvVideoPlaylist?.addOnScrollListener(object : CenterScrollListener() {
- var prePlayerPosition = 0
- override fun pageSelect(recyclerView: RecyclerView?, newState: Int) {
- //播放视频
- val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
- indicatorView.onPageSelected(centerItemPosition)
- if (player is ConsultVideoPlayer) {
- if (prePlayerPosition != centerItemPosition) {
- if (player.currentState == GSYVideoView.CURRENT_STATE_PAUSE) {
- player.onVideoReset()
- }
- val playerHolder =
- carouselLayoutManager.findViewByPosition(prePlayerPosition)
- val prePlayer =
- playerHolder?.findViewById(R.id.video_item_player)
- prePlayer?.onVideoReset()
- val taxiPassengerVideoPlay = arrayListOf[centerItemPosition]
- } else {
- player.onVideoResume(false)
- }
- }
- prePlayerPosition = centerItemPosition
- }
-
- override fun pageStop() {
- val (_: Int, player) = getPlayer(carouselLayoutManager)
- if (player is ConsultVideoPlayer) {
- player.onVideoPause()
- }
- }
-
- })
- carouselLayoutManager.addOnDargAutoDiffListener { adapterPosition, currentPosition ->
- val fl = adapterPosition - floor(adapterPosition)
- var currentIndex = currentPosition
- if (fl > 0.5) {
- if (currentPosition == 0) {
- currentIndex = rvVideoPlaylist?.adapter!!.itemCount - 1
- } else {
- currentIndex -= 1
- }
- }
- indicatorView.onPageScrolled(currentIndex, fl, 0)
- }
- val recyclerVideoAdapter = RecyclerVideoAdapter(context, arrayListOf, rvVideoPlaylist)
- recyclerVideoAdapter.setOnThumbImageClilckListener {
- val (_: Int, player) = getPlayer(carouselLayoutManager)
- if (player is ConsultVideoPlayer) {
- player.onVideoReset()
- player.thumbImageViewLayout.visibility = View.VISIBLE
- }
- rvVideoPlaylist?.smoothScrollToPosition(it)
- }
- rvVideoPlaylist?.layoutManager = carouselLayoutManager
- rvVideoPlaylist?.setHasFixedSize(true)
- rvVideoPlaylist?.adapter = recyclerVideoAdapter
- }
-
- private fun getPlayer(carouselLayoutManager: CarouselLayoutManager): Pair {
- val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
- val playerHolder = carouselLayoutManager.findViewByPosition(centerItemPosition)
- val player = playerHolder?.findViewById(R.id.video_item_player)
- return Pair(centerItemPosition, player)
- }
-
- override fun onWindowFocusChanged(hasWindowFocus: Boolean) {
- super.onWindowFocusChanged(hasWindowFocus)
- val carouselLayoutManager = rvVideoPlaylist?.layoutManager as CarouselLayoutManager
- val (_: Int, player) = getPlayer(carouselLayoutManager)
- player?.let {
- if(it.isInPlayingState&&!it.isIfCurrentIsFullscreen&&!hasWindowFocus){
- player.onVideoPause()
- }
- }
-
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
- GSYVideoManager.releaseAllVideos()
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java
deleted file mode 100644
index 8eefd40f44..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.view.View;
-import android.widget.ImageView;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.mogo.och.taxi.passenger.R;
-import com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer;
-import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
-
-public class RecyclerItemVideoHolder extends RecyclerView.ViewHolder {
-
- public final static String TAG = "RecyclerView2List";
-
- protected Context context;
-
- public ConsultVideoPlayer gsyVideoPlayer;
-
- GSYVideoOptionBuilder gsyVideoOptionBuilder;
-
- public RecyclerItemVideoHolder(Context context, View v) {
- super(v);
- this.context = context;
- gsyVideoPlayer = v.findViewById(R.id.video_item_player);
- gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
- }
-
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java
deleted file mode 100644
index d8685e1c73..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.bumptech.glide.Glide;
-import com.bumptech.glide.request.RequestOptions;
-import com.mogo.eagle.core.utilcode.util.ToastUtils;
-import com.mogo.och.taxi.passenger.R;
-import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay;
-import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack;
-
-import java.util.List;
-
-import me.jessyan.autosize.AutoSizeCompat;
-
-public class RecyclerVideoAdapter extends RecyclerView.Adapter {
- private final static String TAG = "RecyclerBaseAdapter";
-
- private List itemDataList = null;
- private Context context = null;
- private OnThumbImageClilckListener onThumbImageClilckListener;
- private RecyclerView recyclerView;
-
- public OnThumbImageClilckListener getOnThumbImageClilckListener() {
- return onThumbImageClilckListener;
- }
-
- public void setOnThumbImageClilckListener(OnThumbImageClilckListener onThumbImageClilckListener) {
- this.onThumbImageClilckListener = onThumbImageClilckListener;
- }
-
- public RecyclerVideoAdapter(Context context, List itemDataList,RecyclerView recyclerView) {
- this.itemDataList = itemDataList;
- this.context = context;
- this.recyclerView = recyclerView;
- }
-
- public TaxiPassengerVideoPlay getItemByPosition(int position){
- if(itemDataList!=null){
- return itemDataList.get(position);
- }
- return null;
- }
-
- @NonNull
- @Override
- public RecyclerItemVideoHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View v = LayoutInflater.from(context).inflate(R.layout.taxi_p_video_item_light, parent, false);
- RecyclerItemVideoHolder recyclerItemVideoHolder = new RecyclerItemVideoHolder(context, v);
- recyclerItemVideoHolder.setIsRecyclable(false);
- return recyclerItemVideoHolder;
- }
-
-
-
- @Override
- public void onBindViewHolder(@NonNull final RecyclerItemVideoHolder holder, int position) {
- final TaxiPassengerVideoPlay taxiPassengerVideoPlay = itemDataList.get(position);
- AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.getResources());
- holder.gsyVideoOptionBuilder
- .setEnlargeImageRes(R.drawable.taxi_p_change_full)
- .setUrl(taxiPassengerVideoPlay.getUrl())
- .setCacheWithPlay(true)
- .setPlayTag(taxiPassengerVideoPlay.getImageUrl()+position)
- .setThumbPlay(false)
- .build(holder.gsyVideoPlayer);
- holder.gsyVideoPlayer.getTitleTextView().setText(taxiPassengerVideoPlay.getTitle());
- Glide.with(context)
- .load(taxiPassengerVideoPlay.getImageUrl())
- .apply(new RequestOptions().placeholder(R.drawable.road_video_bg).centerCrop())
- .into(holder.gsyVideoPlayer.coverImage);
- holder.gsyVideoPlayer.getThumbImageViewLayout().setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(onThumbImageClilckListener!=null){
- onThumbImageClilckListener.onDxChanged(holder.getAbsoluteAdapterPosition());
- }
- }
- });
- holder.gsyVideoPlayer.setVideoAllCallBack(new GSYSampleCallBack(){
- @Override
- public void onAutoComplete(String url, Object... objects) {
- holder.gsyVideoPlayer.onVideoReset();
- if(holder.getAbsoluteAdapterPosition()==getItemCount()-1){
- recyclerView.smoothScrollToPosition(0);
- }else {
- recyclerView.smoothScrollToPosition(holder.getAbsoluteAdapterPosition()+1);
- }
- }
-
- @Override
- public void onClickBlank(String url, Object... objects) {
- super.onClickBlank(url, objects);
- recyclerView.smoothScrollToPosition(holder.getAbsoluteAdapterPosition());
- }
-
- @Override
- public void onPlayError(String url, Object... objects) {
- ToastUtils.showLong("哎呀,出错了,看看其他视频吧");
- }
-
- @Override
- public void onClickStartError(String url, Object... objects) {
- ToastUtils.showLong("哎呀,出错了,看看其他视频吧");
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return itemDataList.size();
- }
-
-
- @Override
- public int getItemViewType(int position) {
- return 1;
- }
-
-
- public interface OnThumbImageClilckListener {
- void onDxChanged(int targetPosition);
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java
deleted file mode 100644
index 326341e950..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java
+++ /dev/null
@@ -1,970 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video.layoutmanage;
-
-import android.graphics.PointF;
-import android.os.Build;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.CallSuper;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.view.ViewCompat;
-import androidx.recyclerview.widget.LinearSmoothScroller;
-import androidx.recyclerview.widget.OrientationHelper;
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * An implementation of {@link RecyclerView.LayoutManager} that layout items like carousel.
- * Generally there is one center item and bellow this item there are maximum {@link CarouselLayoutManager#getMaxVisibleItems()} items on each side of the center
- * item. By default {@link CarouselLayoutManager#getMaxVisibleItems()} is {@link CarouselLayoutManager#MAX_VISIBLE_ITEMS}.
- *
- * This LayoutManager supports only fixedSized adapter items.
- *
- * This LayoutManager supports {@link CarouselLayoutManager#HORIZONTAL} and {@link CarouselLayoutManager#VERTICAL} orientations.
- *
- * This LayoutManager supports circle layout. By default it if disabled. We don't recommend to use circle layout with adapter items count less then 3.
- *
- * Please be sure that layout_width of adapter item is a constant value and not {@link ViewGroup.LayoutParams#MATCH_PARENT}
- * for {@link #HORIZONTAL} orientation.
- * So like layout_height is not {@link ViewGroup.LayoutParams#MATCH_PARENT} for {@link CarouselLayoutManager#VERTICAL}
- *
- */
-public class CarouselLayoutManager extends RecyclerView.LayoutManager implements RecyclerView.SmoothScroller.ScrollVectorProvider {
-
- public static final int HORIZONTAL = OrientationHelper.HORIZONTAL;
- public static final int VERTICAL = OrientationHelper.VERTICAL;
- /**
- * 固定值一直不变
- */
- public static final int INVALID_POSITION = -1;
- public static final int MAX_VISIBLE_ITEMS = 3;
-
- private static final boolean CIRCLE_LAYOUT = false;
-
- private boolean mDecoratedChildSizeInvalid;
- private Integer mDecoratedChildWidth;
- private Integer mDecoratedChildHeight;
-
- private final int mOrientation;
- private boolean mCircleLayout;
-
- private int mPendingScrollPosition;
-
- private final LayoutHelper mLayoutHelper = new LayoutHelper(MAX_VISIBLE_ITEMS);
-
- private PostLayoutListener mViewPostLayout;
-
- private final List mOnCenterItemSelectionListeners = new ArrayList<>();
- private final List onDargAutoDiffListeners = new ArrayList<>();
- private int mCenterItemPosition = INVALID_POSITION;
- private int mItemsCount;
-
- @Nullable
- private CarouselSavedState mPendingCarouselSavedState;
-
- /**
- * @param orientation should be {@link #VERTICAL} or {@link #HORIZONTAL}
- */
- @SuppressWarnings("unused")
- public CarouselLayoutManager(final int orientation) {
- this(orientation, CIRCLE_LAYOUT);
- }
-
- /**
- * If circleLayout is true then all items will be in cycle. Scroll will be infinite on both sides.
- *
- * @param orientation should be {@link #VERTICAL} or {@link #HORIZONTAL}
- * @param circleLayout true for enabling circleLayout
- */
- @SuppressWarnings("unused")
- public CarouselLayoutManager(final int orientation, final boolean circleLayout) {
- if (HORIZONTAL != orientation && VERTICAL != orientation) {
- throw new IllegalArgumentException("orientation should be HORIZONTAL or VERTICAL");
- }
- mOrientation = orientation;
- mCircleLayout = circleLayout;
- mPendingScrollPosition = INVALID_POSITION;
- }
-
- /**
- * Change circle layout type
- */
- @SuppressWarnings("unused")
- public void setCircleLayout(final boolean circleLayout) {
- if (mCircleLayout != circleLayout) {
- mCircleLayout = circleLayout;
- requestLayout();
- }
- }
-
- /**
- * Setup {@link PostLayoutListener} for this LayoutManager.
- * Its methods will be called for each visible view item after general LayoutManager layout finishes.
- *
- * Generally this method should be used for scaling and translating view item for better (different) view presentation of layouting.
- *
- * @param postLayoutListener listener for item layout changes. Can be null.
- */
- @SuppressWarnings("unused")
- public void setPostLayoutListener(@Nullable final PostLayoutListener postLayoutListener) {
- mViewPostLayout = postLayoutListener;
- requestLayout();
- }
-
- /**
- * Setup maximum visible (layout) items on each side of the center item.
- * Basically during scrolling there can be more visible items (+1 item on each side), but in idle state this is the only reached maximum.
- *
- * @param maxVisibleItems should be great then 0, if bot an {@link IllegalAccessException} will be thrown
- */
- @CallSuper
- @SuppressWarnings("unused")
- public void setMaxVisibleItems(final int maxVisibleItems) {
- if (0 > maxVisibleItems) {
- throw new IllegalArgumentException("maxVisibleItems can't be less then 0");
- }
- mLayoutHelper.mMaxVisibleItems = maxVisibleItems;
- requestLayout();
- }
-
- /**
- * @return current setup for maximum visible items.
- * @see #setMaxVisibleItems(int)
- */
- @SuppressWarnings("unused")
- public int getMaxVisibleItems() {
- return mLayoutHelper.mMaxVisibleItems;
- }
-
- @Override
- public RecyclerView.LayoutParams generateDefaultLayoutParams() {
- return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
- }
-
- /**
- * @return current layout orientation
- * @see #VERTICAL
- * @see #HORIZONTAL
- */
- public int getOrientation() {
- return mOrientation;
- }
-
- @Override
- public boolean canScrollHorizontally() {
- return 0 != getChildCount() && HORIZONTAL == mOrientation;
- }
-
- @Override
- public boolean canScrollVertically() {
- return 0 != getChildCount() && VERTICAL == mOrientation;
- }
-
- /**
- * @return current layout center item
- */
- public int getCenterItemPosition() {
- return mCenterItemPosition;
- }
-
- /**
- * @param onCenterItemSelectionListener listener that will trigger when ItemSelectionChanges. can't be null
- */
- public void addOnItemSelectionListener(@NonNull final OnCenterItemSelectionListener onCenterItemSelectionListener) {
- mOnCenterItemSelectionListeners.add(onCenterItemSelectionListener);
- }
-
- /**
- * @param onCenterItemSelectionListener listener that was previously added by {@link #addOnItemSelectionListener(OnCenterItemSelectionListener)}
- */
- public void removeOnItemSelectionListener(@NonNull final OnCenterItemSelectionListener onCenterItemSelectionListener) {
- mOnCenterItemSelectionListeners.remove(onCenterItemSelectionListener);
- }
-
- public void addOnDargAutoDiffListener(@NonNull final OnDargAutoDiffListener onDargAutoDiffListener) {
- onDargAutoDiffListeners.add(onDargAutoDiffListener);
- }
-
- public void removeOnDargAutoDiffListener(@NonNull final OnDargAutoDiffListener onDargAutoDiffListener) {
- onDargAutoDiffListeners.remove(onDargAutoDiffListener);
- }
-
- @SuppressWarnings("RefusedBequest")
- @Override
- public void scrollToPosition(final int position) {
- if (0 > position) {
- throw new IllegalArgumentException("position can't be less then 0. position is : " + position);
- }
- mPendingScrollPosition = position;
- requestLayout();
- }
-
- @SuppressWarnings("RefusedBequest")
- @Override
- public void smoothScrollToPosition(@NonNull final RecyclerView recyclerView, @NonNull final RecyclerView.State state, final int position) {
- final LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
- @Override
- public int calculateDyToMakeVisible(final View view, final int snapPreference) {
- if (!canScrollVertically()) {
- return 0;
- }
-
- return getOffsetForCurrentView(view);
- }
-
- @Override
- public int calculateDxToMakeVisible(final View view, final int snapPreference) {
- if (!canScrollHorizontally()) {
- return 0;
- }
- return getOffsetForCurrentView(view);
- }
- };
- linearSmoothScroller.setTargetPosition(position);
- startSmoothScroll(linearSmoothScroller);
- }
-
- @Override
- @Nullable
- public PointF computeScrollVectorForPosition(final int targetPosition) {
- if (0 == getChildCount()) {
- return null;
- }
- final float directionDistance = getScrollDirection(targetPosition);
- //noinspection NumericCastThatLosesPrecision
- final int direction = (int) -Math.signum(directionDistance);
-
- if (HORIZONTAL == mOrientation) {
- return new PointF(direction, 0);
- } else {
- return new PointF(0, direction);
- }
- }
-
- private float getScrollDirection(final int targetPosition) {
- final float currentScrollPosition = makeScrollPositionInRange0ToCount(getCurrentScrollPosition(), mItemsCount);
-
- if (mCircleLayout) {
- final float t1 = currentScrollPosition - targetPosition;
- final float t2 = Math.abs(t1) - mItemsCount;
- if (Math.abs(t1) > Math.abs(t2)) {
- return Math.signum(t1) * t2;
- } else {
- return t1;
- }
- } else {
- return currentScrollPosition - targetPosition;
- }
- }
-
- @Override
- public int scrollVerticallyBy(final int dy, @NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) {
- if (HORIZONTAL == mOrientation) {
- return 0;
- }
- return scrollBy(dy, recycler, state);
- }
-
- @Override
- public int scrollHorizontallyBy(final int dx, final RecyclerView.Recycler recycler, final RecyclerView.State state) {
- if (VERTICAL == mOrientation) {
- return 0;
- }
- return scrollBy(dx, recycler, state);
- }
-
- /**
- * This method is called from {@link #scrollHorizontallyBy(int, RecyclerView.Recycler, RecyclerView.State)} and
- * {@link #scrollVerticallyBy(int, RecyclerView.Recycler, RecyclerView.State)} to calculate needed scroll that is allowed.
- *
- * This method may do relayout work.
- *
- * @param diff 要滚动的距离
- * @param recycler 回收期
- * @param state Transient state of RecyclerView
- * @return distance that we actually scrolled by
- */
- @CallSuper
- protected int scrollBy(final int diff, @NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) {
- if (null == mDecoratedChildWidth || null == mDecoratedChildHeight) {
- return 0;
- }
- if (0 == getChildCount() || 0 == diff) {
- return 0;
- }
- final int resultScroll;
- if (mCircleLayout) {
- resultScroll = diff;
-
- mLayoutHelper.mScrollOffset += resultScroll;
-
- final int maxOffset = getScrollItemSize() * mItemsCount;
- while (0 > mLayoutHelper.mScrollOffset) {
- mLayoutHelper.mScrollOffset += maxOffset;
- }
- while (mLayoutHelper.mScrollOffset > maxOffset) {
- mLayoutHelper.mScrollOffset -= maxOffset;
- }
-
- mLayoutHelper.mScrollOffset -= resultScroll;
- } else {
- final int maxOffset = getMaxScrollOffset();
-
- if (0 > mLayoutHelper.mScrollOffset + diff) {
- resultScroll = -mLayoutHelper.mScrollOffset; //to make it 0
- } else if (mLayoutHelper.mScrollOffset + diff > maxOffset) {
- resultScroll = maxOffset - mLayoutHelper.mScrollOffset; //to make it maxOffset
- } else {
- resultScroll = diff;
- }
- }
- if (0 != resultScroll) {
- mLayoutHelper.mScrollOffset += resultScroll;
- fillData(recycler, state);
- }
- return resultScroll;
- }
-
- @Override
- public void onMeasure(@NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state, final int widthSpec, final int heightSpec) {
- mDecoratedChildSizeInvalid = true;
-
- super.onMeasure(recycler, state, widthSpec, heightSpec);
- }
-
- @SuppressWarnings("rawtypes")
- @Override
- public void onAdapterChanged(final RecyclerView.Adapter oldAdapter, final RecyclerView.Adapter newAdapter) {
- super.onAdapterChanged(oldAdapter, newAdapter);
-
- removeAllViews();
- }
-
-
- @SuppressWarnings("RefusedBequest")
- @Override
- @CallSuper
- public void onLayoutChildren(@NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) {
- if (0 == state.getItemCount()) {
- removeAndRecycleAllViews(recycler);
- selectItemCenterPosition(INVALID_POSITION);
- return;
- }
-
- detachAndScrapAttachedViews(recycler);
-
- if (null == mDecoratedChildWidth || mDecoratedChildSizeInvalid) {
- final List scrapList = recycler.getScrapList();
-
- final boolean shouldRecycle;
- final View view;
- if (scrapList.isEmpty()) {
- shouldRecycle = true;
- final int itemsCount = state.getItemCount();
- view = recycler.getViewForPosition(
- mPendingScrollPosition == INVALID_POSITION ?
- 0 :
- Math.max(0, Math.min(itemsCount - 1, mPendingScrollPosition))
- );
- addView(view);
- } else {
- shouldRecycle = false;
- view = scrapList.get(0).itemView;
- }
- measureChildWithMargins(view, 0, 0);
-
- final int decoratedChildWidth = getDecoratedMeasuredWidth(view);
- final int decoratedChildHeight = getDecoratedMeasuredHeight(view);
- if (shouldRecycle) {
- detachAndScrapView(view, recycler);
- }
-
- if (null != mDecoratedChildWidth && (mDecoratedChildWidth != decoratedChildWidth || mDecoratedChildHeight != decoratedChildHeight)) {
- if (INVALID_POSITION == mPendingScrollPosition && null == mPendingCarouselSavedState) {
- mPendingScrollPosition = mCenterItemPosition;
- }
- }
-
- mDecoratedChildWidth = decoratedChildWidth;
- mDecoratedChildHeight = decoratedChildHeight;
- mDecoratedChildSizeInvalid = false;
- }
-
- if (INVALID_POSITION != mPendingScrollPosition) {
- final int itemsCount = state.getItemCount();
- mPendingScrollPosition = 0 == itemsCount ? INVALID_POSITION : Math.max(0, Math.min(itemsCount - 1, mPendingScrollPosition));
- }
- if (INVALID_POSITION != mPendingScrollPosition) {
- mLayoutHelper.mScrollOffset = calculateScrollForSelectingPosition(mPendingScrollPosition, state);
- mPendingScrollPosition = INVALID_POSITION;
- mPendingCarouselSavedState = null;
- } else if (null != mPendingCarouselSavedState) {
- mLayoutHelper.mScrollOffset = calculateScrollForSelectingPosition(mPendingCarouselSavedState.mCenterItemPosition, state);
- mPendingCarouselSavedState = null;
- } else if (state.didStructureChange() && INVALID_POSITION != mCenterItemPosition) {
- mLayoutHelper.mScrollOffset = calculateScrollForSelectingPosition(mCenterItemPosition, state);
- }
-
- fillData(recycler, state);
- }
-
- private int calculateScrollForSelectingPosition(final int itemPosition, final RecyclerView.State state) {
- if (itemPosition == INVALID_POSITION) {
- return 0;
- }
-
- final int fixedItemPosition = itemPosition < state.getItemCount() ? itemPosition : state.getItemCount() - 1;
- return fixedItemPosition * (VERTICAL == mOrientation ? mDecoratedChildHeight : mDecoratedChildWidth);
- }
-
- private void fillData(@NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) {
- final float currentScrollPosition = getCurrentScrollPosition();
-
- generateLayoutOrder(currentScrollPosition, state);
- detachAndScrapAttachedViews(recycler);
- recyclerOldViews(recycler);
-
- final int width = getWidthNoPadding();
- final int height = getHeightNoPadding();
- if (VERTICAL == mOrientation) {
- fillDataVertical(recycler, width, height);
- } else {
- fillDataHorizontal(recycler, width, height);
- }
-
- recycler.clear();
-
- detectOnItemSelectionChanged(currentScrollPosition, state);
- }
-
- private void detectOnItemSelectionChanged(final float currentScrollPosition, final RecyclerView.State state) {
- final float absCurrentScrollPosition = makeScrollPositionInRange0ToCount(currentScrollPosition, state.getItemCount());
- final int centerItem = Math.round(absCurrentScrollPosition);
- if(currentScrollPosition-centerItem!=0){
- new Handler(Looper.getMainLooper()).post(() -> dragDxDiff(currentScrollPosition,mCenterItemPosition));
- }
- if (mCenterItemPosition != centerItem) {
- mCenterItemPosition = centerItem;
- new Handler(Looper.getMainLooper()).post(new Runnable() {
- @Override
- public void run() {
- selectItemCenterPosition(centerItem);
- }
- });
- }
- }
-
- private void selectItemCenterPosition(final int centerItem) {
- for (final OnCenterItemSelectionListener onCenterItemSelectionListener : mOnCenterItemSelectionListeners) {
- onCenterItemSelectionListener.onCenterItemChanged(centerItem);
- }
- }
- private void dragDxDiff(final float centerItem,final int currentPosition) {
- for (final OnDargAutoDiffListener onDargAutoDiffListener : onDargAutoDiffListeners) {
- onDargAutoDiffListener.onDxChanged(centerItem,currentPosition);
- }
- }
-
- private void fillDataVertical(final RecyclerView.Recycler recycler, final int width, final int height) {
- final int start = (width - mDecoratedChildWidth) / 2;
- final int end = start + mDecoratedChildWidth;
-
- final int centerViewTop = (height - mDecoratedChildHeight) / 2;
-
- for (int i = 0, count = mLayoutHelper.mLayoutOrder.length; i < count; ++i) {
- final LayoutOrder layoutOrder = mLayoutHelper.mLayoutOrder[i];
- final int offset = getCardOffsetByPositionDiff(layoutOrder.mItemPositionDiff);
- final int top = centerViewTop + offset;
- final int bottom = top + mDecoratedChildHeight;
- fillChildItem(start, top, end, bottom, layoutOrder, recycler, i);
- }
- }
-
- private void fillDataHorizontal(final RecyclerView.Recycler recycler, final int width, final int height) {
- final int top = (height - mDecoratedChildHeight) / 2;
- final int bottom = top + mDecoratedChildHeight;
-
- final int centerViewStart = (width - mDecoratedChildWidth) / 2;
-
- for (int i = 0, count = mLayoutHelper.mLayoutOrder.length; i < count; ++i) {
- final LayoutOrder layoutOrder = mLayoutHelper.mLayoutOrder[i];
- final int offset = getCardOffsetByPositionDiff(layoutOrder.mItemPositionDiff);
- final int start = centerViewStart + offset;
- final int end = start + mDecoratedChildWidth;
- fillChildItem(start, top, end, bottom, layoutOrder, recycler, i);
- }
- }
-
-
- @SuppressWarnings("MethodWithTooManyParameters")
- private void fillChildItem(final int start, final int top, final int end, final int bottom, @NonNull final LayoutOrder layoutOrder, @NonNull final RecyclerView.Recycler recycler, final int i) {
- final View view = bindChild(layoutOrder.mItemAdapterPosition, recycler);
- ViewCompat.setElevation(view, i);
- ItemTransformation transformation = null;
- if (null != mViewPostLayout) {
- transformation = mViewPostLayout.transformChild(view, layoutOrder.mItemPositionDiff, mOrientation, layoutOrder.mItemAdapterPosition);
- }
- if (null == transformation) {
- view.layout(start, top, end, bottom);
- } else {
- view.layout(Math.round(start + transformation.mTranslationX), Math.round(top + transformation.mTranslationY),
- Math.round(end + transformation.mTranslationX), Math.round(bottom + transformation.mTranslationY));
- view.setScaleX(transformation.mScaleX);
- view.setScaleY(transformation.mScaleY);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- view.setTransitionAlpha(transformation.mAlpha);
- }else {
- view.setAlpha(transformation.mAlpha);
- }
- }
- }
-
- /**
- * 中心项目的当前滚动位置。如果是循环布局,则该值可以在任何范围内。如果不是,那么它在[0,-1]
- */
- private float getCurrentScrollPosition() {
- final int fullScrollSize = getMaxScrollOffset();
- if (0 == fullScrollSize) {
- return 0;
- }
- return 1.0f * mLayoutHelper.mScrollOffset / getScrollItemSize();
- }
-
- /**
- * 填充布局中所有项目的最大滚动值。通常,这仅适用于非循环布局。
- */
- private int getMaxScrollOffset() {
- return getScrollItemSize() * (mItemsCount - 1);
- }
-
- /**
- * Because we can support old Android versions, we should layout our children in specific order to make our center view in the top of layout
- * (this item should layout last). So this method will calculate layout order and fill up {@link #mLayoutHelper} object.
- * This object will be filled by only needed to layout items. Non visible items will not be there.
- *
- * @param currentScrollPosition current scroll position this is a value that indicates position of center item
- * (if this value is int, then center item is really in the center of the layout, else it is near state).
- * Be aware that this value can be in any range is it is cycle layout
- * @param state Transient state of RecyclerView
- * @see #getCurrentScrollPosition()
- */
- private void generateLayoutOrder(final float currentScrollPosition, @NonNull final RecyclerView.State state) {
- mItemsCount = state.getItemCount();
- final float absCurrentScrollPosition = makeScrollPositionInRange0ToCount(currentScrollPosition, mItemsCount);
- final int centerItem = Math.round(absCurrentScrollPosition);
-
- if (mCircleLayout && 1 < mItemsCount) {
- final int layoutCount = Math.min(mLayoutHelper.mMaxVisibleItems * 2 + 1, mItemsCount);
-
- mLayoutHelper.initLayoutOrder(layoutCount);
-
- final int countLayoutHalf = layoutCount / 2;
- // before center item
- for (int i = 1; i <= countLayoutHalf; ++i) {
- final int position = Math.round(absCurrentScrollPosition - i + mItemsCount) % mItemsCount;
- mLayoutHelper.setLayoutOrder(countLayoutHalf - i, position, centerItem - absCurrentScrollPosition - i);
- }
- // after center item
- for (int i = layoutCount - 1; i >= countLayoutHalf + 1; --i) {
- final int position = Math.round(absCurrentScrollPosition - i + layoutCount) % mItemsCount;
- mLayoutHelper.setLayoutOrder(i - 1, position, centerItem - absCurrentScrollPosition + layoutCount - i);
- }
- mLayoutHelper.setLayoutOrder(layoutCount - 1, centerItem, centerItem - absCurrentScrollPosition);
-
- } else {
- final int firstVisible = Math.max(centerItem - mLayoutHelper.mMaxVisibleItems, 0);
- final int lastVisible = Math.min(centerItem + mLayoutHelper.mMaxVisibleItems, mItemsCount - 1);
- final int layoutCount = lastVisible - firstVisible + 1;
-
- mLayoutHelper.initLayoutOrder(layoutCount);
-
- for (int i = firstVisible; i <= lastVisible; ++i) {
- if (i == centerItem) {
- mLayoutHelper.setLayoutOrder(layoutCount - 1, i, i - absCurrentScrollPosition);
- } else if (i < centerItem) {
- mLayoutHelper.setLayoutOrder(i - firstVisible, i, i - absCurrentScrollPosition);
- } else {
- mLayoutHelper.setLayoutOrder(layoutCount - (i - centerItem) - 1, i, i - absCurrentScrollPosition);
- }
- }
- }
- }
-
- public int getWidthNoPadding() {
- return getWidth() - getPaddingStart() - getPaddingEnd();
- }
-
- public int getHeightNoPadding() {
- return getHeight() - getPaddingEnd() - getPaddingStart();
- }
-
- private View bindChild(final int position, @NonNull final RecyclerView.Recycler recycler) {
- final View view = recycler.getViewForPosition(position);
-
- addView(view);
- measureChildWithMargins(view, 0, 0);
-
- return view;
- }
-
- private void recyclerOldViews(final RecyclerView.Recycler recycler) {
- for (RecyclerView.ViewHolder viewHolder : new ArrayList<>(recycler.getScrapList())) {
- int adapterPosition = viewHolder.getAdapterPosition();
- boolean found = false;
- for (LayoutOrder layoutOrder : mLayoutHelper.mLayoutOrder) {
- if (layoutOrder.mItemAdapterPosition == adapterPosition) {
- found = true;
- break;
- }
- }
- if (!found) {
- recycler.recycleView(viewHolder.itemView);
- }
- }
- }
-
- /**
- * Called during {@link #fillData(RecyclerView.Recycler, RecyclerView.State)} to calculate item offset from layout center line.
- *
- * Returns {@link #convertItemPositionDiffToSmoothPositionDiff(float)} * (size off area above center item when it is on the center).
- * Sign is: plus if this item is bellow center line, minus if not
- *
- * ----- - area above it
- * ||||| - center item
- * ----- - area bellow it (it has the same size as are above center item)
- *
- * @param itemPositionDiff current item difference with layout center line. if this is 0, then this item center is in layout center line.
- * if this is 1 then this item is bellow the layout center line in the full item size distance.
- * @return offset in scroll px coordinates.
- */
- protected int getCardOffsetByPositionDiff(final float itemPositionDiff) {
- final double smoothPosition = convertItemPositionDiffToSmoothPositionDiff(itemPositionDiff);
-
- final int dimenDiff;
- if (VERTICAL == mOrientation) {
- dimenDiff = (getHeightNoPadding() - mDecoratedChildHeight) / 2;
- } else {
- dimenDiff = (getWidthNoPadding() - mDecoratedChildWidth) / 2;
- }
- //noinspection NumericCastThatLosesPrecision
- return (int) Math.round(Math.signum(itemPositionDiff) * dimenDiff * smoothPosition);
- }
-
- /**
- * Called during {@link #getCardOffsetByPositionDiff(float)} for better item movement.
- * Current implementation speed up items that are far from layout center line and slow down items that are close to this line.
- * This code is full of maths. If you want to make items move in a different way, probably you should override this method.
- * Please see code comments for better explanations.
- *
- * @param itemPositionDiff current item difference with layout center line. if this is 0, then this item center is in layout center line.
- * if this is 1 then this item is bellow the layout center line in the full item size distance.
- * @return smooth position offset. needed for scroll calculation and better user experience.
- * @see #getCardOffsetByPositionDiff(float)
- */
- @SuppressWarnings({"MagicNumber", "InstanceMethodNamingConvention"})
- protected double convertItemPositionDiffToSmoothPositionDiff(final float itemPositionDiff) {
- // generally item moves the same way above center and bellow it. So we don't care about diff sign.
- final float absIemPositionDiff = Math.abs(itemPositionDiff);
-
- // we detect if this item is close for center or not. We use (1 / maxVisibleItem) ^ (1/3) as close definer.
- if (absIemPositionDiff > StrictMath.pow(1.0f / mLayoutHelper.mMaxVisibleItems, 1.0f / 3)) {
- // this item is far from center line, so we should make it move like square root function
- return StrictMath.pow(absIemPositionDiff / mLayoutHelper.mMaxVisibleItems, 1 / 2.0f);
- } else {
- // this item is close from center line. we should slow it down and don't make it speed up very quick.
- // so square function in range of [0, (1/maxVisible)^(1/3)] is quite good in it;
- return StrictMath.pow(absIemPositionDiff, 2.0f);
- }
- }
-
- /**
- * @return full item size
- */
- protected int getScrollItemSize() {
- if (VERTICAL == mOrientation) {
- return mDecoratedChildHeight;
- } else {
- return mDecoratedChildWidth;
- }
- }
-
- @Override
- public Parcelable onSaveInstanceState() {
- if (null != mPendingCarouselSavedState) {
- return new CarouselSavedState(mPendingCarouselSavedState);
- }
- final CarouselSavedState savedState = new CarouselSavedState(super.onSaveInstanceState());
- savedState.mCenterItemPosition = mCenterItemPosition;
- return savedState;
- }
-
- @Override
- public void onRestoreInstanceState(final Parcelable state) {
- if (state instanceof CarouselSavedState) {
- mPendingCarouselSavedState = (CarouselSavedState) state;
-
- super.onRestoreInstanceState(mPendingCarouselSavedState.mSuperState);
- } else {
- super.onRestoreInstanceState(state);
- }
- }
-
- /**
- * @return 从中心到最近项目的滚动偏移量
- */
- protected int getOffsetCenterView() {
- return Math.round(getCurrentScrollPosition()) * getScrollItemSize() - mLayoutHelper.mScrollOffset;
- }
-
- protected int getOffsetForCurrentView(@NonNull final View view) {
- final int targetPosition = getPosition(view);
- final float directionDistance = getScrollDirection(targetPosition);
-
- return Math.round(directionDistance * getScrollItemSize());
- }
-
- /**
- * 使滚动范围在[0,count]内的Helper方法。通常,只有循环布局才需要此方法。
- *
- * @param currentScrollPosition 滚动位置范围 个位数 view的index 小数滚动的范围
- * @param count adapter 中的数量
- * @return 在[0,总数]范围内滚动位置良好
- */
- private static float makeScrollPositionInRange0ToCount(final float currentScrollPosition, final int count) {
- float absCurrentScrollPosition = currentScrollPosition;
- while (0 > absCurrentScrollPosition) {
- absCurrentScrollPosition += count;
- }
- while (Math.round(absCurrentScrollPosition) >= count) {
- absCurrentScrollPosition -= count;
- }
- return absCurrentScrollPosition;
- }
-
- /**
- * This interface methods will be called for each visible view item after general LayoutManager layout finishes.
- *
- * Generally this method should be used for scaling and translating view item for better (different) view presentation of layouting.
- */
- @SuppressWarnings("InterfaceNeverImplemented")
- public abstract static class PostLayoutListener {
-
- /**
- * 子布局完成后调用。通常,您可以在这里进行任何平移和缩放工作。
- *
- * @param child view that was layout
- * @param itemPositionToCenterDiff view center line difference to layout center. if > 0 then this item is bellow layout center line, else if not
- * @param orientation layoutManager orientation {@link #getLayoutDirection()}
- * @param itemPositionInAdapter item position inside adapter for this layout pass
- */
- public ItemTransformation transformChild(
- @NonNull final View child,
- final float itemPositionToCenterDiff,
- final int orientation,
- final int itemPositionInAdapter
- ) {
- return transformChild(child, itemPositionToCenterDiff, orientation);
- }
-
- /**
- * Called after child layout finished. Generally you can do any translation and scaling work here.
- *
- * @param child view that was layout
- * @param itemPositionToCenterDiff view center line difference to layout center. if > 0 then this item is bellow layout center line, else if not
- * @param orientation layoutManager orientation {@link #getLayoutDirection()}
- */
- public ItemTransformation transformChild(
- @NonNull final View child,
- final float itemPositionToCenterDiff,
- final int orientation
- ) {
- throw new IllegalStateException("at least one transformChild should be implemented");
- }
- }
-
- public interface OnCenterItemSelectionListener {
-
- /**
- * Listener that will be called on every change of center item.
- * This listener will be triggered on every layout operation if item was changed.
- * Do not do any expensive operations in this method since this will effect scroll experience.
- *
- * @param adapterPosition current layout center item
- */
- void onCenterItemChanged(final int adapterPosition);
- }
-
- public interface OnDargAutoDiffListener {
- void onDxChanged(final float adapterPosition,final int currentPosition);
- }
-
- /**
- * Helper class that holds currently visible items.
- * Generally this class fills this list.
- *
- * This class holds all scroll and maxVisible items state.
- *
- * @see #getMaxVisibleItems()
- */
- private static class LayoutHelper {
-
- private int mMaxVisibleItems;
-
- private int mScrollOffset;
-
- private LayoutOrder[] mLayoutOrder;
-
- private final List> mReusedItems = new ArrayList<>();
-
- LayoutHelper(final int maxVisibleItems) {
- mMaxVisibleItems = maxVisibleItems;
- }
-
- /**
- * Called before any fill calls. Needed to recycle old items and init new array list. Generally this list is an array an it is reused.
- *
- * @param layoutCount items count that will be layout
- */
- void initLayoutOrder(final int layoutCount) {
- if (null == mLayoutOrder || mLayoutOrder.length != layoutCount) {
- if (null != mLayoutOrder) {
- recycleItems(mLayoutOrder);
- }
- mLayoutOrder = new LayoutOrder[layoutCount];
- fillLayoutOrder();
- }
- }
-
- /**
- * Called during layout generation process of filling this list. Should be called only after {@link #initLayoutOrder(int)} method call.
- *
- * @param arrayPosition position in layout order
- * @param itemAdapterPosition adapter position of item for future data filling logic
- * @param itemPositionDiff difference of current item scroll position and center item position.
- * if this is a center item and it is in real center of layout, then this will be 0.
- * if current layout is not in the center, then this value will never be int.
- * if this item center is bellow layout center line then this value is greater then 0,
- * else less then 0.
- */
- void setLayoutOrder(final int arrayPosition, final int itemAdapterPosition, final float itemPositionDiff) {
- final LayoutOrder item = mLayoutOrder[arrayPosition];
- item.mItemAdapterPosition = itemAdapterPosition;
- item.mItemPositionDiff = itemPositionDiff;
- }
-
- /**
- * Checks is this screen Layout has this adapterPosition view in layout
- *
- * @param adapterPosition adapter position of item for future data filling logic
- * @return true is adapterItem is in layout
- */
- boolean hasAdapterPosition(final int adapterPosition) {
- if (null != mLayoutOrder) {
- for (final LayoutOrder layoutOrder : mLayoutOrder) {
- if (layoutOrder.mItemAdapterPosition == adapterPosition) {
- return true;
- }
- }
- }
- return false;
- }
-
- @SuppressWarnings("VariableArgumentMethod")
- private void recycleItems(@NonNull final LayoutOrder... layoutOrders) {
- for (final LayoutOrder layoutOrder : layoutOrders) {
- //noinspection ObjectAllocationInLoop
- mReusedItems.add(new WeakReference<>(layoutOrder));
- }
- }
-
- private void fillLayoutOrder() {
- for (int i = 0, length = mLayoutOrder.length; i < length; ++i) {
- if (null == mLayoutOrder[i]) {
- mLayoutOrder[i] = createLayoutOrder();
- }
- }
- }
-
- private LayoutOrder createLayoutOrder() {
- final Iterator> iterator = mReusedItems.iterator();
- while (iterator.hasNext()) {
- final WeakReference layoutOrderWeakReference = iterator.next();
- final LayoutOrder layoutOrder = layoutOrderWeakReference.get();
- iterator.remove();
- if (null != layoutOrder) {
- return layoutOrder;
- }
- }
- return new LayoutOrder();
- }
- }
-
- /**
- * Class that holds item data.
- * This class is filled during {@link #generateLayoutOrder(float, RecyclerView.State)} and used during {@link #fillData(RecyclerView.Recycler, RecyclerView.State)}
- */
- private static class LayoutOrder {
-
- /**
- * Item adapter position
- */
- private int mItemAdapterPosition;
- /**
- * Item center difference to layout center. If center of item is bellow layout center, then this value is greater then 0, else it is less.
- */
- private float mItemPositionDiff;
- }
-
- protected static class CarouselSavedState implements Parcelable {
-
- private final Parcelable mSuperState;
- private int mCenterItemPosition;
-
- protected CarouselSavedState(@Nullable final Parcelable superState) {
- mSuperState = superState;
- }
-
- private CarouselSavedState(@NonNull final Parcel in) {
- mSuperState = in.readParcelable(RecyclerView.LayoutManager.class.getClassLoader());
- mCenterItemPosition = in.readInt();
- }
-
- protected CarouselSavedState(@NonNull final CarouselSavedState other) {
- mSuperState = other.mSuperState;
- mCenterItemPosition = other.mCenterItemPosition;
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(final Parcel parcel, final int i) {
- parcel.writeParcelable(mSuperState, i);
- parcel.writeInt(mCenterItemPosition);
- }
-
- public static final Creator CREATOR
- = new Creator() {
- @Override
- public CarouselSavedState createFromParcel(final Parcel parcel) {
- return new CarouselSavedState(parcel);
- }
-
- @Override
- public CarouselSavedState[] newArray(final int i) {
- return new CarouselSavedState[i];
- }
- };
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java
deleted file mode 100644
index 1cc637c37e..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video.layoutmanage;
-
-import android.view.View;
-
-import androidx.annotation.NonNull;
-
-import com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer;
-
-/**
- * Implementation of {@link CarouselLayoutManager.PostLayoutListener} that makes interesting scaling of items.
- * We are trying to make items scaling quicker for closer items for center and slower for when they are far away.
- * Tis implementation uses atan function for this purpose.
- */
-public class CarouselZoomPostLayoutListener extends CarouselLayoutManager.PostLayoutListener {
-
- private final float mScaleMultiplier;
-
- public CarouselZoomPostLayoutListener() {
- this(0.21f);
- }
-
- public CarouselZoomPostLayoutListener(final float scaleMultiplier) {
- mScaleMultiplier = scaleMultiplier;
- }
-
- @Override
- public ItemTransformation transformChild(@NonNull final View child, final float itemPositionToCenterDiff, final int orientation) {
- float scale = 1.0f - mScaleMultiplier * Math.abs(itemPositionToCenterDiff);
- final float translateY;
- final float translateX;
- if (CarouselLayoutManager.VERTICAL == orientation) {
- final float translateYGeneral = child.getMeasuredHeight() * (1 - scale) / 2f;
- translateY = Math.signum(itemPositionToCenterDiff) * translateYGeneral;
- translateX = 0;
- } else {
- final float translateXGeneral = child.getMeasuredWidth() * (1 - scale)/8;
- translateX = Math.signum(itemPositionToCenterDiff) * translateXGeneral;
- translateY = 0;
- }
- return new ItemTransformation(scale,scale, scale, 0, translateY);
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java
deleted file mode 100644
index 4b04e7b957..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video.layoutmanage;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-/**
- * Class for centering items after scroll event.
- * This class will listen to current scroll state and if item is not centered after scroll it will automatically scroll it to center.
- */
-public class CenterScrollListener extends RecyclerView.OnScrollListener {
-
- private boolean mAutoSet = true;
-
- @Override
- public void onScrollStateChanged(@NonNull final RecyclerView recyclerView, final int newState) {
- super.onScrollStateChanged(recyclerView, newState);
- final RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
- if (!(layoutManager instanceof CarouselLayoutManager)) {
- mAutoSet = true;
- return;
- }
-
- final CarouselLayoutManager lm = (CarouselLayoutManager) layoutManager;
- if (!mAutoSet) {
- if (RecyclerView.SCROLL_STATE_IDLE == newState) {
- final int scrollNeeded = lm.getOffsetCenterView();
- // 滚动到中心位置
- if (CarouselLayoutManager.HORIZONTAL == lm.getOrientation()) {
- recyclerView.smoothScrollBy(scrollNeeded, 0);
- } else {
- recyclerView.smoothScrollBy(0, scrollNeeded);
- }
- pageSelect(recyclerView,newState);
- mAutoSet = true;
- }
- }
- if (RecyclerView.SCROLL_STATE_DRAGGING == newState || RecyclerView.SCROLL_STATE_SETTLING == newState) {
- mAutoSet = false;
- }
- if(RecyclerView.SCROLL_STATE_DRAGGING == newState){
- pageStop();
- }
- }
-
- protected void pageStop() {
-
- }
-
- protected void pageSelect(RecyclerView recyclerView, final int newState) {
-
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java
deleted file mode 100644
index c0851112ab..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.video.layoutmanage;
-
-public class ItemTransformation {
-
- final float mAlpha;
- final float mScaleX;
- final float mScaleY;
- final float mTranslationX;
- final float mTranslationY;
-
- public ItemTransformation(final float alpha,final float scaleX, final float scaleY, final float translationX, final float translationY) {
- mScaleX = scaleX;
- mScaleY = scaleY;
- mTranslationX = translationX;
- mTranslationY = translationY;
- mAlpha = alpha;
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt
deleted file mode 100644
index a32c6d9b76..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.mogo.och.taxi.passenger.utils
-
-import com.mogo.och.common.module.manager.autopilot.autopilot.IOchEventKey
-import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst
-
-/**
- * OCH Taxi埋点工具
- *
- * Created on 2022/3/24
- */
-object TaxiPassengerAnalyticsManager: IOchEventKey {
-
-
- override fun getEventKeyStartService(): String {
- return TaxiPassengerConst.EVENT_KEY_START_SERVICE
- }
-
- override fun getEventKeyRestartService(): String {
- return TaxiPassengerConst.EVENT_KEY_RESTART_AUTOPILOT
- }
-
- override fun getEventKeyApUnableStartReason(): String {
- return TaxiPassengerConst.EVENT_KEY_AP_UNABLE_START_REASON
- }
-
- override fun getEventKeyClickStartAutopilot(): String {
- return "event_key_unmanned_taxi_passenger_click_start_autopilot"
- }
-
-
-
-
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/ZoomDrawable.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/ZoomDrawable.kt
deleted file mode 100644
index 12776a6d7f..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/ZoomDrawable.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mogo.och.taxi.passenger.utils
-
-import android.content.Context
-import android.graphics.*
-import android.graphics.drawable.BitmapDrawable
-import android.graphics.drawable.Drawable
-import androidx.annotation.DrawableRes
-
-object ZoomDrawable {
- fun zoomDrawableImage(context: Context,@DrawableRes id:Int,scaleX:Float,scaleY:Float):Drawable{
-
- val bitmap: Bitmap = BitmapFactory.decodeResource(context.resources, id)
- val bitmapWidth = bitmap.width
- val bitmapHeight = bitmap.height
- val matrix = Matrix()
- matrix.postScale(scaleX, scaleY)
- // 产生缩放后的Bitmap对象
- val resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmapWidth, bitmapHeight, matrix, true)
- return BitmapDrawable(context.resources,resizeBitmap)
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt
deleted file mode 100644
index 3e153f0a43..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt
+++ /dev/null
@@ -1,542 +0,0 @@
-package com.mogo.och.taxi.passenger.widget
-
-import android.app.Activity
-import android.content.Context
-import android.graphics.Color
-import android.graphics.drawable.GradientDrawable
-import android.os.Build
-import android.util.AttributeSet
-import android.util.TypedValue
-import android.view.Gravity
-import android.view.Surface
-import android.view.View
-import android.view.ViewGroup
-import android.widget.FrameLayout
-import android.widget.ImageView
-import android.widget.TextView
-import androidx.appcompat.widget.AppCompatImageView
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.app.ActivityCompat
-import com.mogo.eagle.core.utilcode.util.TimeTransformUtils
-import com.mogo.eagle.core.utilcode.util.ToastUtils
-import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
-import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager
-import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
-import com.mogo.och.taxi.passenger.ui.video.FullVideoUtils
-import com.mogo.och.taxi.passenger.utils.ZoomDrawable
-import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack
-import com.shuyu.gsyvideoplayer.utils.GSYVideoType
-import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
-import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer
-import com.shuyu.gsyvideoplayer.video.base.GSYVideoPlayer
-import com.shuyu.gsyvideoplayer.video.base.GSYVideoView
-import me.jessyan.autosize.utils.AutoSizeUtils
-import java.lang.reflect.Constructor
-
-/**
- * @author lixiaopeng
- * @since 2021/11/3
- *
- * 视频播放器,ui定制
- */
-class ConsultVideoPlayer : StandardGSYVideoPlayer {
-
- private lateinit var start: ImageView
- lateinit var coverImage: ImageView
- private lateinit var currentTimeTextView: TextView
- private lateinit var totalTimeTextView: TextView
- private lateinit var aivStartPlay: AppCompatImageView
- private lateinit var layoutBottom: ConstraintLayout
- private lateinit var vPpenLeft: View
-
- private var fullVideoPlayer:ConsultVideoPlayer?=null
- var smalllPlayer:ConsultVideoPlayer?=null
- private var statusBarView: StatusBarView? = null
-
- private var currentTime = 0
-
- constructor(context: Context?) : super(context)
- constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
- constructor(context: Context?, fullFlag: Boolean?) : super(context, fullFlag)
-
- override fun init(context: Context) {
- mEnlargeImageRes = R.drawable.taxi_p_change_full
- super.init(context)
- start = findViewById(R.id.start)
- coverImage = findViewById(R.id.thumbImage)
- currentTimeTextView = findViewById(R.id.current)
- totalTimeTextView = findViewById(R.id.total)
- aivStartPlay = findViewById(R.id.aiv_start_play)
- layoutBottom = findViewById(R.id.layout_bottom)
- vPpenLeft = findViewById(R.id.v_open_left)
- fullscreenButton.setOnClickListener(this)
- aivStartPlay.setOnClickListener(this)
- if (mThumbImageViewLayout != null
- && (mCurrentState == -1 || mCurrentState == CURRENT_STATE_NORMAL || mCurrentState == CURRENT_STATE_ERROR)
- ) {
- mThumbImageViewLayout.visibility = View.VISIBLE
- }
- GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_FULL)
- aivStartPlay.scaleX = 0.8f
- aivStartPlay.scaleY = 0.8f
-
- mProgressBar.thumb = ZoomDrawable.zoomDrawableImage(context,R.drawable.taxi_p_video_index,0.66f,0.66f)
- }
-
- private fun addDrageAnchor(){
- vPpenLeft.visibility = VISIBLE
- layoutBottom.post {
- val layoutParams = layoutBottom.layoutParams as ConstraintLayout.LayoutParams
- layoutParams.setMargins(333,0,333,90)
- layoutParams.height = 148
- layoutBottom.layoutParams = layoutParams
- }
-
- mTopContainer.post {
- val layoutParams = mTopContainer.layoutParams as ConstraintLayout.LayoutParams
- layoutParams.height = 320
- mTopContainer.layoutParams = layoutParams
- val background = layoutBottom.background as GradientDrawable
- val x = floatArrayOf(12f, 12f,12f, 12f,12f, 12f,12f, 12f)
- background.cornerRadii = x
-
- layoutBottom.background = background
-
- titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, 50f)
- val layoutParams1 = titleTextView.layoutParams as ConstraintLayout.LayoutParams
- layoutParams1.marginStart = 80
- titleTextView.layoutParams = layoutParams1
- aivStartPlay.scaleX = 1f
- aivStartPlay.scaleY = 1f
- val drawable = ActivityCompat.getDrawable(context, R.drawable.taxi_p_video_index)
- mProgressBar.thumb = drawable
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- mProgressBar.maxHeight = 6
- mProgressBar.minHeight = 6
- }
-
- val layoutParams2 = fullscreenButton.layoutParams as ConstraintLayout.LayoutParams
- layoutParams2.topMargin = AutoSizeUtils.dp2px(context,119f)
- layoutParams2.rightMargin = AutoSizeUtils.dp2px(context,70f)
- layoutParams2.height = AutoSizeUtils.dp2px(context,108f)
- layoutParams2.width = AutoSizeUtils.dp2px(context,108f)
- fullscreenButton.layoutParams = layoutParams2
- fullscreenButton.visibility = View.VISIBLE
- }
-
- }
-
- override fun getLayoutId(): Int {
- return R.layout.taxi_p_video_show
- }
-
- override fun updateStartImage() {
- when (mCurrentState) {
- GSYVideoView.CURRENT_STATE_PLAYING ->{
- start.setImageResource(R.drawable.notice_video_pause)
- aivStartPlay.visibility = View.GONE
- AudioFocusManager.setVideoFocusChange(true)
- }
- else -> {
- start.setImageResource(R.drawable.notice_video_after_pause)
- aivStartPlay.visibility = View.VISIBLE
- AudioFocusManager.setVideoFocusChange(false)
- }
- }
- }
-
- override fun setStateAndUi(state: Int) {
- super.setStateAndUi(state)
- if(state==CURRENT_STATE_PLAYING_BUFFERING_START){
- ToastUtils.showShort("加载中请稍等")
- }
- }
-
- override fun onWindowFocusChanged(hasWindowFocus: Boolean) {
- super.onWindowFocusChanged(hasWindowFocus)
- if(isIfCurrentIsFullscreen&&smalllPlayer!=null){
- if(hasWindowFocus){//获取焦点
- if (isInPlayingState && smalllPlayer!!.mCurrentState != CURRENT_STATE_PAUSE) {
- onVideoResume()
- }
- }else{
- onVideoPause()
- }
- }
- }
-
- override fun touchDoubleUp() {
-
- }
-
- override fun changeUiToNormal() {
- super.changeUiToNormal()
- //setViewShowState(fullscreenButton, INVISIBLE)
- this.statusBarView?.visibility = View.VISIBLE
- }
-
- override fun changeUiToPreparingShow() {
- super.changeUiToPreparingShow()
- this.statusBarView?.visibility = View.VISIBLE
- }
-
- override fun changeUiToPlayingShow() {
- super.changeUiToPlayingShow()
- setViewShowState(fullscreenButton, VISIBLE)
- this.statusBarView?.visibility = View.VISIBLE
- }
-
- override fun changeUiToPlayingClear() {
- super.changeUiToPlayingClear()
- this.statusBarView?.visibility = View.GONE
- }
-
- override fun changeUiToPauseShow() {
- super.changeUiToPauseShow()
- this.statusBarView?.visibility = View.VISIBLE
- }
-
- override fun changeUiToPlayingBufferingShow() {
- super.changeUiToPlayingBufferingShow()
- this.statusBarView?.visibility = View.VISIBLE
- }
-
- override fun changeUiToCompleteShow() {
- super.changeUiToCompleteShow()
- this.statusBarView?.visibility = View.VISIBLE
- }
-
- public override fun hideAllWidget() {
- super.hideAllWidget()
- this.statusBarView?.visibility = View.GONE
- }
-
- override fun setProgressAndTime(
- progress: Int,
- secProgress: Int,
- currentTime: Int,
- totalTime: Int,
- forceChange: Boolean
- ) {
- super.setProgressAndTime(progress, secProgress, currentTime, totalTime, forceChange)
- //时间显示
- currentTimeTextView.text = TimeTransformUtils.stringForTime(currentTime)
- totalTimeTextView.text = TimeTransformUtils.stringForTime(totalTime)
- if(currentTime>=totalTime-3000){//
- this.currentTime = -1
- }else{
- this.currentTime = currentTime
- }
- if (progress != 0) {
- mProgressBar?.progress = progress
- }
- }
-
- override fun showWifiDialog() {
- //直接播放,不显示WIFI对话框
- startPlayLogic()
- }
-
- override fun onDetachedFromWindow() {
- mProgressBar?.progress = 0
- fullVideoPlayer?.let {
- clearFullscreenLayout(it)
- }
- fullVideoPlayer = null
- if(!isIfCurrentIsFullscreen) {
- onVideoReset()
- setVideoAllCallBack(null)
- }
- dismissProgressDialog()
- super.onDetachedFromWindow()
- }
-
- override fun onClick(v: View?) {
- super.onClick(v)
- when (v?.id) {
- R.id.fullscreen -> {
- startWindowFullscreenOwn(context)
-// startWindowFullscreen(context)
- }
- R.id.aiv_start_play -> {
- if(currentState==GSYVideoView.CURRENT_STATE_PAUSE){
- onVideoResume(false)
- }else{
- if (mProgressBar==null) {
- startPlayLogic()
- }else {
- mProgressBar?.let {
- if(currentTime>0) {
- seekOnStart = currentTime.toLong()
- }
- startPlayLogic()
- }
- }
-
- }
- }
- else -> {}
- }
- }
-
- override fun onCompletion() {
- start.setImageResource(R.drawable.notice_video_after_pause)
- AudioFocusManager.setVideoFocusChange(false)
- }
-
- override fun onSurfaceUpdated(surface: Surface) {
- super.onSurfaceUpdated(surface)
- if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) {
- mThumbImageViewLayout.visibility = View.INVISIBLE
- }
- }
-
- override fun onPrepared() {
- super.onPrepared()
- }
-
- override fun onBufferingUpdate(percent: Int) {
- super.onBufferingUpdate(percent)
-
- }
-
- override fun onError(what: Int, extra: Int) {
- super.onError(what, extra)
- AudioFocusManager.setVideoFocusChange(false)
- mThumbImageViewLayout?.visibility = View.VISIBLE
- ToastUtils.showLong("哎呀,出错了,看看其他视频吧")
- currentTime = -1
- if(isIfCurrentIsFullscreen){
- smalllPlayer?.clearFullscreenLayout(this)
- smalllPlayer?.currentTime = -1
- FullVideoUtils.dismissOverlayView(false)
- }
- }
-
- override fun setViewShowState(view: View?, visibility: Int) {
- if (view === mThumbImageViewLayout && visibility != View.VISIBLE) {
- return
- }
- super.setViewShowState(view, visibility)
- }
-
- override fun onSurfaceAvailable(surface: Surface) {
- super.onSurfaceAvailable(surface)
- if (GSYVideoType.getRenderType() != GSYVideoType.TEXTURE) {
- if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) {
- mThumbImageViewLayout.visibility = View.INVISIBLE
- }
- }
- }
-
- override fun onAutoCompletion() {
- super.onAutoCompletion()
- if(mIfCurrentIsFullscreen){
- if(smalllPlayer!=null){
- smalllPlayer?.clearFullscreenLayout(this)
- }
- FullVideoUtils.dismissOverlayView(false)
- }
- }
-
- override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
- super.onSizeChanged(w, h, oldw, oldh)
- if (!mIfCurrentIsFullscreen) {
- this.outlineProvider = TextureVideoViewOutlineProvider(12F)
- this.clipToOutline = true
- }
- }
-
- fun exitFullScreenMode() {
- fullVideoPlayer?.let {
- clearFullscreenLayout(it)
- FullVideoUtils.dismissOverlayView(false)
- }
- }
-
- private fun startWindowFullscreenOwn(context:Context){
- val gsyBaseVideoPlayer = startWindowFullscreen(context)
- gsyBaseVideoPlayer?.let {
- val gsyVideoPlayer = it as StandardGSYVideoPlayer
- gsyVideoPlayer.setLockClickListener(mLockClickListener)
- gsyVideoPlayer.isNeedLockFull = isNeedLockFull
- initFullUI(gsyVideoPlayer)
- }
- }
-
- private fun initFullUI(standardGSYVideoPlayer: StandardGSYVideoPlayer) {
- if (mBottomProgressDrawable != null) {
- standardGSYVideoPlayer.setBottomProgressBarDrawable(mBottomProgressDrawable)
- }
- if (mBottomShowProgressDrawable != null && mBottomShowProgressThumbDrawable != null) {
- standardGSYVideoPlayer.setBottomShowProgressBarDrawable(
- mBottomShowProgressDrawable,
- mBottomShowProgressThumbDrawable
- )
- }
- if (mVolumeProgressDrawable != null) {
- standardGSYVideoPlayer.setDialogVolumeProgressBar(mVolumeProgressDrawable)
- }
- if (mDialogProgressBarDrawable != null) {
- standardGSYVideoPlayer.setDialogProgressBar(mDialogProgressBarDrawable)
- }
- if (mDialogProgressHighLightColor >= 0 && mDialogProgressNormalColor >= 0) {
- standardGSYVideoPlayer.setDialogProgressColor(
- mDialogProgressHighLightColor,
- mDialogProgressNormalColor
- )
- }
- standardGSYVideoPlayer.titleTextView?.text = titleTextView.text
- }
-
- private fun startWindowFullscreen(context:Context):GSYBaseVideoPlayer?{
- if (mTextureViewContainer.childCount > 0) {
- mTextureViewContainer.removeAllViews()
- }
- var hadNewConstructor = true
-
- //切换时关闭非全屏定时器
- cancelProgressTimer()
- try {
- this@ConsultVideoPlayer.javaClass.getConstructor(
- Context::class.java,
- Boolean::class.java
- )
- } catch (e: java.lang.Exception) {
- hadNewConstructor = false
- }
- try {
- //通过被重载的不同构造器来选择
- val constructor: Constructor
- val gsyVideoPlayer: ConsultVideoPlayer
- if (!hadNewConstructor) {
- constructor = this@ConsultVideoPlayer.javaClass.getConstructor(Context::class.java)
- gsyVideoPlayer = constructor.newInstance(mContext)
- } else {
- constructor = this@ConsultVideoPlayer.javaClass.getConstructor(
- Context::class.java,
- Boolean::class.java
- )
- gsyVideoPlayer = constructor.newInstance(mContext, true)
- }
- this.fullVideoPlayer = gsyVideoPlayer
- gsyVideoPlayer.id = fullId
- gsyVideoPlayer.isIfCurrentIsFullscreen = true
- gsyVideoPlayer.setVideoAllCallBack(mVideoAllCallBack)
- gsyVideoPlayer.addDrageAnchor()
- cloneParams(this, gsyVideoPlayer)
- val frameLayout = FrameLayout(context)
- if (gsyVideoPlayer.fullscreenButton != null) {
- gsyVideoPlayer.fullscreenButton.setImageResource(R.drawable.taxi_p_change_normal)
- gsyVideoPlayer.fullscreenButton.setOnClickListener { v ->
- if (mBackFromFullScreenListener == null) {
- clearFullscreenLayout(gsyVideoPlayer)
- FullVideoUtils.dismissOverlayView(false)
- } else {
- mBackFromFullScreenListener.onClick(v)
- }
- }
- }
- // 点击视频不展示状态栏
- gsyVideoPlayer.isHideKey = false
- gsyVideoPlayer.smalllPlayer = this
- frameLayout.setBackgroundColor(Color.BLACK)
- val lp = LayoutParams(width, height)
- frameLayout.addView(gsyVideoPlayer, lp)
- gsyVideoPlayer.statusBarView = StatusBarView(context)
- frameLayout.addView(gsyVideoPlayer.statusBarView)
- FullVideoUtils.showOverlayView(context as Activity,frameLayout,R.style.och_window_anim_alpha)
- gsyVideoPlayer.visibility = INVISIBLE
- frameLayout.visibility = INVISIBLE
- resolveFullVideoShow(context, gsyVideoPlayer, frameLayout)
- gsyVideoPlayer.addTextureView()
- gsyVideoPlayer.startProgressTimer()
- gsyVideoManager.setLastListener(this)
- gsyVideoManager.setListener(gsyVideoPlayer)
- checkoutState()
- thumbImageViewLayout.visibility = View.VISIBLE
- return gsyVideoPlayer
- } catch (e: java.lang.Exception) {
- e.printStackTrace()
- }
-
- return null
- }
-
- /**
- * 全屏
- */
- override fun resolveFullVideoShow(context: Context?, gsyVideoPlayer: GSYBaseVideoPlayer,
- frameLayout: FrameLayout) {
- val lp = gsyVideoPlayer.layoutParams as LayoutParams
- lp.setMargins(0, 0, 0, 0)
- lp.height = ViewGroup.LayoutParams.WRAP_CONTENT
- lp.width = ViewGroup.LayoutParams.MATCH_PARENT
- lp.gravity = Gravity.BOTTOM
- gsyVideoPlayer.layoutParams = lp
- gsyVideoPlayer.isIfCurrentIsFullscreen = true
- val isVertical = isVerticalFullByVideoSize
- val isLockLand = isLockLandByAutoFullSize
- if (isShowFullAnimation) {
- mInnerHandler.postDelayed({ //autoFull模式下,非横屏视频视频不横屏,并且不自动旋转
- if (!isVertical && isLockLand && mOrientationUtils != null && mOrientationUtils.isLand != 1) {
- mOrientationUtils.resolveByClick()
- }
- gsyVideoPlayer.visibility = VISIBLE
- frameLayout.visibility = VISIBLE
- }, 300)
- } else {
- if (!isVertical && isLockLand && mOrientationUtils != null) {
- mOrientationUtils.resolveByClick()
- }
- gsyVideoPlayer.visibility = VISIBLE
- frameLayout.visibility = VISIBLE
- }
- if (mVideoAllCallBack != null) {
- mVideoAllCallBack.onEnterFullscreen(mOriginUrl, mTitle, gsyVideoPlayer)
- }
- mIfCurrentIsFullscreen = true
- checkoutState()
- checkAutoFullWithSizeAndAdaptation(gsyVideoPlayer)
- }
-
-
-
- fun getStatusBarHeight(): Int{
- return Math.ceil((25 * context.resources.displayMetrics.density).toDouble()).toInt()
- }
-
- fun clearFullscreenLayout(gsyVideoPlayer:ConsultVideoPlayer) {
- if (mIfCurrentIsFullscreen) {
- mIfCurrentIsFullscreen = false
- val delay = 100
- gsyVideoPlayer.smalllPlayer = null
- mInnerHandler.postDelayed({ resolveNormalVideoShow(gsyVideoPlayer) }, delay.toLong())
- }
- }
-
- private fun resolveNormalVideoShow(gsyVideoPlayer: GSYVideoPlayer) {
- mCurrentState = gsyVideoManager.lastState
- cloneParams(gsyVideoPlayer, this)
- gsyVideoManager.setListener(gsyVideoManager.lastListener())
- gsyVideoManager.setLastListener(null)
- gsyVideoPlayer.setVideoAllCallBack(null)
- setStateAndUi(mCurrentState)
- addTextureView()
- mSaveChangeViewTIme = System.currentTimeMillis()
- if (mVideoAllCallBack != null) {
- mVideoAllCallBack.onQuitFullscreen(mOriginUrl, mTitle, this)
- }
- mIfCurrentIsFullscreen = false
- if (fullscreenButton != null) {
- fullscreenButton.setImageResource(enlargeImageRes)
- }
- this.fullVideoPlayer = null
- }
-
- fun getVideoAllCallBack(): VideoAllCallBack? {
- return mVideoAllCallBack
- }
-}
-
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/NumberCheckView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/NumberCheckView.kt
deleted file mode 100644
index 793b8c2b0e..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/NumberCheckView.kt
+++ /dev/null
@@ -1,208 +0,0 @@
-package com.mogo.och.taxi.passenger.widget
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import android.view.View
-import android.widget.FrameLayout
-import android.widget.TextView
-import androidx.core.content.ContextCompat
-import com.mogo.commons.voice.AIAssist
-import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
-import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
-import com.mogo.eagle.core.utilcode.util.ToastUtils
-import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.R
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_back
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_eight
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_first
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_five
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_four
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_fourth
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_nine
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_one
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_second
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_seven
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_six
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_submit
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_third
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_three
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_two
-import kotlinx.android.synthetic.main.taxt_p_check_number.view.tv_taxi_passenger_number_zero
-
-class NumberCheckView @JvmOverloads constructor(
- context: Context,
- attrs: AttributeSet? = null,
- defStyleAttr: Int = 0
-) : FrameLayout(context, attrs, defStyleAttr), View.OnClickListener {
-
- private var index = 0
- private var phone = ""
- private val numSelect = arrayOfNulls(4)
- private val numSelectTextView = arrayOfNulls(4)
-
- var submitListener: SubmitListener? = null
-
- companion object {
- const val TAG = "NumberCheckView"
- }
-
- init {
- try {
- initView(context)
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
-
- fun resetNum(phone:String){
- this.phone = phone
- clearNumber()
- }
-
- private fun initView(context: Context) {
- d(SceneConstant.M_TAXI_P + TAG, "initView")
- LayoutInflater.from(context).inflate(R.layout.taxt_p_check_number, this, true)
- keyBoardLogic()
- numSelectTextView[0] = tv_taxi_passenger_number_first
- numSelectTextView[1] = tv_taxi_passenger_number_second
- numSelectTextView[2] = tv_taxi_passenger_number_third
- numSelectTextView[3] = tv_taxi_passenger_number_fourth
- }
-
- private fun keyBoardLogic() {
- tv_taxi_passenger_number_one.setOnClickListener(this)
- tv_taxi_passenger_number_two.setOnClickListener(this)
- tv_taxi_passenger_number_three.setOnClickListener(this)
- tv_taxi_passenger_number_four.setOnClickListener(this)
- tv_taxi_passenger_number_five.setOnClickListener(this)
- tv_taxi_passenger_number_six.setOnClickListener(this)
- tv_taxi_passenger_number_seven.setOnClickListener(this)
- tv_taxi_passenger_number_eight.setOnClickListener(this)
- tv_taxi_passenger_number_nine.setOnClickListener(this)
- tv_taxi_passenger_number_zero.setOnClickListener(this)
- tv_taxi_passenger_number_back.setOnClickListener(this)
- tv_taxi_passenger_number_submit.setOnClickListener(this)
-
- tv_taxi_passenger_number_first.setOnClickListener(this)
- tv_taxi_passenger_number_second.setOnClickListener(this)
- tv_taxi_passenger_number_third.setOnClickListener(this)
- tv_taxi_passenger_number_fourth.setOnClickListener(this)
-
- }
-
- override fun onClick(v: View?) {
- when (v?.id) {
- R.id.tv_taxi_passenger_number_one -> {showNumver(1)}
- R.id.tv_taxi_passenger_number_two -> {showNumver(2)}
- R.id.tv_taxi_passenger_number_three-> {showNumver(3)}
- R.id.tv_taxi_passenger_number_four-> {showNumver(4)}
- R.id.tv_taxi_passenger_number_five -> {showNumver(5)}
- R.id.tv_taxi_passenger_number_six -> {showNumver(6)}
- R.id.tv_taxi_passenger_number_seven -> {showNumver(7)}
- R.id.tv_taxi_passenger_number_eight -> {showNumver(8)}
- R.id.tv_taxi_passenger_number_nine -> {showNumver(9)}
- R.id.tv_taxi_passenger_number_zero -> {showNumver(0)}
- R.id.tv_taxi_passenger_number_back -> {deleteNumver()}
- R.id.tv_taxi_passenger_number_first -> {selectIndex(0)}
- R.id.tv_taxi_passenger_number_second -> {selectIndex(1)}
- R.id.tv_taxi_passenger_number_third -> {selectIndex(2)}
- R.id.tv_taxi_passenger_number_fourth -> {selectIndex(3)}
- R.id.tv_taxi_passenger_number_submit -> {clearNumber()}
- else -> {}
- }
- }
-
- private fun checkAndCommit() {
- val numberStr = "${numSelect[0]}${numSelect[1]}${numSelect[2]}${numSelect[3]}"
- if(!phone.endsWith(numberStr)){
- ToastUtils.showLong("请输入正确的手机尾号")
- VoiceNotice.showNotice("验证失败!再检查一下吧~", AIAssist.LEVEL2)
- return
- }
- submitListener?.trySubmit(numberStr)
- }
-
- private fun selectIndex(i: Int) {
- index = i
- changeStyle()
- }
-
- private fun showNumver(number: Int) {
- if (index in 0..3) {
- numSelect[index] = number
- numSelectTextView[index]!!.text = number.toString()
- if(index!=3){
- index++
- }
- changeStyle()
- numSelect.forEach {
- if(it==null){
- return
- }
- }
-
- checkAndCommit()
- }
- }
-
- private fun clearNumber(){
- for(i in numSelect.indices){
- numSelect[i] = null
- }
- numSelectTextView.forEach {
- it?.text = ""
- }
- index = 0
- changeStyle()
- }
-
- private fun deleteNumver() {
- if (index in 0..3) {
- if(numSelect[index]==null){
- if(index!=0){
- index--
- }
- changeStyle()
- //return
- }
- numSelect[index] = null
- numSelectTextView[index]!!.text = ""
- }
- }
-
- private fun changeStyle() {
- numSelectTextView.forEachIndexed { indexIn, textView ->
- if(indexIn==index){
- numSelectTextView[index]!!.setBackgroundResource(R.drawable.taxi_p_checked_input_background)
-
- numSelectTextView[index]!!.setTextColor(
- ContextCompat.getColor(
- context,
- android.R.color.white
- )
- )
- numSelectTextView[index]!!.setShadowLayer(
- 0f, 0f, 0f,
- ContextCompat.getColor(
- context,
- android.R.color.white
- )
- )
- }else{
- numSelectTextView[indexIn]!!.setBackgroundResource(R.drawable.taxi_p_check_input_background)
- numSelectTextView[indexIn]!!.setTextColor(ContextCompat.getColor(context, R.color.taxi_p_FF282F62))
- numSelectTextView[indexIn]!!.setShadowLayer(
- 20f,
- 0f,
- 2f,
- ContextCompat.getColor(context, android.R.color.white)
- )
- }
- }
- }
-
- interface SubmitListener {
- fun trySubmit(number: String)
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/WindowRelativeLayout.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/WindowRelativeLayout.kt
deleted file mode 100644
index 31313e52f7..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/WindowRelativeLayout.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mogo.och.taxi.passenger.widget
-
-import android.content.Context
-import android.util.AttributeSet
-import android.widget.RelativeLayout
-import androidx.lifecycle.ViewModelStore
-import androidx.lifecycle.ViewModelStoreOwner
-
-open class WindowRelativeLayout: RelativeLayout, ViewModelStoreOwner {
-
- constructor(context: Context?) : super(context)
-
- constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet)
-
- constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)
-
- constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes)
-
- //定义ViewModelStore变量
- private var mViewModelStore: ViewModelStore = ViewModelStore()
-
- override fun getViewModelStore(): ViewModelStore {
- return mViewModelStore
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
- mViewModelStore.clear()
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/IndicatorView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/IndicatorView.kt
deleted file mode 100644
index b458c4d498..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/IndicatorView.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator
-
-import android.content.Context
-import android.graphics.Canvas
-import android.util.AttributeSet
-import com.mogo.och.taxi.passenger.widget.indicator.annotation.AIndicatorOrientation
-
-import com.zhpan.indicator.base.BaseIndicatorView
-import com.mogo.och.taxi.passenger.widget.indicator.drawer.DrawerProxy
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorOrientation
-import com.mogo.och.taxi.passenger.widget.indicator.option.AttrsController
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-class IndicatorView @JvmOverloads constructor(
- context: Context,
- attrs: AttributeSet? = null,
- defStyleAttr: Int = 0
-) : BaseIndicatorView(context, attrs, defStyleAttr) {
-
- private var mDrawerProxy: DrawerProxy
-
- init {
- AttrsController.initAttrs(context, attrs, mIndicatorOptions)
- mDrawerProxy = DrawerProxy(mIndicatorOptions)
- }
-
- override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
- super.onLayout(changed, left, top, right, bottom)
- mDrawerProxy.onLayout(changed, left, top, right, bottom)
- }
-
- override fun onMeasure(
- widthMeasureSpec: Int,
- heightMeasureSpec: Int
- ) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec)
- val measureResult = mDrawerProxy.onMeasure(widthMeasureSpec, heightMeasureSpec)
- setMeasuredDimension(measureResult.measureWidth, measureResult.measureHeight)
- }
-
- override fun onDraw(canvas: Canvas) {
- super.onDraw(canvas)
- rotateCanvas(canvas)
- mDrawerProxy.onDraw(canvas)
- }
-
- override fun setIndicatorOptions(options: IndicatorOptions) {
- super.setIndicatorOptions(options)
- mDrawerProxy.setIndicatorOptions(options)
- }
-
- override fun notifyDataChanged(itemCount:Int) {
- mDrawerProxy = DrawerProxy(mIndicatorOptions)
- super.notifyDataChanged(itemCount)
- }
-
- private fun rotateCanvas(canvas: Canvas) {
- if (mIndicatorOptions.orientation == IndicatorOrientation.INDICATOR_VERTICAL) {
- canvas.rotate(90f, width / 2f, width / 2f)
- } else if (mIndicatorOptions.orientation == IndicatorOrientation.INDICATOR_RTL) {
- canvas.rotate(180f, width / 2f, height / 2f)
- }
- }
-
- fun setOrientation(@AIndicatorOrientation orientation: Int) {
- mIndicatorOptions.orientation = orientation;
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorOrientation.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorOrientation.kt
deleted file mode 100644
index 4e3ff14f56..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorOrientation.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.annotation
-
-import androidx.annotation.IntDef
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorOrientation
-
-/**
- *
- * @author zhangpan
- * @date 2021/1/21
- */
-@IntDef(
- IndicatorOrientation.INDICATOR_HORIZONTAL, IndicatorOrientation.INDICATOR_VERTICAL,
- IndicatorOrientation.INDICATOR_RTL
-)
-@kotlin.annotation.Retention(AnnotationRetention.SOURCE)
-@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FIELD)
-annotation class AIndicatorOrientation()
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorSlideMode.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorSlideMode.kt
deleted file mode 100644
index 2497e29f01..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorSlideMode.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.annotation
-
-import androidx.annotation.IntDef
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode.Companion.COLOR
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode.Companion.NORMAL
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode.Companion.SCALE
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode.Companion.SMOOTH
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode.Companion.WORM
-
-/**
- *
- * Created by zhangpan on 2019-10-18.
- * Description:
-
*
- */
-@IntDef(NORMAL, SMOOTH, WORM, COLOR, SCALE)
-@kotlin.annotation.Retention(AnnotationRetention.SOURCE)
-@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FIELD)
-annotation class AIndicatorSlideMode
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorStyle.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorStyle.kt
deleted file mode 100644
index 783524aa97..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/annotation/AIndicatorStyle.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.annotation
-
-import androidx.annotation.IntDef
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorStyle
-
-/**
- *
- * Created by zhangpan on 2019-10-18.
- * Description:
-
*
- */
-@IntDef(IndicatorStyle.CIRCLE, IndicatorStyle.DASH, IndicatorStyle.ROUND_RECT)
-@kotlin.annotation.Retention(AnnotationRetention.SOURCE)
-@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FIELD)
-annotation class AIndicatorStyle
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/base/BaseIndicatorView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/base/BaseIndicatorView.kt
deleted file mode 100644
index 4cfeac55eb..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/base/BaseIndicatorView.kt
+++ /dev/null
@@ -1,207 +0,0 @@
-package com.zhpan.indicator.base
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.View
-
-import androidx.annotation.ColorInt
-import androidx.recyclerview.widget.RecyclerView
-import androidx.viewpager.widget.ViewPager
-import androidx.viewpager2.widget.ViewPager2
-
-import com.mogo.och.taxi.passenger.widget.indicator.annotation.AIndicatorSlideMode
-import com.mogo.och.taxi.passenger.widget.indicator.annotation.AIndicatorStyle
-import com.mogo.och.taxi.passenger.widget.indicator.base.IIndicator
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhangpan on 2019-09-04.
- * Description:IndicatorView基类,处理了页面滑动。
- *
- */
-@Suppress("UNUSED")
-open class BaseIndicatorView constructor(
- context: Context,
- attrs: AttributeSet?,
- defStyleAttr: Int
-) : View(context, attrs, defStyleAttr), IIndicator {
-
- var mIndicatorOptions: IndicatorOptions
-
- private var recyclerView: RecyclerView? = null
-
- init {
- mIndicatorOptions = IndicatorOptions()
- }
-
- fun setPageSize(pageSize: Int): BaseIndicatorView {
- mIndicatorOptions.pageSize = pageSize
- return this
- }
-
- // 页面选定
- fun onPageSelected(position: Int) {
- if (getSlideMode() == IndicatorSlideMode.NORMAL) {
- setCurrentPosition(position)
- setSlideProgress(0f)
- invalidate()
- }
- }
-
- // 滚动距离
- fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
- if (getSlideMode() != IndicatorSlideMode.NORMAL && getPageSize() > 1) {
- scrollSlider(position, positionOffset)
- invalidate()
- }
- }
-
- private fun scrollSlider(position: Int, positionOffset: Float) {
- if (mIndicatorOptions.slideMode == IndicatorSlideMode.SCALE
- || mIndicatorOptions.slideMode == IndicatorSlideMode.COLOR) {
- setCurrentPosition(position)
- setSlideProgress(positionOffset)
- } else {
- if (position % getPageSize() == getPageSize() - 1) { // 最后一个页面与第一个页面
- if (positionOffset < 0.5) {
- setCurrentPosition(position)
- setSlideProgress(0f)
- } else {
- setCurrentPosition(0)
- setSlideProgress(0f)
- }
- } else { // 中间页面
- setCurrentPosition(position)
- setSlideProgress(positionOffset)
- }
- }
- }
-
- override fun notifyDataChanged(itemCount: Int) {
- setPageSize(itemCount)
- requestLayout()
- invalidate()
- }
-
- private fun setupViewPager() {
-
- }
-
- fun getNormalSlideWidth(): Float {
- return mIndicatorOptions.normalSliderWidth
- }
-
- fun setNormalSlideWidth(normalSliderWidth: Float) {
- mIndicatorOptions.normalSliderWidth = normalSliderWidth
- }
-
- fun getCheckedSlideWidth(): Float {
- return mIndicatorOptions.checkedSliderWidth
- }
-
- fun setCheckedSlideWidth(checkedSliderWidth: Float) {
- mIndicatorOptions.checkedSliderWidth = checkedSliderWidth
- }
-
- val checkedSliderWidth: Float
- get() = mIndicatorOptions.checkedSliderWidth
-
- fun setCurrentPosition(currentPosition: Int) {
- mIndicatorOptions.currentPosition = currentPosition
- }
-
- fun getCurrentPosition(): Int {
- return mIndicatorOptions.currentPosition
- }
-
- fun getIndicatorGap(indicatorGap: Float) {
- mIndicatorOptions.sliderGap = indicatorGap
- }
-
- fun setIndicatorGap(indicatorGap: Float) {
- mIndicatorOptions.sliderGap = indicatorGap
- }
-
- fun setCheckedColor(@ColorInt normalColor: Int) {
- mIndicatorOptions.checkedSliderColor = normalColor
- }
-
- fun getCheckedColor(): Int {
- return mIndicatorOptions.checkedSliderColor
- }
-
- fun setNormalColor(@ColorInt normalColor: Int) {
- mIndicatorOptions.normalSliderColor = normalColor
- }
-
- fun getSlideProgress(): Float {
- return mIndicatorOptions.slideProgress
- }
-
- fun setSlideProgress(slideProgress: Float) {
- mIndicatorOptions.slideProgress = slideProgress
- }
-
- fun getPageSize(): Int {
- return mIndicatorOptions.pageSize
- }
-
- fun setSliderColor(
- @ColorInt normalColor: Int,
- @ColorInt selectedColor: Int,
- @ColorInt selectedEndColor: Int
- ): BaseIndicatorView {
- mIndicatorOptions.setSliderColor(normalColor, selectedColor,selectedEndColor)
- return this
- }
-
- fun setSliderWidth(sliderWidth: Float): BaseIndicatorView {
- mIndicatorOptions.setSliderWidth(sliderWidth)
- return this
- }
-
- fun setSliderWidth(
- normalSliderWidth: Float,
- selectedSliderWidth: Float
- ): BaseIndicatorView {
- mIndicatorOptions.setSliderWidth(normalSliderWidth, selectedSliderWidth)
- return this
- }
-
- fun setSliderGap(sliderGap: Float): BaseIndicatorView {
- mIndicatorOptions.sliderGap = sliderGap
- return this
- }
-
- fun getSlideMode(): Int {
- return mIndicatorOptions.slideMode
- }
-
- fun setSlideMode(@AIndicatorSlideMode slideMode: Int): BaseIndicatorView {
- mIndicatorOptions.slideMode = slideMode
- return this
- }
-
- fun setIndicatorStyle(@AIndicatorStyle indicatorStyle: Int): BaseIndicatorView {
- mIndicatorOptions.indicatorStyle = indicatorStyle
- return this
- }
-
- fun setSliderHeight(sliderHeight: Float): BaseIndicatorView {
- mIndicatorOptions.sliderHeight = sliderHeight
- return this
- }
-
- fun showIndicatorWhenOneItem(showIndicatorWhenOneItem: Boolean) {
- mIndicatorOptions.showIndicatorOneItem = showIndicatorWhenOneItem
- }
-
- fun onPageScrollStateChanged(state: Int) {
- }
-
- override fun setIndicatorOptions(options: IndicatorOptions) {
- mIndicatorOptions = options
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/base/IIndicator.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/base/IIndicator.kt
deleted file mode 100644
index 8fbe7dbba1..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/base/IIndicator.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.base
-
-import androidx.viewpager.widget.ViewPager
-
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhangpan on 2019-09-02.
- * Description:
-
*
- */
-interface IIndicator {
-
- fun notifyDataChanged(itemCount:Int)
-
- fun setIndicatorOptions(options: IndicatorOptions)
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/BaseDrawer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/BaseDrawer.kt
deleted file mode 100644
index ae1e7a520b..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/BaseDrawer.kt
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.animation.ArgbEvaluator
-import android.graphics.Paint
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorOrientation
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
-
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhpan on 2019/11/23.
- * Description:
-
*
- */
-abstract class BaseDrawer internal constructor(internal var mIndicatorOptions: IndicatorOptions) :
- IDrawer {
-
- private val mMeasureResult: MeasureResult
- internal var maxWidth: Float = 0.toFloat()
- internal var minWidth: Float = 0.toFloat()
- internal var mPaint: Paint = Paint()
- internal var argbEvaluator: ArgbEvaluator? = null
-
- companion object {
- const val INDICATOR_PADDING_ADDITION = 6
- const val INDICATOR_PADDING = 3
- }
-
- protected val isWidthEquals: Boolean
- get() = mIndicatorOptions.normalSliderWidth == mIndicatorOptions.checkedSliderWidth
-
- init {
- mPaint.isAntiAlias = true
- mMeasureResult = MeasureResult()
- if (mIndicatorOptions.slideMode == IndicatorSlideMode.SCALE
- || mIndicatorOptions.slideMode == IndicatorSlideMode.COLOR
- ) {
- argbEvaluator = ArgbEvaluator()
- }
- }
-
- override fun onMeasure(
- widthMeasureSpec: Int,
- heightMeasureSpec: Int
- ): MeasureResult {
- maxWidth =
- mIndicatorOptions.normalSliderWidth.coerceAtLeast(mIndicatorOptions.checkedSliderWidth)
- minWidth =
- mIndicatorOptions.normalSliderWidth.coerceAtMost(mIndicatorOptions.checkedSliderWidth)
- if (mIndicatorOptions.orientation == IndicatorOrientation.INDICATOR_VERTICAL) {
- mMeasureResult.setMeasureResult(measureHeight(), measureWidth())
- } else {
- mMeasureResult.setMeasureResult(measureWidth(), measureHeight())
- }
- return mMeasureResult
- }
-
- protected open fun measureHeight(): Int {
- return mIndicatorOptions.sliderHeight.toInt() + INDICATOR_PADDING
- }
-
- private fun measureWidth(): Int {
- val pageSize = mIndicatorOptions.pageSize
- val indicatorGap = mIndicatorOptions.sliderGap
- return ((pageSize - 1) * indicatorGap + maxWidth + (pageSize - 1) * minWidth).toInt() + INDICATOR_PADDING_ADDITION
- }
-
- override fun onLayout(
- changed: Boolean,
- left: Int,
- top: Int,
- right: Int,
- bottom: Int
- ) {
- }
-
- inner class MeasureResult {
-
- var measureWidth: Int = 0
- internal set
-
- var measureHeight: Int = 0
- internal set
-
- internal fun setMeasureResult(
- measureWidth: Int,
- measureHeight: Int
- ) {
- this.measureWidth = measureWidth
- this.measureHeight = measureHeight
- }
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/CircleDrawer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/CircleDrawer.kt
deleted file mode 100644
index f7bde7a9ff..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/CircleDrawer.kt
+++ /dev/null
@@ -1,157 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.graphics.Canvas
-import android.graphics.RectF
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
-
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-import com.mogo.och.taxi.passenger.widget.indicator.utils.IndicatorUtils
-
-/**
- *
- * Created by zhpan on 2019/11/23.
- * Description: Circle Indicator drawer.
-
*
- */
-class CircleDrawer internal constructor(indicatorOptions: IndicatorOptions) : BaseDrawer(
- indicatorOptions
-) {
-
- private val rectF = RectF()
-
- override fun measureHeight(): Int {
- return maxWidth.toInt() + INDICATOR_PADDING_ADDITION
- }
-
- override fun onDraw(canvas: Canvas) {
- val pageSize = mIndicatorOptions.pageSize
- if (pageSize > 1 || mIndicatorOptions.showIndicatorOneItem && pageSize == 1) {
- drawNormal(canvas)
- drawSlider(canvas)
- }
- }
-
- private fun drawNormal(canvas: Canvas) {
- val normalIndicatorWidth = mIndicatorOptions.normalSliderWidth
- mPaint.color = mIndicatorOptions.normalSliderColor
- for (i in 0 until mIndicatorOptions.pageSize) {
- val coordinateX = IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, i)
- val coordinateY = IndicatorUtils.getCoordinateY(maxWidth)
- drawCircle(canvas, coordinateX, coordinateY, normalIndicatorWidth / 2)
- }
- }
-
- private fun drawSlider(canvas: Canvas) {
- mPaint.color = mIndicatorOptions.checkedSliderColor
- when (mIndicatorOptions.slideMode) {
- IndicatorSlideMode.NORMAL, IndicatorSlideMode.SMOOTH -> drawCircleSlider(canvas)
- IndicatorSlideMode.WORM -> drawWormSlider(canvas)
- IndicatorSlideMode.SCALE -> drawScaleSlider(canvas)
- IndicatorSlideMode.COLOR -> drawColor(canvas)
- }
- }
-
- private fun drawColor(canvas: Canvas) {
- val currentPosition = mIndicatorOptions.currentPosition
- val slideProgress = mIndicatorOptions.slideProgress
- val coordinateX = IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition)
- val coordinateY = IndicatorUtils.getCoordinateY(maxWidth)
- var evaluate = argbEvaluator?.evaluate(
- slideProgress, mIndicatorOptions.checkedSliderColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = (evaluate as Int)
- drawCircle(canvas, coordinateX, coordinateY, mIndicatorOptions.normalSliderWidth / 2)
-
- // 绘制可循环的ViewPager指示器渐变
- evaluate = argbEvaluator?.evaluate(
- 1 - slideProgress, mIndicatorOptions.checkedSliderColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = evaluate as Int
- val nextCoordinateX = if (currentPosition == mIndicatorOptions.pageSize - 1) {
- IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, 0)
- } else {
- coordinateX + mIndicatorOptions.sliderGap + mIndicatorOptions.normalSliderWidth
- }
- drawCircle(canvas, nextCoordinateX, coordinateY, mIndicatorOptions.checkedSliderWidth / 2)
- }
-
- private fun drawScaleSlider(canvas: Canvas) {
- val currentPosition = mIndicatorOptions.currentPosition
- val slideProgress = mIndicatorOptions.slideProgress
- val coordinateX = IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition)
- val coordinateY = IndicatorUtils.getCoordinateY(maxWidth)
- if (slideProgress < 1) {
- val evaluate = argbEvaluator?.evaluate(
- slideProgress, mIndicatorOptions.checkedSliderColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = (evaluate as Int)
- val radius =
- mIndicatorOptions.checkedSliderWidth / 2 - (mIndicatorOptions.checkedSliderWidth / 2 - mIndicatorOptions.normalSliderWidth / 2) * slideProgress
- drawCircle(canvas, coordinateX, coordinateY, radius)
- }
-
- if (currentPosition == mIndicatorOptions.pageSize - 1) {
- val evaluate = argbEvaluator?.evaluate(
- slideProgress, mIndicatorOptions.normalSliderColor, mIndicatorOptions.checkedSliderColor
- )
- mPaint.color = evaluate as Int
- val nextCoordinateX = maxWidth / 2
- val nextRadius = minWidth / 2 + (maxWidth / 2 - minWidth / 2) * (slideProgress)
- drawCircle(canvas, nextCoordinateX, coordinateY, nextRadius)
- } else {
- if (slideProgress > 0) {
- val evaluate = argbEvaluator?.evaluate(
- slideProgress, mIndicatorOptions.normalSliderColor, mIndicatorOptions.checkedSliderColor
- )
- mPaint.color = evaluate as Int
- val nextCoordinateX =
- coordinateX + mIndicatorOptions.sliderGap + mIndicatorOptions.normalSliderWidth
- val nextRadius =
- mIndicatorOptions.normalSliderWidth / 2 + (mIndicatorOptions.checkedSliderWidth / 2 - mIndicatorOptions.normalSliderWidth / 2) * slideProgress
- drawCircle(canvas, nextCoordinateX, coordinateY, nextRadius)
- }
- }
- }
-
- private fun drawCircleSlider(canvas: Canvas) {
- val currentPosition = mIndicatorOptions.currentPosition
- val startCoordinateX =
- IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition)
- val endCoordinateX = IndicatorUtils.getCoordinateX(
- mIndicatorOptions, maxWidth, (currentPosition + 1) % mIndicatorOptions.pageSize
- )
- val coordinateX =
- startCoordinateX + (endCoordinateX - startCoordinateX) * mIndicatorOptions.slideProgress
- val coordinateY = IndicatorUtils.getCoordinateY(maxWidth)
- val radius = mIndicatorOptions.checkedSliderWidth / 2
- drawCircle(canvas, coordinateX, coordinateY, radius)
- }
-
- private fun drawWormSlider(canvas: Canvas) {
- val sliderHeight = mIndicatorOptions.normalSliderWidth
- val slideProgress = mIndicatorOptions.slideProgress
- val currentPosition = mIndicatorOptions.currentPosition
- val distance = mIndicatorOptions.sliderGap + mIndicatorOptions.normalSliderWidth
- val startCoordinateX =
- IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition)
- val left = startCoordinateX + (distance * (slideProgress - 0.5f) * 2.0f).coerceAtLeast(
- 0f
- ) - mIndicatorOptions.normalSliderWidth / 2 + INDICATOR_PADDING
- val right = startCoordinateX + (distance * slideProgress * 2f).coerceAtMost(
- distance
- ) + mIndicatorOptions.normalSliderWidth / 2 + INDICATOR_PADDING
- rectF.set(left, INDICATOR_PADDING.toFloat(), right, sliderHeight + INDICATOR_PADDING)
- canvas.drawRoundRect(rectF, sliderHeight, sliderHeight, mPaint)
- }
-
- private fun drawCircle(
- canvas: Canvas,
- coordinateX: Float,
- coordinateY: Float,
- radius: Float
- ) {
- canvas.drawCircle(
- coordinateX + INDICATOR_PADDING, coordinateY + INDICATOR_PADDING, radius, mPaint
- )
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DashDrawer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DashDrawer.kt
deleted file mode 100644
index 6b2b7e12d1..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DashDrawer.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.graphics.Canvas
-
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhpan on 2019/11/23.
- * Description: Dash Indicator Drawer.
-
*
- */
-class DashDrawer internal constructor(indicatorOptions: IndicatorOptions) : RectDrawer(
- indicatorOptions
-) {
-
- override fun drawDash(canvas: Canvas) {
- canvas.drawRect(mRectF, mPaint)
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DrawerFactory.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DrawerFactory.kt
deleted file mode 100644
index 2b5073a6b2..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DrawerFactory.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorStyle
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhpan on 2019/11/24.
- * Description: Indicator Drawer Factory.
-
*
- */
-internal object DrawerFactory {
- fun createDrawer(indicatorOptions: IndicatorOptions): IDrawer {
- return when (indicatorOptions.indicatorStyle) {
- IndicatorStyle.DASH -> DashDrawer(indicatorOptions)
- IndicatorStyle.ROUND_RECT -> RoundRectDrawer(indicatorOptions)
- else -> CircleDrawer(indicatorOptions)
- }
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DrawerProxy.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DrawerProxy.kt
deleted file mode 100644
index 30cb21e2ec..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/DrawerProxy.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.graphics.Canvas
-
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhpan on 2019/11/23.
- * Description: Indicator Drawer Proxy.
-
*
- */
-class DrawerProxy(indicatorOptions: IndicatorOptions) : IDrawer {
-
- private lateinit var mIDrawer: IDrawer
-
- init {
- init(indicatorOptions)
- }
-
- private fun init(indicatorOptions: IndicatorOptions) {
- mIDrawer = DrawerFactory.createDrawer(indicatorOptions)
- }
-
- override fun onLayout(
- changed: Boolean,
- left: Int,
- top: Int,
- right: Int,
- bottom: Int
- ) {
- }
-
- override fun onMeasure(
- widthMeasureSpec: Int,
- heightMeasureSpec: Int
- ): BaseDrawer.MeasureResult {
- return mIDrawer.onMeasure(widthMeasureSpec, heightMeasureSpec)
- }
-
- override fun onDraw(canvas: Canvas) {
- mIDrawer.onDraw(canvas)
- }
-
- fun setIndicatorOptions(indicatorOptions: IndicatorOptions) {
- init(indicatorOptions)
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/IDrawer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/IDrawer.kt
deleted file mode 100644
index 499ba78012..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/IDrawer.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.graphics.Canvas
-import com.mogo.och.taxi.passenger.widget.indicator.drawer.BaseDrawer
-
-/**
- *
- * Created by zhpan on 2019/11/23.
- * Description:
-
*
- */
-interface IDrawer {
-
- fun onLayout(
- changed: Boolean,
- left: Int,
- top: Int,
- right: Int,
- bottom: Int
- )
-
- fun onMeasure(
- widthMeasureSpec: Int,
- heightMeasureSpec: Int
- ): BaseDrawer.MeasureResult
-
- fun onDraw(canvas: Canvas)
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/RectDrawer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/RectDrawer.kt
deleted file mode 100644
index a0d1367e84..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/RectDrawer.kt
+++ /dev/null
@@ -1,220 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.graphics.*
-
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-import com.mogo.och.taxi.passenger.widget.indicator.utils.IndicatorUtils
-
-/**
- *
- * Created by zhpan on 2020/1/17.
- * Description:
-
*
- */
-open class RectDrawer internal constructor(indicatorOptions: IndicatorOptions) : BaseDrawer(
- indicatorOptions
-) {
- internal var mRectF: RectF = RectF()
-
- override fun onDraw(canvas: Canvas) {
- val pageSize = mIndicatorOptions.pageSize
- if (pageSize > 1 || mIndicatorOptions.showIndicatorOneItem && pageSize == 1) {
- if (isWidthEquals && mIndicatorOptions.slideMode != IndicatorSlideMode.NORMAL) {
- drawUncheckedSlider(canvas, pageSize)
- drawCheckedSlider(canvas)
- } else { // 单独处理normalWidth与checkedWidth不一致的情况
- if (mIndicatorOptions.slideMode == IndicatorSlideMode.SCALE) {
- for (i in 0 until pageSize) {
- drawScaleSlider(canvas, i)
- }
- } else {
- drawInequalitySlider(canvas, pageSize)
- }
- }
- }
- }
-
- private fun drawScaleSlider(
- canvas: Canvas,
- i: Int
- ) {
- val checkedColor = mIndicatorOptions.checkedSliderColor
- val indicatorGap = mIndicatorOptions.sliderGap
- val sliderHeight = mIndicatorOptions.sliderHeight
- val currentPosition = mIndicatorOptions.currentPosition
- val normalWidth = mIndicatorOptions.normalSliderWidth
- val checkedWidth = mIndicatorOptions.checkedSliderWidth
- when {
- i < currentPosition -> {
- mPaint.color = mIndicatorOptions.normalSliderColor
- val left: Float = if (currentPosition == mIndicatorOptions.pageSize - 1) {
- (i * normalWidth + i * indicatorGap) + (checkedWidth - normalWidth) * mIndicatorOptions.slideProgress
- } else {
- (i * normalWidth + i * indicatorGap)
- }
- mRectF.set(left, 0f, left + normalWidth, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,mRectF.width()>checkedWidth/2)
- }
- i == currentPosition -> {
- mPaint.color = checkedColor
- val slideProgress = mIndicatorOptions.slideProgress
- if (currentPosition == mIndicatorOptions.pageSize - 1) {
- val evaluate = argbEvaluator?.evaluate(
- slideProgress, checkedColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = (evaluate as Int)
- val right =
- (mIndicatorOptions.pageSize - 1) * (normalWidth + mIndicatorOptions.sliderGap) + checkedWidth
- val left = right - checkedWidth + (checkedWidth - normalWidth) * (slideProgress)
- mRectF.set(left, 0f, right, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,mRectF.width()>checkedWidth/2)
- } else {
- if (slideProgress < 1) {
- val evaluate = argbEvaluator?.evaluate(
- slideProgress, checkedColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = (evaluate as Int)
- val left = i * normalWidth + i * indicatorGap
- val right = left + normalWidth + (checkedWidth - normalWidth) * (1 - slideProgress)
- mRectF.set(left, 0f, right, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,mRectF.width()>checkedWidth/2)
- }
- }
-
- if (currentPosition == mIndicatorOptions.pageSize - 1) {
- if (slideProgress > 0) {
- val evaluate = argbEvaluator?.evaluate(
- 1 - slideProgress, checkedColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = evaluate as Int
- val left = 0f
- val right = left + normalWidth + (checkedWidth - normalWidth) * slideProgress
-
- mRectF.set(left, 0f, right, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,mRectF.width()>checkedWidth/2)
- }
- } else {
- if (slideProgress > 0) {
- val evaluate = argbEvaluator?.evaluate(
- 1 - slideProgress, checkedColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = evaluate as Int
- val right =
- i * normalWidth + i * indicatorGap + normalWidth + (indicatorGap + checkedWidth)
- val left = right - (normalWidth) - (checkedWidth - normalWidth) * (slideProgress)
- mRectF.set(left, 0f, right, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,mRectF.width()>checkedWidth/2)
- }
- }
- }
- else -> {
- if ((currentPosition + 1 != i || mIndicatorOptions.slideProgress == 0f)) { // 避免多余绘制
- mPaint.color = mIndicatorOptions.normalSliderColor
- val left = i * minWidth + i * indicatorGap + (checkedWidth - minWidth)
- mRectF.set(left, 0f, left + minWidth, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,false)
- }
- }
- }
- }
-
- private fun drawUncheckedSlider(
- canvas: Canvas,
- pageSize: Int
- ) {
- for (i in 0 until pageSize) {
- mPaint.color = mIndicatorOptions.normalSliderColor
- val left = i * maxWidth + i * +mIndicatorOptions.sliderGap + (maxWidth - minWidth)
- mRectF.set(left, 0f, left + minWidth, mIndicatorOptions.sliderHeight)
- drawRoundRect(canvas, mIndicatorOptions.sliderHeight, mIndicatorOptions.sliderHeight,false)
- }
- }
-
- private fun drawInequalitySlider(
- canvas: Canvas,
- pageSize: Int
- ) {
- var left = 0f
- for (i in 0 until pageSize) {
- val sliderWidth = (if (i == mIndicatorOptions.currentPosition) maxWidth else minWidth)
- mPaint.color =
- if (i == mIndicatorOptions.currentPosition) mIndicatorOptions.checkedSliderColor else mIndicatorOptions.normalSliderColor
- mRectF.set(left, 0f, left + sliderWidth, mIndicatorOptions.sliderHeight)
- drawRoundRect(canvas, mIndicatorOptions.sliderHeight, mIndicatorOptions.sliderHeight,false)
- left += sliderWidth + mIndicatorOptions.sliderGap
- }
- }
-
- private fun drawCheckedSlider(canvas: Canvas) {
- mPaint.color = mIndicatorOptions.checkedSliderColor
- when (mIndicatorOptions.slideMode) {
- IndicatorSlideMode.SMOOTH -> drawSmoothSlider(canvas)
- IndicatorSlideMode.WORM -> drawWormSlider(canvas)
- IndicatorSlideMode.COLOR -> drawColorSlider(canvas)
- }
- }
-
- private fun drawColorSlider(canvas: Canvas) {
- val currentPosition = mIndicatorOptions.currentPosition
- val slideProgress = mIndicatorOptions.slideProgress
- val left = currentPosition * minWidth + currentPosition * mIndicatorOptions.sliderGap
- if (slideProgress < 0.99) {
- val evaluate = argbEvaluator?.evaluate(
- slideProgress, mIndicatorOptions.checkedSliderColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = (evaluate as Int)
- mRectF.set(left, 0f, left + minWidth, mIndicatorOptions.sliderHeight)
- drawRoundRect(canvas, mIndicatorOptions.sliderHeight, mIndicatorOptions.sliderHeight,false)
- }
-
- var nextSliderLeft = left + mIndicatorOptions.sliderGap + mIndicatorOptions.normalSliderWidth
- if (currentPosition == mIndicatorOptions.pageSize - 1) {
- nextSliderLeft = 0f
- }
- val evaluate = argbEvaluator?.evaluate(
- 1 - slideProgress, mIndicatorOptions.checkedSliderColor, mIndicatorOptions.normalSliderColor
- )
- mPaint.color = evaluate as Int
- mRectF.set(nextSliderLeft, 0f, nextSliderLeft + minWidth, mIndicatorOptions.sliderHeight)
- drawRoundRect(canvas, mIndicatorOptions.sliderHeight, mIndicatorOptions.sliderHeight,false)
- }
-
- private fun drawWormSlider(canvas: Canvas) {
- val sliderHeight = mIndicatorOptions.sliderHeight
- val slideProgress = mIndicatorOptions.slideProgress
- val currentPosition = mIndicatorOptions.currentPosition
- val distance = mIndicatorOptions.sliderGap + mIndicatorOptions.normalSliderWidth
- val startCoordinateX =
- IndicatorUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition)
- val left = startCoordinateX + (distance * (slideProgress - 0.5f) * 2.0f).coerceAtLeast(
- 0f
- ) - mIndicatorOptions.normalSliderWidth / 2
- val right = startCoordinateX + (distance * slideProgress * 2f).coerceAtMost(
- distance
- ) + mIndicatorOptions.normalSliderWidth / 2
- mRectF.set(left, 0f, right, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,false)
- }
-
- private fun drawSmoothSlider(canvas: Canvas) {
- val currentPosition = mIndicatorOptions.currentPosition
- val indicatorGap = mIndicatorOptions.sliderGap
- val sliderHeight = mIndicatorOptions.sliderHeight
- val left =
- currentPosition * maxWidth + currentPosition * +indicatorGap + (maxWidth + indicatorGap) * mIndicatorOptions.slideProgress
- mRectF.set(left, 0f, left + maxWidth, sliderHeight)
- drawRoundRect(canvas, sliderHeight, sliderHeight,false)
- }
-
- protected open fun drawRoundRect(
- canvas: Canvas,
- rx: Float,
- ry: Float,
- isWidth:Boolean
- ) {
- drawDash(canvas)
- }
-
- protected open fun drawDash(canvas: Canvas) {}
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/RoundRectDrawer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/RoundRectDrawer.kt
deleted file mode 100644
index 37f2a2c62d..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/drawer/RoundRectDrawer.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.drawer
-
-import android.graphics.Canvas
-import android.graphics.Color
-import android.graphics.LinearGradient
-import android.graphics.Shader
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-
-/**
- *
- * Created by zhpan on 2019/11/26.
- * Description:
-
*
- */
-class RoundRectDrawer internal constructor(val indicatorOptions: IndicatorOptions) : RectDrawer(
- indicatorOptions
-) {
-
- override fun drawRoundRect(canvas: Canvas, rx: Float, ry: Float, isWidth: Boolean) {
- if(isWidth) {
- val linearGradient =
- LinearGradient(
- mRectF.left,
- (mRectF.bottom - mRectF.top) / 2,
- mRectF.right,
- (mRectF.bottom - mRectF.top) / 2,
- indicatorOptions.checkedSliderColor,
- indicatorOptions.checkedEndSliderColor,
- Shader.TileMode.CLAMP
- )
- mPaint.shader = linearGradient
- }else{
- mPaint.color = indicatorOptions.normalSliderColor
- mPaint.shader = null
- }
- canvas.drawRoundRect(mRectF, rx, ry, mPaint)
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorOrientation.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorOrientation.kt
deleted file mode 100644
index 4f507e4c05..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorOrientation.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.enums
-
-import android.widget.LinearLayout
-
-/**
- *
- * @author zhangpan
- * @date 2021/1/21
- */
-class IndicatorOrientation {
- companion object {
- const val INDICATOR_HORIZONTAL = LinearLayout.HORIZONTAL
- const val INDICATOR_VERTICAL = LinearLayout.VERTICAL
- const val INDICATOR_RTL = 3
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorSlideMode.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorSlideMode.kt
deleted file mode 100644
index 0e9dfda078..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorSlideMode.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.enums
-
-/**
- *
- * Created by zhangpan on 2019-10-18.
- * Description:
-
*
- */
-interface IndicatorSlideMode {
- companion object {
- const val NORMAL = 0
- const val SMOOTH = 2
- const val WORM = 3
- const val SCALE = 4
- const val COLOR = 5
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorStyle.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorStyle.kt
deleted file mode 100644
index e66ffb10fc..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/enums/IndicatorStyle.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.enums
-
-/**
- *
- * Created by zhangpan on 2019-10-18.
- * Description:
-
*
- */
-interface IndicatorStyle {
- companion object {
- const val CIRCLE = 0
- const val DASH = 1 shl 1
- const val ROUND_RECT = 1 shl 2
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/option/AttrsController.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/option/AttrsController.java
deleted file mode 100644
index 3a439ec7ea..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/option/AttrsController.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.option;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Color;
-import android.util.AttributeSet;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.mogo.och.taxi.passenger.R;
-import com.mogo.och.taxi.passenger.widget.indicator.utils.IndicatorUtils;
-
-public class AttrsController {
-
- public static void initAttrs(@NonNull Context context, @Nullable AttributeSet attrs,
- IndicatorOptions indicatorOptions) {
- if (attrs != null) {
- TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.IndicatorView);
- int indicatorSlideMode = typedArray.getInt(R.styleable.IndicatorView_vpi_slide_mode, 0);
- int indicatorStyle = typedArray.getInt(R.styleable.IndicatorView_vpi_style, 0);
- int checkedColor = typedArray.getColor(R.styleable.IndicatorView_vpi_slider_checked_color,
- Color.parseColor("#6C6D72"));
- int normalColor = typedArray.getColor(R.styleable.IndicatorView_vpi_slider_normal_color,
- Color.parseColor("#8C18171C"));
- int orientation = typedArray.getInt(R.styleable.IndicatorView_vpi_orientation, 0);
- float radius = typedArray.getDimension(R.styleable.IndicatorView_vpi_slider_radius,
- IndicatorUtils.dp2px(8));
- indicatorOptions.setCheckedColor(checkedColor);
- indicatorOptions.setNormalSliderColor(normalColor);
- indicatorOptions.setOrientation(orientation);
- indicatorOptions.setIndicatorStyle(indicatorStyle);
- indicatorOptions.setSlideMode(indicatorSlideMode);
- indicatorOptions.setSliderWidth(radius * 2, radius * 2);
- typedArray.recycle();
- }
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/option/IndicatorOptions.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/option/IndicatorOptions.kt
deleted file mode 100644
index 47a993e1d7..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/option/IndicatorOptions.kt
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.option
-
-import android.graphics.Color
-import com.mogo.och.taxi.passenger.widget.indicator.annotation.AIndicatorOrientation
-
-import com.mogo.och.taxi.passenger.widget.indicator.annotation.AIndicatorSlideMode
-import com.mogo.och.taxi.passenger.widget.indicator.annotation.AIndicatorStyle
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorOrientation
-import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
-import com.mogo.och.taxi.passenger.widget.indicator.utils.IndicatorUtils
-
-/**
- *
- * Created by zhpan on 2019/11/20.
- * Description:Indicator的配置参数
-
*
- */
-class IndicatorOptions {
-
- @AIndicatorOrientation
- var orientation = IndicatorOrientation.INDICATOR_HORIZONTAL
-
- @AIndicatorStyle
- var indicatorStyle: Int = 0
-
- /**
- * Indicator滑动模式,目前仅支持两种
- *
- * @see IndicatorSlideMode.NORMAL
- *
- * @see IndicatorSlideMode.SMOOTH
- */
- @AIndicatorSlideMode
- var slideMode: Int = 0
-
- /**
- * 页面size
- */
- var pageSize: Int = 0
-
- /**
- * 未选中时Indicator颜色
- */
- var normalSliderColor: Int = 0
-
- /**
- * 选中时Indicator颜色
- */
- var checkedSliderColor: Int = 0
- /**
- * 选中时IndicatorEnd颜色
- */
- var checkedEndSliderColor: Int = 0
-
- /**
- * Indicator间距
- */
- var sliderGap: Float = 0f
-
- var sliderHeight: Float = 0f
- get() = if (field > 0) field else normalSliderWidth / 2
-
- var normalSliderWidth: Float = 0f
-
- var checkedSliderWidth: Float = 0f
-
- /**
- * 指示器当前位置
- */
- var currentPosition: Int = 0
-
- /**
- * 从一个点滑动到另一个点的进度
- */
- var slideProgress: Float = 0f
-
- var showIndicatorOneItem: Boolean = false
-
- init {
- normalSliderWidth = IndicatorUtils.dp2px(8f)
- .toFloat()
- checkedSliderWidth = normalSliderWidth
- sliderGap = normalSliderWidth
- normalSliderColor = Color.parseColor("#8C18171C")
- checkedSliderColor = Color.parseColor("#8C6C6D72")
- slideMode = IndicatorSlideMode.NORMAL
- }
-
- fun setCheckedColor(checkedColor: Int) {
- this.checkedSliderColor = checkedColor
- }
-
- fun setSliderWidth(
- normalIndicatorWidth: Float,
- checkedIndicatorWidth: Float
- ) {
- this.normalSliderWidth = normalIndicatorWidth
- this.checkedSliderWidth = checkedIndicatorWidth
- }
-
- fun setSliderWidth(sliderWidth: Float) {
- setSliderWidth(sliderWidth, sliderWidth)
- }
-
- fun setSliderColor(
- normalColor: Int,
- checkedColor: Int,
- selectedEndColor: Int
- ) {
- this.normalSliderColor = normalColor
- this.checkedSliderColor = checkedColor
- this.checkedEndSliderColor = selectedEndColor
- }
-}
diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/utils/IndicatorUtils.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/utils/IndicatorUtils.kt
deleted file mode 100644
index 6b0894f3a8..0000000000
--- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/indicator/utils/IndicatorUtils.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.mogo.och.taxi.passenger.widget.indicator.utils
-
-import android.content.res.Resources
-
-import com.mogo.och.taxi.passenger.widget.indicator.option.IndicatorOptions
-
-/**
- *
- * Created by zhangpan on 2020-01-20.
- * Description:
-
*
- */
-object IndicatorUtils {
-
- @JvmStatic
- fun dp2px(dpValue: Float): Int {
- return (0.5f + dpValue * Resources.getSystem().displayMetrics.density).toInt()
- }
-
- fun getCoordinateX(
- indicatorOptions: IndicatorOptions,
- maxDiameter: Float,
- index: Int
- ): Float {
- val normalIndicatorWidth = indicatorOptions.normalSliderWidth
- return maxDiameter / 2 + (normalIndicatorWidth + indicatorOptions.sliderGap) * index
- }
-
- fun getCoordinateY(maxDiameter: Float): Float {
- return maxDiameter / 2
- }
-}
diff --git a/OCH/taxi/passenger/src/main/res/anim/alpha_hide_show.xml b/OCH/taxi/passenger/src/main/res/anim/alpha_hide_show.xml
deleted file mode 100644
index ddb2eaf470..0000000000
--- a/OCH/taxi/passenger/src/main/res/anim/alpha_hide_show.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_change_full.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_change_full.png
deleted file mode 100644
index 1504bbc816..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_change_full.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_change_normal.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_change_normal.png
deleted file mode 100644
index 3f24949883..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_change_normal.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_checked_input_background.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_checked_input_background.png
deleted file mode 100644
index ec58d028f2..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_checked_input_background.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_front_left_door.9.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_front_left_door.9.png
deleted file mode 100644
index 8187b384fd..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_front_left_door.9.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_front_right_door.9.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_front_right_door.9.png
deleted file mode 100644
index a8e69c82e5..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_front_right_door.9.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_itinerary_bg.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_itinerary_bg.png
deleted file mode 100644
index a626a703f3..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_itinerary_bg.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_location_cecnter_click.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_location_cecnter_click.png
deleted file mode 100644
index 1467d91e06..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_location_cecnter_click.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_location_center.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_location_center.png
deleted file mode 100644
index c2cdfb3af7..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_location_center.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_car.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_car.png
deleted file mode 100644
index 560ba9a367..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_car.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_car_light.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_car_light.png
deleted file mode 100644
index ed796603d5..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_car_light.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_view_dir_end.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_view_dir_end.png
deleted file mode 100644
index 385c078c44..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_view_dir_end.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_view_dir_start.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_view_dir_start.png
deleted file mode 100644
index 3fca47cb5f..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_map_view_dir_start.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_mogo_logo.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_mogo_logo.png
deleted file mode 100644
index 7497c10064..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_mogo_logo.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_mogo_video_play.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_mogo_video_play.png
deleted file mode 100644
index ff5fb41cab..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_mogo_video_play.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_north.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_north.png
deleted file mode 100644
index 8d5c431674..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_north.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_overmap_arrived.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_overmap_arrived.png
deleted file mode 100644
index 32fc7d5af8..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_overmap_arrived.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_overmap_arriving.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_overmap_arriving.png
deleted file mode 100644
index 790562578c..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_overmap_arriving.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_end_boll.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_end_boll.png
deleted file mode 100644
index 97644d1c3d..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_end_boll.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_input_bg.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_input_bg.png
deleted file mode 100644
index 72c0f0fc40..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_input_bg.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_panel_bg.webp b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_panel_bg.webp
deleted file mode 100644
index 8736cf5d06..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_panel_bg.webp and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_start_boll.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_start_boll.png
deleted file mode 100644
index c6a019187a..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_start_boll.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_start_end_line.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_start_end_line.png
deleted file mode 100644
index 14c0e5fa19..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_check_start_end_line.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_pnc_bg.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_pnc_bg.png
deleted file mode 100644
index 551b74a1fa..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_pnc_bg.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_rear_left_door.9.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_rear_left_door.9.png
deleted file mode 100644
index 7115749df7..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_rear_left_door.9.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_rear_right_door.9.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_rear_right_door.9.png
deleted file mode 100644
index f18fb44b2b..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_rear_right_door.9.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_roma_checked.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_roma_checked.png
deleted file mode 100644
index 1119113e5c..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_roma_checked.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_roma_normal.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_roma_normal.png
deleted file mode 100644
index eca54cb0cf..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_roma_normal.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_speed_bg.webp b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_speed_bg.webp
deleted file mode 100644
index 40280b8e5e..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_speed_bg.webp and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_start_panel__df_bg.webp b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_start_panel__df_bg.webp
deleted file mode 100644
index 8772a761c5..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_start_panel__df_bg.webp and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_start_panel__hq_bg.webp b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_start_panel__hq_bg.webp
deleted file mode 100644
index 85d316a7a6..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_start_panel__hq_bg.webp and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_startautopilt_car_top.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_startautopilt_car_top.png
deleted file mode 100644
index 2a8616a6cd..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_startautopilt_car_top.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_holder.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_holder.png
deleted file mode 100644
index 1f839ed568..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_holder.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_index.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_index.png
deleted file mode 100644
index 996d10220f..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_index.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_light_bg.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_light_bg.png
deleted file mode 100644
index 12b53e07c4..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_video_light_bg.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_check_input_bg.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_check_input_bg.png
deleted file mode 100644
index 705ec70021..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_check_input_bg.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_itinerary_bg.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_itinerary_bg.png
deleted file mode 100644
index a626a703f3..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_itinerary_bg.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_setting_checked.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_setting_checked.png
deleted file mode 100644
index 33e50083e3..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxt_p_setting_checked.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/xiaozhi_safety_belt.png b/OCH/taxi/passenger/src/main/res/drawable-nodpi/xiaozhi_safety_belt.png
deleted file mode 100644
index f8633367d4..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/drawable-nodpi/xiaozhi_safety_belt.png and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_bg_roma_selector.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_bg_roma_selector.xml
deleted file mode 100644
index f51169b6b9..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_bg_roma_selector.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_check_input_background.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_check_input_background.xml
deleted file mode 100644
index 9e7e8385d0..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_check_input_background.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_comment_select.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_comment_select.xml
deleted file mode 100644
index 6d0735382c..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_comment_select.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_enable_start_autopilot.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_enable_start_autopilot.xml
deleted file mode 100644
index 050ca629ef..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_enable_start_autopilot.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_keyboard_background.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_keyboard_background.xml
deleted file mode 100644
index 8476da3706..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_keyboard_background.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_roma_distance_bg.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_roma_distance_bg.xml
deleted file mode 100644
index 20ccf3f45e..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_roma_distance_bg.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_start_autopilot_bottom_bg.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_start_autopilot_bottom_bg.xml
deleted file mode 100644
index 3243142fc8..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_start_autopilot_bottom_bg.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_start_autopilot_txt_btn_bg.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_start_autopilot_txt_btn_bg.xml
deleted file mode 100644
index d00674aaef..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_start_autopilot_txt_btn_bg.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_unable_start_autopilot.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_unable_start_autopilot.xml
deleted file mode 100644
index 64040b5c44..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_unable_start_autopilot.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_bg.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_bg.xml
deleted file mode 100644
index 0033c93649..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_bg.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_bg_top.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_bg_top.xml
deleted file mode 100644
index 843c2658d2..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_bg_top.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_light_bg_shape.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_light_bg_shape.xml
deleted file mode 100644
index 53fe75fede..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_video_light_bg_shape.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_xiaozhibelt_info.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_xiaozhibelt_info.xml
deleted file mode 100644
index a5287f9968..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_xiaozhibelt_info.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_xiaozhibelt_info_ball.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_p_xiaozhibelt_info_ball.xml
deleted file mode 100644
index f5013dd9f1..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_p_xiaozhibelt_info_ball.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_video_order_process.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_video_order_process.xml
deleted file mode 100644
index a7557622c9..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_video_order_process.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/drawable/taxi_video_seekbar_style.xml b/OCH/taxi/passenger/src/main/res/drawable/taxi_video_seekbar_style.xml
deleted file mode 100644
index e9d7160313..0000000000
--- a/OCH/taxi/passenger/src/main/res/drawable/taxi_video_seekbar_style.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/font/din.ttf b/OCH/taxi/passenger/src/main/res/font/din.ttf
deleted file mode 100644
index 60e06cb75f..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/font/din.ttf and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml
deleted file mode 100644
index 173706e096..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml
deleted file mode 100644
index 51b391e0dd..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml
+++ /dev/null
@@ -1,279 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_itinerary.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_itinerary.xml
deleted file mode 100644
index 24a4708a34..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_itinerary.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_mogo_video_layout.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_mogo_video_layout.xml
deleted file mode 100644
index cde70a8b6b..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_mogo_video_layout.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml
deleted file mode 100644
index 99414bc626..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml
+++ /dev/null
@@ -1,318 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_video_item_light.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_video_item_light.xml
deleted file mode 100644
index 0c85e88433..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_video_item_light.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_video_show.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_video_show.xml
deleted file mode 100644
index 8707c98ead..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_video_show.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxt_p_check.xml b/OCH/taxi/passenger/src/main/res/layout/taxt_p_check.xml
deleted file mode 100644
index e9e036a178..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxt_p_check.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxt_p_check_number.xml b/OCH/taxi/passenger/src/main/res/layout/taxt_p_check_number.xml
deleted file mode 100644
index a7eb2ba2ae..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxt_p_check_number.xml
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxt_p_check_startautopilot.xml b/OCH/taxi/passenger/src/main/res/layout/taxt_p_check_startautopilot.xml
deleted file mode 100644
index c1d1f2b436..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxt_p_check_startautopilot.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxt_p_speed.xml b/OCH/taxi/passenger/src/main/res/layout/taxt_p_speed.xml
deleted file mode 100644
index 14556486bd..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxt_p_speed.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxt_p_start_autopilot_view.xml b/OCH/taxi/passenger/src/main/res/layout/taxt_p_start_autopilot_view.xml
deleted file mode 100644
index c64e3b348c..0000000000
--- a/OCH/taxi/passenger/src/main/res/layout/taxt_p_start_autopilot_view.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/raw/end_video.mp4 b/OCH/taxi/passenger/src/main/res/raw/end_video.mp4
deleted file mode 100755
index d736845f93..0000000000
Binary files a/OCH/taxi/passenger/src/main/res/raw/end_video.mp4 and /dev/null differ
diff --git a/OCH/taxi/passenger/src/main/res/raw/taxi_order.json b/OCH/taxi/passenger/src/main/res/raw/taxi_order.json
deleted file mode 100644
index e8d0819d3f..0000000000
--- a/OCH/taxi/passenger/src/main/res/raw/taxi_order.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "drivingRoutes": [
- {
- "lat": 40.197234,
- "lon": 116.74143,
- "siteId": "1.0",
- "siteName": "万集东门站"
- },
- {
- "lat": 40.1953113732,
- "lon": 116.729134342,
- "siteId": "2.0",
- "siteName": "市政府前街18号"
- }
- ],
- "endStation": "市政府前街18号",
- "orderDispatchType": 1,
- "orderNo": "CZ20210430000005",
- "orderType": 9,
- "startStation": "万集东门站",
- "travelDistance": 0.6
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/raw/taxi_order_detail.json b/OCH/taxi/passenger/src/main/res/raw/taxi_order_detail.json
deleted file mode 100644
index 7d62fcacb7..0000000000
--- a/OCH/taxi/passenger/src/main/res/raw/taxi_order_detail.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "code": 0,
- "msg": "",
- "detailMsg": "",
- "result": {
- "_id": "5352c1d2c9d84ab3ab9ecf1e47e13bdd",
- "orderNo": "CZ20210427000016",
- "orderType": 9,
- "userName": "董QAD",
- "userPhone": "15631204018",
- "startStationId": 10000,
- "startStation": "0409第一站",
- "startStationCoordinate": [
- 116.7389159039,
- 40.1992312592
- ],
- "endStationId": 21,
- "endStation": "第二十一站",
- "endStationCoordinate": [
- 116.737866,
- 40.19646
- ],
- "orderDispatchType": 1,
- "carNum": "京NB010",
- "sn": "F803EB2046PZD00149",
- "orderStartTime": "Apr 27, 2021 8:55:44 PM",
- "arrivedStartStationTime": "",
- "arrivedEndStationTime": "",
- "cityCode": "010",
- "areaCode": "1001",
- "createTime": "Apr 27, 2021 8:55:44 PM",
- "updateTime": "Apr 27, 2021 8:55:56 PM",
- "personNum": 1,
- "travelDistance": 0.3,
- "vehicleColour": "黑色",
- "lastBrandName": "",
- "headImgUrl": "https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83ep4YkeZqjiazTK87NQtYp6KMYvAdJcxNpxyJ2gibeNNheH1HFaJdX4hB15eIR3zZdGMWNanKzIn460w/132"
- }
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/raw/taxi_order_state_update.json b/OCH/taxi/passenger/src/main/res/raw/taxi_order_state_update.json
deleted file mode 100644
index 9ee3d17f02..0000000000
--- a/OCH/taxi/passenger/src/main/res/raw/taxi_order_state_update.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "endStation": "市政府前街18号",
- "endStationId": "2.0",
- "orderDispatchType": 7,
- "orderNo": "CZ20210430000005",
- "orderType": 9,
- "startStation": "万集东门站",
- "startStationId": "1.0",
- "travelDistance": 0.6
-}
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/arrays.xml b/OCH/taxi/passenger/src/main/res/values/arrays.xml
deleted file mode 100644
index 78554f9ebb..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/arrays.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/attrs.xml b/OCH/taxi/passenger/src/main/res/values/attrs.xml
deleted file mode 100644
index b7946fe4f7..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/attrs.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/colors.xml b/OCH/taxi/passenger/src/main/res/values/colors.xml
deleted file mode 100644
index a1b49650db..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
- #FFFFA28B
-
- #FFFFC836
- #FF282F62
-
- #8039388E
- #151937
-
- #4DFFFFFF
-
- #111D2F
- #004DC4
- #293449
- #203555
- #081831
- #112B57
- #66476FBE
-
- #41444D
- #0F5FFF
- #44C8FF
- #8AE4ED
- #C8F3F4
- #282F62
- #242C65
- #6C8BB9
-
-
-
-
-
- #255BAA
- #80F8FF
- #A0B3DA
- #005D6A8C
- #5D6A8C
-
- #995D6A8C
- #B37E90BF
-
-
-
-
- #464646
- #191E3C
- #58C9FF
- #477CFC
-
- #378EFB
- #876E788B
-
- #333333
-
- #80E5F0FF
- #E6E5F0FF
- #4D7985A7
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/dimens.xml b/OCH/taxi/passenger/src/main/res/values/dimens.xml
deleted file mode 100644
index 0d2c4cc409..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/ids.xml b/OCH/taxi/passenger/src/main/res/values/ids.xml
deleted file mode 100644
index b8fc90429e..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/ids.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/strings.xml b/OCH/taxi/passenger/src/main/res/values/strings.xml
deleted file mode 100644
index 1612d7f826..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- 欢迎体验MOGO自动驾驶出租车
- Hello,您好
- 请输入手机号后4位:
- 删除
-
- 点击开启
- 启动中...
- 自动驾驶启动失败,请与司机确认车辆状态
- 车辆尚未完成准备,不能启动自动驾驶
-
- 距离(KM)
- 距离(M)
- 剩余(分)
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/passenger/src/main/res/values/styles.xml b/OCH/taxi/passenger/src/main/res/values/styles.xml
deleted file mode 100644
index 7a729ae56f..0000000000
--- a/OCH/taxi/passenger/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugEvent.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugEvent.kt
deleted file mode 100644
index ce7b533953..0000000000
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugEvent.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.mogo.och.taxi.passenger.ui.debug
-
-class DebugEvent {
-}
\ No newline at end of file
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png b/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png
deleted file mode 100644
index 77bac9388b..0000000000
Binary files a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png and /dev/null differ
diff --git a/OCH/taxi/pcommon/src/main/res/values/attrs.xml b/OCH/taxi/pcommon/src/main/res/values/attrs.xml
index 4312fc919c..134b699a7a 100644
--- a/OCH/taxi/pcommon/src/main/res/values/attrs.xml
+++ b/OCH/taxi/pcommon/src/main/res/values/attrs.xml
@@ -1,20 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt
index 49c161ce8e..19db5bbae5 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt
@@ -3,7 +3,7 @@ package com.mogo.och.unmanned.taxi.bean
import com.mogo.eagle.core.data.BaseData
import com.mogo.och.data.taxi.BaseOrderBean
import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.ContraiInfo
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt
index 40991c29eb..321afe3448 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt
@@ -11,7 +11,6 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
import com.mogo.eagle.core.function.api.och.toolkit.IToolKitItemClickListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
-import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
@@ -20,7 +19,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.common.module.utils.FlowBus
import com.mogo.och.common.module.wigets.StartAutopilotAnimationView
import com.mogo.och.common.module.wigets.map.drawline.LineView
@@ -30,7 +29,6 @@ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.START_AUT
import com.mogo.och.unmanned.taxi.ui.navi.amap.TaxiAmapNaviFragment
import com.mogo.och.unmanned.taxi.ui.navi.auto.TaxiRoutingNaviFragment
import com.mogo.och.unmanned.taxi.ui.operational.OperationalManager
-import com.mogo.och.unmanned.taxi.ui.operational.TaxiOperationalDialogFragment
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
import com.mogo.och.unmanned.taxi.ui.task.itinerarycurrent.ItineraryCurrentView
import com.mogo.och.unmanned.taxi.utils.TPRouteDataTestUtils
@@ -39,7 +37,6 @@ import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.orderDebugView
import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.startAutopilotAnimationView
import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.taxi_close_navi_icon
import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.unmannedMapCL
-import java.lang.ref.WeakReference
/**
* @author: wangmingjun
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java
index 9461c9214f..f49c916eda 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiPresenter.java
@@ -7,18 +7,15 @@ import androidx.annotation.Nullable;
import androidx.lifecycle.LifecycleOwner;
import com.mogo.commons.AbsMogoApplication;
-import com.mogo.commons.module.status.MogoStatusManager;
import com.mogo.commons.mvp.Presenter;
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
-import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.common.module.biz.login.ILoginCallback;
import com.mogo.och.common.module.biz.login.LoginStatusEnum;
import com.mogo.och.common.module.biz.login.LoginStatusManager;
import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum;
-import com.mogo.och.common.module.biz.order.OrderListener;
-import com.mogo.och.common.module.biz.order.OrderModel;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener;
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel;
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum;
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager;
import com.mogo.och.common.module.manager.transform.OchTransform;
import com.mogo.och.common.module.manager.transform.OchTransformDispatch;
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt
index 9eb3268663..b33666c574 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt
@@ -33,7 +33,7 @@ import com.mogo.och.unmanned.taxi.bean.TrajectoryListRespBean
import com.mogo.och.unmanned.taxi.callback.ITaxiTaskWithOrderCallback
import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum
import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
import kotlinx.android.synthetic.main.unmanned_taxi_debug_order.view.btnContainer
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt
index 9246cd0ebf..81864cf942 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt
@@ -20,7 +20,7 @@ import com.mogo.och.unmanned.taxi.bean.QueryOrdersRespBean
import com.mogo.och.unmanned.taxi.bean.QueryTaskRespBean
import com.mogo.och.unmanned.taxi.constant.OperationalOrderStatusEnum
import com.mogo.och.unmanned.taxi.constant.StationTypeEnum
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
/**
* @author: wangmingjun
diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/rodedata/OchAutomaticExplorationView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/rodedata/OchAutomaticExplorationView.kt
similarity index 92%
rename from OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/rodedata/OchAutomaticExplorationView.kt
rename to OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/rodedata/OchAutomaticExplorationView.kt
index 8853435036..13e9127b74 100644
--- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/rodedata/OchAutomaticExplorationView.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/rodedata/OchAutomaticExplorationView.kt
@@ -1,13 +1,13 @@
-package com.mogo.och.common.module.wigets.rodedata
+package com.mogo.och.unmanned.taxi.ui.rodedata
import android.content.Context
import android.util.AttributeSet
import android.util.Log
import com.mogo.eagle.core.function.hmi.ui.notice.exploration.AutomaticExplorationView
import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
class OchAutomaticExplorationView @JvmOverloads constructor(
context: Context,
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt
index c66c60ada7..1d8cc34cf6 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt
@@ -7,9 +7,7 @@ import com.amap.api.maps.model.LatLng
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.module.intent.IMogoIntentListener
import com.mogo.commons.module.intent.IntentManager
-import com.mogo.commons.module.status.IMogoStatusChangedListener
import com.mogo.commons.module.status.MogoStatusManager
-import com.mogo.commons.module.status.StatusDescriptor
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.config.FunctionBuildConfig
@@ -29,22 +27,18 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
-import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils
import com.mogo.eagle.core.utilcode.util.NetworkUtils
-import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.biz.login.LoginService
import com.mogo.och.common.module.biz.login.LoginStatusManager
-import com.mogo.och.common.module.biz.order.OrderModel
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
-import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
import com.mogo.och.common.module.manager.autopilot.line.ILineCallback
import com.mogo.och.common.module.manager.autopilot.line.LineManager
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
@@ -79,15 +73,12 @@ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.BUSINESST
import com.mogo.och.unmanned.taxi.network.TaxiTaskWithOrderServiceManager
import com.mogo.och.unmanned.taxi.ui.debug.DebugView
import com.mogo.och.unmanned.taxi.utils.RxJavaUtils
-import com.mogo.och.unmanned.taxi.utils.TaxiTrajectoryManager
-import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.service.chain.ChainLog
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers
import mogo.telematics.pad.MessagePad.GlobalPathResp
-import mogo_msg.MogoReportMsg.MogoReportMessage
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.TimeUnit
import kotlin.math.ceil
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt
index 1a762356e5..67246a731b 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt
@@ -4,7 +4,7 @@ import androidx.lifecycle.ViewModel
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons
import com.mogo.och.unmanned.taxi.network.TaxiTaskWithOrderServiceManager
@@ -55,7 +55,7 @@ class CancleOrderViewModel : ViewModel() {
reasons.add(TaxiOrderCancelReasons.PassengerCancel)
reasons.add(TaxiOrderCancelReasons.Other)
}
- TaxiOrderStatusEnum.OnTheWayToEnd.code,TaxiOrderStatusEnum.ArriveAtEnd.code -> {
+ TaxiOrderStatusEnum.OnTheWayToEnd.code, TaxiOrderStatusEnum.ArriveAtEnd.code -> {
reasons.add(TaxiOrderCancelReasons.CarBroken)
reasons.add(TaxiOrderCancelReasons.DeviceBroken)
reasons.add(TaxiOrderCancelReasons.BatteryLow)
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java
index 3c44d5ae7d..9b89e01f38 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java
@@ -24,7 +24,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.unmanned.taxi.R;
import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons;
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum;
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum;
import java.lang.ref.WeakReference;
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt
index b78ae7a5d6..45f6e1d1df 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentModel.kt
@@ -15,7 +15,7 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.biz.login.LoginStatusManager
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.common.module.manager.autopilot.line.LineManager
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt
index 4761354f27..3ae4ff4bca 100644
--- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt
@@ -22,7 +22,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
import com.mogo.eagle.core.utilcode.util.ClickUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
import com.mogo.och.common.module.map.AmapNaviToDestinationModel
import com.mogo.och.common.module.map.ICommonNaviChangedCallback
@@ -33,7 +33,6 @@ import com.mogo.och.common.module.utils.ResourcesUtils
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.common.module.wigets.CommonSlideView
import com.mogo.och.common.module.wigets.dialog.CommonDialogStatus
-import com.mogo.och.common.module.wigets.dialog.CommonDialogView
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider
import com.mogo.och.unmanned.taxi.bean.OrderDetail
diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/OrderListener.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/order/OrderListener.kt
similarity index 82%
rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/OrderListener.kt
rename to OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/order/OrderListener.kt
index be6e91fc07..2140dce748 100644
--- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/OrderListener.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/order/OrderListener.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.common.module.biz.order
+package com.mogo.och.unmanned.taxi.utils.order
import com.mogo.och.data.taxi.BaseOrderBean
diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/OrderModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/order/OrderModel.kt
similarity index 71%
rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/OrderModel.kt
rename to OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/order/OrderModel.kt
index 5a88421ccd..325f836bcc 100644
--- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/OrderModel.kt
+++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/order/OrderModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.common.module.biz.order
+package com.mogo.och.unmanned.taxi.utils.order
import com.mogo.och.data.taxi.BaseOrderBean
import java.util.concurrent.ConcurrentHashMap
@@ -30,21 +30,21 @@ object OrderModel {
}
}
}
- if(this.orderBean==null){
- this.orderBean = newOrderBean
+ if(orderBean ==null){
+ orderBean = newOrderBean
}else {
if(newOrderBean==null){
- this.preOrderBean = this.orderBean
- this.orderBean = null
+ preOrderBean = orderBean
+ orderBean = null
}else{
- if(this.orderBean!!.orderNo == newOrderBean.orderNo){
- if(this.orderBean!!.orderStatus >= newOrderBean.orderStatus){
+ if(orderBean!!.orderNo == newOrderBean.orderNo){
+ if(orderBean!!.orderStatus >= newOrderBean.orderStatus){
return
}else{
- this.orderBean = newOrderBean
+ orderBean = newOrderBean
}
}else{
- this.orderBean = newOrderBean
+ orderBean = newOrderBean
}
}
}
diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml
index 85d7e6d4f1..77eca5b889 100644
--- a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml
+++ b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml
@@ -21,7 +21,7 @@
app:layout_constraintTop_toTopOf="parent" />
- ${curOrderStatus}")
OchChainLogManager.writeChainLog(currentOCHOrder.toString(),"最新的状态-->${curOrderStatus}")
- OrderModel.invokeListener(currentOCHOrder)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.invokeListener(currentOCHOrder)
}
private fun orderStatusChangeInner() {
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt
index f3d7a215c8..0cb13c96e6 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt
@@ -9,10 +9,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
import com.mogo.och.unmanned.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
@@ -26,7 +26,7 @@ import com.mogo.och.unmanned.passenger.ui.TaxiPassengerBaseFragment
*/
class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
Presenter(view), IOCHTaxiPassengerOrderStatusCallback,
- OrderListener {
+ com.mogo.och.unmanned.taxi.utils.order.OrderListener {
init {
}
@@ -76,12 +76,12 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
private fun initListeners() {
TaxiPassengerModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", this)
- OrderModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", this)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", this)
}
private fun releaseListeners() {
TaxiPassengerModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", null)
- OrderModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", null)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback("BaseTaxiPassengerPresenter", null)
}
private fun updateOrderView(order: TaxiPassengerOrdersInServiceQueryRespBean.OrderBean?) {
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt
index 3e8252681b..c12f934a26 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt
@@ -12,7 +12,6 @@ import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.data.map.MogoLatLng
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
-import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P
import com.mogo.eagle.core.utilcode.util.DeviceUtils
@@ -24,15 +23,15 @@ import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
import com.mogo.och.common.module.manager.xiaozhi.ZhiStateManager
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
import com.mogo.och.unmanned.taxi.passenger.R
-import com.mogo.och.taxi.passenger.ui.bar.LeftBarView
-import com.mogo.och.taxi.passenger.ui.bar.RightBarView
import com.mogo.och.unmanned.passenger.presenter.BaseTaxiPassengerPresenter
-import com.mogo.och.taxi.passenger.ui.bottom.BottomBar
-import com.mogo.och.taxi.passenger.ui.debug.DebugCallback
+import com.mogo.och.unmanned.passenger.ui.arrived.ArrivedView
+import com.mogo.och.unmanned.passenger.ui.bar.LeftBarView
+import com.mogo.och.unmanned.passenger.ui.bar.RightBarView
+import com.mogo.och.unmanned.passenger.ui.bottom.BottomBar
import com.mogo.och.unmanned.passenger.ui.checkstartautopilot.ChekAndStartAutopilotView
-import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
+import com.mogo.och.unmanned.passenger.ui.debug.DebugCallback
+import com.mogo.och.unmanned.passenger.ui.statusview.StatusBarView
import io.reactivex.disposables.Disposable
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.arrivedView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.bottom
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/ArrivedView.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/ArrivedView.kt
index a08a393697..2a4d350b36 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/ArrivedView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.arrived
+package com.mogo.och.unmanned.passenger.ui.arrived
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
@@ -17,7 +17,7 @@ import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.wigets.WindowRelativeLayout
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import io.reactivex.disposables.Disposable
import kotlinx.android.synthetic.main.taxi_p_arrived_end_panel.view.aciv_bg
import kotlinx.android.synthetic.main.taxi_p_arrived_end_panel.view.aciv_close
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/ArrivedViewModel.kt
similarity index 80%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/ArrivedViewModel.kt
index 20e512983a..23de366620 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/ArrivedViewModel.kt
@@ -1,9 +1,9 @@
-package com.mogo.och.taxi.passenger.ui.arrived
+package com.mogo.och.unmanned.passenger.ui.arrived
import androidx.lifecycle.ViewModel
import com.mogo.och.common.module.manager.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
-import com.mogo.och.common.module.biz.order.OrderModel
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
class ArrivedViewModel : ViewModel(), IDistanceListener {
@@ -22,14 +22,14 @@ class ArrivedViewModel : ViewModel(), IDistanceListener {
}
fun setEndInfo() {
- OrderModel.orderBean?.endSiteAddr?.let {
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.orderBean?.endSiteAddr?.let {
this.viewCallback?.setEndStation(it)
}
}
override fun distanceCallback(distance: Float) {
if (distance <= 50) {
- OrderModel.orderBean?.orderNo?.let {
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.orderBean?.orderNo?.let {
if (it != havePreLoadOrderNum) {
this.viewCallback?.preLoadImages()
havePreLoadOrderNum = it
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/RightRearCamView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/RightRearCamView.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/RightRearCamView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/RightRearCamView.kt
index 96460652e2..0c585731f5 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/RightRearCamView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/arrived/RightRearCamView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.arrived
+package com.mogo.och.unmanned.passenger.ui.arrived
import android.content.Context
import android.graphics.Bitmap
@@ -16,7 +16,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_p_right_rear_cam.view.actv_cam_position_group
import kotlinx.android.synthetic.main.taxt_p_right_rear_cam.view.v_video_right_rear
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bar/LeftBarView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bar/LeftBarView.kt
similarity index 97%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bar/LeftBarView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bar/LeftBarView.kt
index eab1bc98b9..96e1707e4a 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bar/LeftBarView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bar/LeftBarView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.bar
+package com.mogo.och.unmanned.passenger.ui.bar
import android.animation.ObjectAnimator
import android.content.Context
@@ -7,7 +7,7 @@ import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.och.common.module.wigets.map.switchvisual.SeekBarView
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_leftbar.view.aciv_only_center
import kotlinx.android.synthetic.main.taxi_p_leftbar.view.clgroup_self_map
import kotlinx.android.synthetic.main.taxi_p_leftbar.view.clgroup_self_only_map
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bar/RightBarView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bar/RightBarView.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bar/RightBarView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bar/RightBarView.kt
index e83d4c94b9..2640cd19a7 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bar/RightBarView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bar/RightBarView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.bar
+package com.mogo.och.unmanned.passenger.ui.bar
import android.animation.ObjectAnimator
import android.animation.ValueAnimator
@@ -21,8 +21,9 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.och.common.module.manager.audition.AuditionManager
import com.mogo.och.common.module.manager.audition.MusicData
import com.mogo.och.common.module.manager.audition.PlayState
-import com.mogo.och.taxi.passenger.common.R
-import com.mogo.och.taxi.passenger.ui.music.playing.MusicPlayingViewModel
+import com.mogo.och.unmanned.passenger.ui.music.playing.MusicPlayingViewModel
+import com.mogo.och.unmanned.taxi.passenger.R
+
import kotlinx.android.synthetic.main.taxi_p_rightbar.view.aciv_playing_bg
import kotlinx.android.synthetic.main.taxi_p_rightbar.view.ck_music
import kotlinx.android.synthetic.main.taxi_p_rightbar.view.ck_setting
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bottom/BottomBar.kt
similarity index 96%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bottom/BottomBar.kt
index 9c0f7c5bbf..100bdd8888 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bottom/BottomBar.kt
@@ -1,10 +1,10 @@
-package com.mogo.och.taxi.passenger.ui.bottom
+package com.mogo.och.unmanned.passenger.ui.bottom
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_p_bottom_bar.view.actv_overmap
import kotlinx.android.synthetic.main.taxt_p_bottom_bar.view.actv_precisionmap
import kotlinx.android.synthetic.main.taxt_p_bottom_bar.view.actv_video
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bottom/BottomCheckView.kt
similarity index 97%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bottom/BottomCheckView.kt
index b7baf6c5b9..9612518fd8 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/bottom/BottomCheckView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.bottom
+package com.mogo.och.unmanned.passenger.ui.bottom
import android.content.Context
import android.util.AttributeSet
@@ -6,7 +6,7 @@ import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_p_bottom_check.view.aciv_bag
import kotlinx.android.synthetic.main.taxt_p_bottom_check.view.aciv_center_image
import kotlinx.android.synthetic.main.taxt_p_bottom_check.view.actv_title
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt
index 2b82b384cf..59bf3e06b5 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt
@@ -1,19 +1,20 @@
package com.mogo.och.unmanned.passenger.ui.checkstartautopilot
import androidx.lifecycle.ViewModel
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
-class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener {
+class ChekAndStartAutopilotViewModel : ViewModel(),
+ com.mogo.och.unmanned.taxi.utils.order.OrderListener {
private val TAG = ChekAndStartAutopilotViewModel::class.java.simpleName
private var viewCallback: CheckCallback? = null
init {
- OrderModel.setOrderStatusCallback(TAG,this)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback(TAG,this)
}
fun setStartAutopilotCallback(viewCallback: CheckCallback) {
@@ -23,7 +24,7 @@ class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener {
override fun onCleared() {
super.onCleared()
this.viewCallback = null
- OrderModel.setOrderStatusCallback(TAG,null)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback(TAG,null)
}
interface CheckCallback {
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugCallback.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugCallback.kt
similarity index 81%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugCallback.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugCallback.kt
index 8b6e4fb07c..484ac11864 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugCallback.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugCallback.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.debug
+package com.mogo.och.unmanned.passenger.ui.debug
interface DebugCallback {
fun showOrHideArrivedEndLayout(isShow: Boolean)
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugEvent.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugEvent.kt
new file mode 100644
index 0000000000..c3819fc803
--- /dev/null
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugEvent.kt
@@ -0,0 +1,4 @@
+package com.mogo.och.unmanned.passenger.ui.debug
+
+class DebugEvent {
+}
\ No newline at end of file
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugView.kt
similarity index 97%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugView.kt
index 878c209b40..5b731d9bfd 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.debug
+package com.mogo.och.unmanned.passenger.ui.debug
import android.content.Context
import android.util.AttributeSet
@@ -14,7 +14,7 @@ import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.commons.env.ProjectUtils
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_u_p_debug.view.tv_map_visual
import kotlinx.android.synthetic.main.taxt_u_p_debug.view.tv_map_visual_cro
import kotlinx.android.synthetic.main.taxt_u_p_debug.view.tv_show_arrive
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugViewModel.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugViewModel.kt
index 00ca696beb..c357d01fdb 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/debug/DebugViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/debug/DebugViewModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.debug
+package com.mogo.och.unmanned.passenger.ui.debug
import androidx.lifecycle.ViewModel
import com.mogo.eagle.core.function.angle.scenes.CrossRoad
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/evaluate/EvaluateView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/evaluate/EvaluateView.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/evaluate/EvaluateView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/evaluate/EvaluateView.kt
index c37a83001f..9f4ffb599c 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/evaluate/EvaluateView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/evaluate/EvaluateView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.evaluate
+package com.mogo.och.unmanned.passenger.ui.evaluate
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
@@ -15,7 +15,7 @@ import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager
import com.mogo.och.common.module.utils.FrameAnimatorContainer
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.voice.VoiceNotice
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_evaluate.view.iv_close
import kotlinx.android.synthetic.main.taxi_p_evaluate.view.iv_evaluate_great
import kotlinx.android.synthetic.main.taxi_p_evaluate.view.iv_evaluate_low
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/evaluate/EvaluateViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/evaluate/EvaluateViewModel.kt
similarity index 88%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/evaluate/EvaluateViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/evaluate/EvaluateViewModel.kt
index 9cc51c5388..b24554d4a8 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/evaluate/EvaluateViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/evaluate/EvaluateViewModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.evaluate
+package com.mogo.och.unmanned.passenger.ui.evaluate
import androidx.lifecycle.ViewModel
import com.mogo.commons.storage.SharedPrefsMgr
@@ -6,7 +6,7 @@ import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.manager.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
-import com.mogo.och.common.module.biz.order.OrderModel
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
class EvaluateViewModel : ViewModel(), IDistanceListener {
@@ -22,7 +22,7 @@ class EvaluateViewModel : ViewModel(), IDistanceListener {
override fun distanceCallback(distance: Float) {
if(distance<=500) {
- OrderModel.orderBean?.orderNo?.let {
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.orderBean?.orderNo?.let {
val string = SharedPrefsMgr.getInstance().getString(orderShowEvaluate)
if (StringUtils.isEmpty(string) || !string.equals(it)) {
UiThreadHandler.post {
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicModel.kt
similarity index 88%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicModel.kt
index f483176e79..9b0e261d6a 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.model.music
+package com.mogo.och.unmanned.passenger.ui.music
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
@@ -8,14 +8,14 @@ import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatu
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import io.reactivex.disposables.Disposable
-object MusicModel : OrderListener, IOchAutopilotStatusListener {
+object MusicModel : com.mogo.och.unmanned.taxi.utils.order.OrderListener, IOchAutopilotStatusListener {
init {
- OrderModel.setOrderStatusCallback(TAG,this)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback(TAG,this)
//自动驾驶状态监听
OchAutoPilotStatusListenerManager.addListener(TAG, this)
}
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/MusicView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicView.kt
similarity index 95%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/MusicView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicView.kt
index 27677f1129..856ece399f 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/MusicView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.music
+package com.mogo.och.unmanned.passenger.ui.music
import android.content.Context
import android.util.AttributeSet
@@ -10,8 +10,8 @@ import androidx.lifecycle.findViewTreeViewModelStoreOwner
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.och.common.module.manager.audition.AuditionManager
import com.mogo.och.common.module.manager.audition.MusicData
-import com.mogo.och.taxi.passenger.common.R
-import com.mogo.och.taxi.passenger.ui.music.list.MusicListView
+import com.mogo.och.unmanned.passenger.ui.music.list.MusicListView
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_music.view.iv_toggle_list_playing
import kotlinx.android.synthetic.main.taxi_p_music.view.mlv_list
import kotlinx.android.synthetic.main.taxi_p_music.view.mpv_playing
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/MusicViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicViewModel.kt
similarity index 82%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/MusicViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicViewModel.kt
index 622faefd98..ae817153e8 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/MusicViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/MusicViewModel.kt
@@ -1,7 +1,6 @@
-package com.mogo.och.taxi.passenger.ui.music
+package com.mogo.och.unmanned.passenger.ui.music
import androidx.lifecycle.ViewModel
-import com.mogo.och.taxi.passenger.ui.model.music.MusicModel
class MusicViewModel: ViewModel() {
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListItemAdapter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListItemAdapter.kt
similarity index 97%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListItemAdapter.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListItemAdapter.kt
index e54c99bc98..b5cadfbe94 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListItemAdapter.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListItemAdapter.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.music.list
+package com.mogo.och.unmanned.passenger.ui.music.list
import android.content.Context
import android.graphics.drawable.GradientDrawable
@@ -12,7 +12,7 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.och.common.module.manager.audition.MusicData
import com.mogo.och.common.module.manager.audition.PlayState
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
/**
* Created by adityagohad on 06/06/17.
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListView.kt
similarity index 96%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListView.kt
index e2a99df21a..6ac9f328a9 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.music.list
+package com.mogo.och.unmanned.passenger.ui.music.list
import android.content.Context
import android.util.AttributeSet
@@ -9,7 +9,7 @@ import androidx.lifecycle.findViewTreeViewModelStoreOwner
import androidx.recyclerview.widget.LinearLayoutManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.och.common.module.manager.audition.MusicData
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_music_list.view.rv_music_list
class MusicListView : ConstraintLayout, MusicListViewModel.IMusicListViewCaLillback,
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListViewModel.kt
similarity index 97%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListViewModel.kt
index 8acc85631e..f10768c617 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/list/MusicListViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/list/MusicListViewModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.music.list
+package com.mogo.och.unmanned.passenger.ui.music.list
import androidx.lifecycle.ViewModel
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/playing/MusicPlayingView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/playing/MusicPlayingView.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/playing/MusicPlayingView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/playing/MusicPlayingView.kt
index 04d5cbd0b2..3331d5ec32 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/playing/MusicPlayingView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/playing/MusicPlayingView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.music.playing
+package com.mogo.och.unmanned.passenger.ui.music.playing
import android.animation.ObjectAnimator
import android.animation.ValueAnimator
@@ -18,7 +18,7 @@ import com.mogo.eagle.core.utilcode.util.TimeTransformUtils
import com.mogo.och.common.module.manager.audition.MusicData
import com.mogo.och.common.module.manager.audition.PlayState
import com.mogo.och.common.module.utils.DateTimeUtil
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_music_playing.view.iv_music_cover
import kotlinx.android.synthetic.main.taxi_p_music_playing.view.iv_music_cover_bg
import kotlinx.android.synthetic.main.taxi_p_music_playing.view.iv_show_next
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/playing/MusicPlayingViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/playing/MusicPlayingViewModel.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/playing/MusicPlayingViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/playing/MusicPlayingViewModel.kt
index fc51ac6ba1..052f38e271 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/music/playing/MusicPlayingViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/music/playing/MusicPlayingViewModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.music.playing
+package com.mogo.och.unmanned.passenger.ui.music.playing
import androidx.lifecycle.ViewModel
import com.elegant.utils.UiThreadHandler
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt
index 5b954c0329..73cd9519b5 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt
@@ -6,15 +6,16 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.NumberFormatUtil
import com.mogo.och.unmanned.taxi.passenger.R
-import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.data.taxi.BaseOrderBean
-import com.mogo.och.common.module.biz.order.OrderListener
-import com.mogo.och.common.module.biz.order.OrderModel
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
import com.mogo.och.unmanned.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
import com.mogo.och.unmanned.passenger.model.TaxiPassengerModel
import kotlin.math.ceil
-class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, OrderListener {
+class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback,
+ com.mogo.och.unmanned.taxi.utils.order.OrderListener {
private val TAG = OrderInfoViewModel::class.java.simpleName
@@ -28,7 +29,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, Ord
surplusTimeUnit = AbsMogoApplication.getApp().getString(R.string.taxi_p_surplustime)
// 设置起点和终点marker和实时车辆位置
TaxiPassengerModel.setOrderStatusCallback(TAG,this)
- OrderModel.setOrderStatusCallback(TAG,this)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback(TAG,this)
}
fun setDistanceCallback(viewCallback:ItineraryViewCallback){
@@ -39,7 +40,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, Ord
super.onCleared()
this.viewCallback = null
TaxiPassengerModel.setOrderStatusCallback(TAG,null)
- OrderModel.setOrderStatusCallback(TAG,null)
+ com.mogo.och.unmanned.taxi.utils.order.OrderModel.setOrderStatusCallback(TAG,null)
}
interface ItineraryViewCallback{
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/overmapview/IconListItemAdapter.kt
similarity index 96%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/overmapview/IconListItemAdapter.kt
index a7324cd5df..f204dba7d7 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/overmapview/IconListItemAdapter.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.overmapview
+package com.mogo.och.unmanned.passenger.ui.overmapview
import android.content.Context
import android.view.LayoutInflater
@@ -9,8 +9,8 @@ import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.function.business.travelreality.EventDrawBean
-import com.mogo.och.taxi.passenger.common.R
import androidx.recyclerview.widget.DiffUtil.Callback
+import com.mogo.och.unmanned.taxi.passenger.R
/**
* Created by yangyakun on 06/06/17.
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/overmapview/OverMapView.kt
similarity index 97%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/overmapview/OverMapView.kt
index d62a9c0e14..0c1c9a9989 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/overmapview/OverMapView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.overmapview
+package com.mogo.och.unmanned.passenger.ui.overmapview
import android.content.Context
import android.graphics.Color
@@ -14,7 +14,7 @@ import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.mogo.eagle.core.function.business.travelreality.EventDrawBean
import com.mogo.eagle.core.function.view.TravelRealityView
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_overmap.view.ovbv_bottom_icons
import kotlinx.android.synthetic.main.taxi_p_overmap.view.travelRealityView
import kotlinx.android.synthetic.main.taxi_p_overmap.view.tv_add_false
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/rodedata/OchAutomaticExplorationView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/rodedata/OchAutomaticExplorationView.kt
new file mode 100644
index 0000000000..13e9127b74
--- /dev/null
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/rodedata/OchAutomaticExplorationView.kt
@@ -0,0 +1,77 @@
+package com.mogo.och.unmanned.taxi.ui.rodedata
+
+import android.content.Context
+import android.util.AttributeSet
+import android.util.Log
+import com.mogo.eagle.core.function.hmi.ui.notice.exploration.AutomaticExplorationView
+import com.mogo.och.data.taxi.BaseOrderBean
+import com.mogo.och.data.taxi.TaxiOrderStatusEnum
+import com.mogo.och.unmanned.taxi.utils.order.OrderListener
+import com.mogo.och.unmanned.taxi.utils.order.OrderModel
+
+class OchAutomaticExplorationView @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : AutomaticExplorationView(context, attrs, defStyleAttr), OrderListener {
+ private val TAG = "OchAutomaticExplorationView"
+ init {
+ OrderModel.setOrderStatusCallback(TAG,this)
+ }
+
+ override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) {
+ if(order==null){
+ cancelTimer()
+ currentOrderStatus(false)
+ Log.i(TAG,"onCurrentOrderStatusChanged order 为空")
+ }else {
+ when (order.orderStatus) {
+ TaxiOrderStatusEnum.None.code -> {
+ cancelTimer()
+ currentOrderStatus(false)
+ Log.i(TAG,"TaxiOrderStatusEnum.None.code")
+ }
+ TaxiOrderStatusEnum.OnTheWayToStart.code -> {
+ startShowTimer()
+ currentOrderStatus(true)
+ Log.i(TAG,"TaxiOrderStatusEnum.OnTheWayToStart.code")
+ }
+ TaxiOrderStatusEnum.ArriveAtStart.code -> {
+ startShowTimer()
+ currentOrderStatus(true)
+ Log.i(TAG,"TaxiOrderStatusEnum.ArriveAtStart.code")
+ }
+ TaxiOrderStatusEnum.UserArriveAtStart.code -> {
+ startShowTimer()
+ currentOrderStatus(true)
+ Log.i(TAG,"TaxiOrderStatusEnum.UserArriveAtStart.code")
+ }
+ TaxiOrderStatusEnum.OnTheWayToEnd.code -> {
+ startShowTimer()
+ currentOrderStatus(true)
+ Log.i(TAG,"TaxiOrderStatusEnum.OnTheWayToEnd.code")
+ }
+ TaxiOrderStatusEnum.ArriveAtEnd.code -> {
+ startShowTimer()
+ currentOrderStatus(true)
+ Log.i(TAG,"TaxiOrderStatusEnum.ArriveAtEnd.code")
+ }
+ TaxiOrderStatusEnum.JourneyCompleted.code -> {
+ cancelTimer()
+ currentOrderStatus(false)
+ Log.i(TAG,"TaxiOrderStatusEnum.JourneyCompleted.code")
+ }
+ TaxiOrderStatusEnum.Cancel.code -> {
+ cancelTimer()
+ currentOrderStatus(false)
+ Log.i(TAG,"TaxiOrderStatusEnum.Cancel.code")
+ }
+ else -> {
+ cancelTimer()
+ currentOrderStatus(false)
+ Log.i(TAG,"else")
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/setting/TaxiPSettingView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/setting/TaxiPSettingView.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/setting/TaxiPSettingView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/setting/TaxiPSettingView.kt
index 4c6118be3f..3b6050f4cd 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/setting/TaxiPSettingView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/setting/TaxiPSettingView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.setting
+package com.mogo.och.unmanned.passenger.ui.setting
import android.annotation.SuppressLint
import android.content.Context
@@ -25,7 +25,7 @@ import com.mogo.eagle.core.function.call.setting.CallerRequestActivityHandleMana
import com.mogo.eagle.core.utilcode.util.BrightnessUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.common.module.wigets.MineGradientDrawable
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxi_p_setting_view.view.*
import me.jessyan.autosize.utils.AutoSizeUtils
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/LineData.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/LineData.kt
similarity index 71%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/LineData.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/LineData.kt
index 1e27d1e4cc..e851f8ba9a 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/LineData.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/LineData.kt
@@ -1,3 +1,3 @@
-package com.mogo.och.taxi.passenger.ui.simplemap
+package com.mogo.och.unmanned.passenger.ui.simplemap
data class LineData(val startPoint:NearPointView, val endPoint: NearPointView, val distance:Float, var paintDegree: PaintDegree)
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/NearPoint.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/NearPoint.kt
similarity index 81%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/NearPoint.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/NearPoint.kt
index 7a0b0dbc84..129a7bd953 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/NearPoint.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/NearPoint.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.simplemap
+package com.mogo.och.unmanned.passenger.ui.simplemap
import com.mogo.eagle.core.data.map.MogoLocation
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/NearPointView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/NearPointView.kt
similarity index 66%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/NearPointView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/NearPointView.kt
index 43ab4021c8..b5502cfa88 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/NearPointView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/NearPointView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.simplemap
+package com.mogo.och.unmanned.passenger.ui.simplemap
import android.graphics.Paint
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/PaintDegree.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/PaintDegree.kt
similarity index 96%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/PaintDegree.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/PaintDegree.kt
index ca0a7af323..c459864a79 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/PaintDegree.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/PaintDegree.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.simplemap
+package com.mogo.och.unmanned.passenger.ui.simplemap
import android.graphics.Paint
import android.graphics.Path
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/SimpleMapView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/SimpleMapView.kt
similarity index 99%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/SimpleMapView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/SimpleMapView.kt
index 32d0ddd34c..b21b8fba37 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/SimpleMapView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/SimpleMapView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.simplemap
+package com.mogo.och.unmanned.passenger.ui.simplemap
import android.animation.ArgbEvaluator
import android.content.Context
@@ -20,7 +20,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlin.math.cos
import kotlin.math.sin
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/SimpleMapViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/SimpleMapViewModel.kt
similarity index 98%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/SimpleMapViewModel.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/SimpleMapViewModel.kt
index 0ef835c142..d62ee64b3f 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/simplemap/SimpleMapViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/simplemap/SimpleMapViewModel.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.simplemap
+package com.mogo.och.unmanned.passenger.ui.simplemap
import androidx.lifecycle.ViewModel
import com.mogo.eagle.core.data.map.MogoLocation
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/statusview/StatusBarView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/statusview/StatusBarView.kt
similarity index 96%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/statusview/StatusBarView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/statusview/StatusBarView.kt
index 101bd64887..8376b60a2f 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/statusview/StatusBarView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/statusview/StatusBarView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.statusview
+package com.mogo.och.unmanned.passenger.ui.statusview
import android.content.Context
import android.os.SystemClock
@@ -15,8 +15,8 @@ import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.manager.debug.DebugViewWatchDogFragment
-import com.mogo.och.taxi.passenger.common.R
-import com.mogo.och.taxi.passenger.ui.debug.DebugEvent
+import com.mogo.och.unmanned.passenger.ui.debug.DebugEvent
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_u_p_statusview.view.vShowDebugView
import kotlinx.android.synthetic.main.taxt_u_p_statusview.view.iv_biz_icon
import me.jessyan.autosize.utils.AutoSizeUtils
diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/statusview/TaxiPBlueToothView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/statusview/TaxiPBlueToothView.kt
similarity index 95%
rename from OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/statusview/TaxiPBlueToothView.kt
rename to OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/statusview/TaxiPBlueToothView.kt
index 8677402f3d..85ea9aee6c 100644
--- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/statusview/TaxiPBlueToothView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/statusview/TaxiPBlueToothView.kt
@@ -1,4 +1,4 @@
-package com.mogo.och.taxi.passenger.ui.statusview
+package com.mogo.och.unmanned.passenger.ui.statusview
import android.annotation.SuppressLint
import android.content.Context
@@ -7,7 +7,7 @@ import android.view.LayoutInflater
import android.widget.RelativeLayout
import com.mogo.eagle.core.function.api.devatools.mofang.IMoGoMoFangProvider
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
-import com.mogo.och.taxi.passenger.common.R
+import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_u_p_blue_tooth.view.mofangView
/**
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/utils/order/OrderListener.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/utils/order/OrderListener.kt
new file mode 100644
index 0000000000..2140dce748
--- /dev/null
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/utils/order/OrderListener.kt
@@ -0,0 +1,8 @@
+package com.mogo.och.unmanned.taxi.utils.order
+
+import com.mogo.och.data.taxi.BaseOrderBean
+
+interface OrderListener {
+ // 当前进行单状态变更:新到进行中订单、进行中单状态变更
+ fun onCurrentOrderStatusChanged(order: BaseOrderBean?)
+}
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/utils/order/OrderModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/utils/order/OrderModel.kt
new file mode 100644
index 0000000000..325f836bcc
--- /dev/null
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/utils/order/OrderModel.kt
@@ -0,0 +1,56 @@
+package com.mogo.och.unmanned.taxi.utils.order
+
+import com.mogo.och.data.taxi.BaseOrderBean
+import java.util.concurrent.ConcurrentHashMap
+
+object OrderModel {
+ private val mOrderStatusCallbackMap: MutableMap = ConcurrentHashMap()
+
+ var orderBean: BaseOrderBean?=null
+ var preOrderBean: BaseOrderBean?=null
+
+ init {
+
+ }
+
+ fun setOrderStatusCallback(tag: String?, callback: OrderListener?) {
+ if (tag == null || "" == tag) return
+ if (callback == null) {
+ mOrderStatusCallbackMap.remove(tag)
+ return
+ }
+ mOrderStatusCallbackMap[tag] = callback
+ }
+
+ fun invokeListener(newOrderBean: T?){
+ preOrderBean?.let {
+ if(newOrderBean!=null){
+ if(it.orderNo==newOrderBean.orderNo){
+ return
+ }
+ }
+ }
+ if(orderBean ==null){
+ orderBean = newOrderBean
+ }else {
+ if(newOrderBean==null){
+ preOrderBean = orderBean
+ orderBean = null
+ }else{
+ if(orderBean!!.orderNo == newOrderBean.orderNo){
+ if(orderBean!!.orderStatus >= newOrderBean.orderStatus){
+ return
+ }else{
+ orderBean = newOrderBean
+ }
+ }else{
+ orderBean = newOrderBean
+ }
+ }
+ }
+
+ for (callback in mOrderStatusCallbackMap.values) {
+ callback.onCurrentOrderStatusChanged(newOrderBean)
+ }
+ }
+}
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/widget/ConsultVideoPlayer.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/widget/ConsultVideoPlayer.kt
index cb2f1ddd09..1f1a938879 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/widget/ConsultVideoPlayer.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/widget/ConsultVideoPlayer.kt
@@ -22,8 +22,8 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager
import com.mogo.och.common.module.wigets.media.MediaItem
+import com.mogo.och.unmanned.passenger.ui.statusview.StatusBarView
import com.mogo.och.unmanned.taxi.passenger.R
-import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
import com.mogo.och.unmanned.passenger.ui.video.FullVideoUtils
import com.mogo.och.unmanned.passenger.utils.ZoomDrawable
import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_001.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_001.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_001.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_001.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_002.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_002.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_002.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_002.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_003.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_003.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_003.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_003.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_004.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_004.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_004.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_004.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_005.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_005.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_005.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_005.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_006.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_006.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_006.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_006.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_007.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_007.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_007.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_007.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_008.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_008.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_008.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_008.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_009.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_009.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_009.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_009.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_010.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_010.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_010.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_010.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_011.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_011.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_011.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_011.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_012.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_012.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_012.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_012.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_013.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_013.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_013.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_013.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_014.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_014.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_014.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_014.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_015.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_015.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_015.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_015.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_016.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_016.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_016.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_016.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_017.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_017.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_017.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_017.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_018.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_018.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_018.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_018.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_019.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_019.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_019.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_019.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_020.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_020.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_020.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_020.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_021.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_021.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_021.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_021.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_022.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_022.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_022.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_022.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_023.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_023.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_023.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_023.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_024.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_024.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_024.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_024.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_025.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_025.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_025.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_025.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_026.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_026.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_026.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_026.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_027.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_027.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_027.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_027.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_028.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_028.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_028.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_028.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_029.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_029.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_029.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_029.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_030.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_030.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_030.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_030.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_031.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_031.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_031.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_031.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_032.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_032.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_032.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_032.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_033.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_033.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_033.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_033.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_034.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_034.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_034.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_034.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_035.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_035.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_035.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_035.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_036.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_036.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_036.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_036.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_037.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_037.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_037.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_037.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_038.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_038.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_038.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_038.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_039.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_039.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_039.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_039.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_040.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_040.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_040.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_040.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_041.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_041.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_041.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_041.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_042.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_042.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_042.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_042.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_043.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_043.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_043.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_043.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_044.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_044.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_044.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_044.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_045.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_045.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_045.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_045.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_046.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_046.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_046.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_046.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_047.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_047.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_047.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_047.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_048.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_048.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_048.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_048.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_049.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_049.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_049.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_049.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_050.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_050.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_050.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_050.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_051.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_051.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_051.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_051.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_052.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_052.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_052.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_052.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_053.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_053.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_053.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_053.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_054.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_054.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_054.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_054.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_055.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_055.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_055.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_055.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_056.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_056.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_056.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_056.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_057.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_057.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_057.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_057.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_058.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_058.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_058.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_058.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_059.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_059.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_059.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_059.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_060.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_060.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_060.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_060.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_000.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_000.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_000.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_000.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_001.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_001.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_001.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_001.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_002.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_002.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_002.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_002.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_003.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_003.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_003.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_003.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_004.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_004.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_004.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_004.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_005.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_005.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_005.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_005.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_006.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_006.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_006.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_006.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_007.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_007.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_007.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_007.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_008.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_008.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_008.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_008.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_009.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_009.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_009.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_009.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_010.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_010.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_010.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_010.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_011.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_011.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_011.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_011.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_012.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_012.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_012.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_012.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_013.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_013.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_013.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_013.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_014.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_014.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_014.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_014.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_015.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_015.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_015.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_015.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_016.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_016.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_016.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_016.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_017.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_017.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/arrive_dest_great_017.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/arrive_dest_great_017.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_000.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_000.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_000.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_000.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_001.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_001.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_001.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_001.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_002.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_002.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_002.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_002.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_003.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_003.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_003.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_003.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_004.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_004.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_004.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_004.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_005.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_005.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_005.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_005.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_006.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_006.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_006.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_006.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_007.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_007.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_007.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_007.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_008.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_008.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_008.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_008.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_009.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_009.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_009.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_009.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_010.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_010.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_010.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_010.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_011.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_011.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_011.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_011.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_012.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_012.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_012.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_012.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_013.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_013.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_013.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_013.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_014.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_014.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_014.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_014.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_015.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_015.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_015.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_015.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_016.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_016.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_016.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_016.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_017.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_017.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_017.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_017.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_018.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_018.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_018.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_018.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_019.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_019.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_019.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_019.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_020.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_020.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_020.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_020.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_021.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_021.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_021.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_021.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_022.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_022.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_022.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_022.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_023.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_023.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_023.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_023.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_024.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_024.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_024.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_024.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_025.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_025.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_025.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_025.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_026.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_026.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_026.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_026.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_027.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_027.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_027.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_027.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_028.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_028.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_028.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_028.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_029.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_029.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_029.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_029.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_030.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_030.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_030.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_030.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_031.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_031.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_031.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_031.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_032.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_032.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_032.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_032.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_033.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_033.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_033.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_033.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_034.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_034.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_034.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_034.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_035.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_035.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_035.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_035.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_036.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_036.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_036.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_036.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_037.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_037.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_037.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_037.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_038.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_038.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_038.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_038.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_039.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_039.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_039.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_039.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_040.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_040.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_040.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_040.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_041.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_041.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_041.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_041.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_042.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_042.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_042.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_042.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_043.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_043.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_043.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_043.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_044.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_044.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_044.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_044.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_045.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_045.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_045.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_045.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_046.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_046.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_046.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_046.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_047.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_047.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_047.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_047.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_048.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_048.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_048.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_048.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_049.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_049.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_049.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_049.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_050.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_050.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_050.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_050.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_051.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_051.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_051.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_051.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_052.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_052.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_052.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_052.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_053.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_053.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_053.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_053.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_054.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_054.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_054.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_054.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_055.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_055.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_055.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_055.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_056.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_056.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_056.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_056.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_057.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_057.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_057.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_057.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_058.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_058.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_058.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_058.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_059.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_059.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_059.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_059.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_060.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_060.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/check2startautopilt_060.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/check2startautopilt_060.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00000.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00000.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00000.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00000.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00000_0.webp b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00000_0.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00000_0.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00000_0.webp
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00001.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00001.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00001.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00001.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00002.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00002.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00002.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00002.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00003.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00003.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00003.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00003.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00004.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00004.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00004.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00004.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00005.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00005.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00005.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00005.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00006.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00006.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00006.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00006.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00007.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00007.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00007.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00007.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00008.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00008.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00008.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00008.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00009.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00009.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00009.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00009.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00010.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00010.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00010.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00010.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00011.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00011.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00011.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00011.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00012.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00012.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00012.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00012.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00013.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00013.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00013.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00013.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00014.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00014.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00014.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00014.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00015.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00015.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00015.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00015.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00016.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00016.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00016.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00016.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00017.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00017.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00017.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00017.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00018.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00018.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00018.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00018.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00019.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00019.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00019.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00019.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00020.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00020.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00020.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00020.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00021.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00021.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00021.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00021.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00022.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00022.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00022.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00022.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00023.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00023.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00023.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00023.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00024.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00024.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00024.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00024.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00025.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00025.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00025.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00025.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00026.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00026.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00026.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00026.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00027.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00027.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00027.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00027.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00028.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00028.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00028.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00028.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00029.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00029.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00029.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00029.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00030.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00030.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00030.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00030.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00031.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00031.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00031.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00031.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00032.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00032.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00032.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00032.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00033.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00033.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00033.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00033.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00034.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00034.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/image_00034.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/image_00034.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00000.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00000.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00000.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00000.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00001.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00001.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00001.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00001.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00002.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00002.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00002.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00002.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00003.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00003.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00003.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00003.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00004.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00004.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00004.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00004.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00005.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00005.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00005.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00005.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00006.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00006.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00006.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00006.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00007.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00007.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00007.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00007.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00008.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00008.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00008.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00008.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00009.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00009.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00009.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00009.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00010.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00010.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00010.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00010.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00011.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00011.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00011.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00011.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00012.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00012.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00012.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00012.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00013.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00013.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00013.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00013.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00014.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00014.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00014.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00014.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00015.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00015.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00015.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00015.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00016.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00016.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00016.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00016.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00017.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00017.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00017.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00017.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00018.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00018.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/light_00018.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/light_00018.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_000.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_000.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_000.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_000.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_001.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_001.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_001.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_001.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_002.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_002.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_002.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_002.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_003.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_003.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_003.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_003.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_004.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_004.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_004.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_004.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_005.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_005.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_005.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_005.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_006.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_006.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_006.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_006.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_007.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_007.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_007.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_007.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_008.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_008.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_008.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_008.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_009.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_009.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_009.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_009.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_010.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_010.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_010.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_010.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_011.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_011.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_011.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_011.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_012.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_012.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_012.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_012.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_013.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_013.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_013.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_013.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_014.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_014.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_014.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_014.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_015.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_015.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_015.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_015.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_016.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_016.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_016.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_016.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_017.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_017.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_017.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_017.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_018.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_018.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_018.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_018.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_019.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_019.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_019.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_019.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_020.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_020.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_020.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_020.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_021.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_021.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_021.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_021.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_022.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_022.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_022.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_022.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_023.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_023.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_023.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_023.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_024.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_024.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_024.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_024.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_025.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_025.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_025.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_025.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_026.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_026.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_026.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_026.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_027.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_027.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_027.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_027.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_028.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_028.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_028.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_028.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_029.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_029.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_029.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_029.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_030.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_030.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_030.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_030.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_031.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_031.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_031.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_031.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_032.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_032.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_032.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_032.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_033.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_033.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_033.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_033.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_034.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_034.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_034.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_034.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_035.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_035.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_035.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_035.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_036.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_036.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_036.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_036.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_037.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_037.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_037.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_037.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_038.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_038.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_038.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_038.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_039.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_039.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_039.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_039.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_040.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_040.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_040.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_040.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_041.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_041.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_041.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_041.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_042.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_042.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_042.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_042.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_043.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_043.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_043.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_043.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_044.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_044.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_044.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_044.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_045.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_045.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_045.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_045.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_046.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_046.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_046.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_046.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_047.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_047.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_047.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_047.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_048.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_048.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_048.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_048.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_049.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_049.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_049.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_049.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_050.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_050.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_050.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_050.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_051.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_051.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_051.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_051.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_052.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_052.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_052.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_052.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_053.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_053.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_053.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_053.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_054.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_054.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_054.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_054.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_055.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_055.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_055.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_055.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_056.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_056.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_056.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_056.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_057.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_057.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_057.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_057.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_058.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_058.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_058.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_058.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_059.png b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_059.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_059.png
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable-nodpi/taxi_p_start_auto_059.png
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable/temp_arrive_dest_ani.xml b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_arrive_dest_ani.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable/temp_arrive_dest_ani.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_arrive_dest_ani.xml
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable/temp_check2startautopilt_ani.xml b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_check2startautopilt_ani.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable/temp_check2startautopilt_ani.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_check2startautopilt_ani.xml
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable/temp_light_ani.xml b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_light_ani.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable/temp_light_ani.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_light_ani.xml
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable/temp_start_autopilot_ani.xml b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_start_autopilot_ani.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable/temp_start_autopilot_ani.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_start_autopilot_ani.xml
diff --git a/OCH/taxi/pcommon/src/main/res/ani/drawable/temp_startautopilt_fail_ani.xml b/OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_startautopilt_fail_ani.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/drawable/temp_startautopilt_fail_ani.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/drawable/temp_startautopilt_fail_ani.xml
diff --git a/OCH/taxi/pcommon/src/main/res/ani/values/arrays.xml b/OCH/taxi/unmanned-passenger/src/main/res/ani/values/arrays.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/ani/values/arrays.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/ani/values/arrays.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_evaluate_close.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_evaluate_close.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_evaluate_close.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_evaluate_close.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_evaluate_great.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_evaluate_great.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_evaluate_great.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_evaluate_great.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_evaluate_low.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_evaluate_low.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_evaluate_low.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_evaluate_low.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_function_voice_humb.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_function_voice_humb.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_function_voice_humb.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_function_voice_humb.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_light_increase_set.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_light_increase_set.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_light_increase_set.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_light_increase_set.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_light_set.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_light_set.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_light_set.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_light_set.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_voice_increase_set.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_voice_increase_set.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_voice_increase_set.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_voice_increase_set.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_voice_set.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_voice_set.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_iv_voice_set.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_iv_voice_set.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_left_bar_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_left_bar_bg.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_left_bar_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_left_bar_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_checked.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_checked.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_checked.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_checked.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_list_playing.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_list_playing.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_list_playing.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_list_playing.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_next.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_next.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_next.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_next.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_normal.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_normal.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_normal.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_normal.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_pause.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_pause.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_pause.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_pause.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_play.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_play.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_play.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_play.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_pre.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_pre.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_pre.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_pre.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_thumb.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_thumb.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_music_thumb.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_music_thumb.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_only_center_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_only_center_bg.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_only_center_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_only_center_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_ordering.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_ordering.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_ordering.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_ordering.png
diff --git a/OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png
similarity index 100%
rename from OCH/taxi/passenger/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_passenger_arrived_close.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_play_music_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_play_music_bg.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_play_music_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_play_music_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_reset_location_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_reset_location_bg.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_reset_location_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_reset_location_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_setting_checked.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_setting_checked.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_setting_checked.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_setting_checked.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_setting_music_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_setting_music_bg.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_setting_music_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_setting_music_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_setting_view_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_setting_view_bg.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_setting_view_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_setting_view_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_station_end.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_station_end.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_station_end.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_station_end.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_title_bottom.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_title_bottom.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_title_bottom.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_title_bottom.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_title_head.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_title_head.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_title_head.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_title_head.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_unorder.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_unorder.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_unorder.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_unorder.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_arrived_glide.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_arrived_glide.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_arrived_glide.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_arrived_glide.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_bar_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_bar_bg.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_bar_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_bar_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_bar_select_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_bar_select_bg.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_bar_select_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_bar_select_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_normal.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_normal.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_normal.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_normal.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_press.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_press.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_press.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_overmap_press.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_normal.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_normal.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_normal.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_normal.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_press.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_press.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_press.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_precisionmap_press.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_video_normal.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_video_normal.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_video_normal.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_video_normal.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_video_press.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_video_press.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_bottom_video_press.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_bottom_video_press.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_go2_list.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_go2_list.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_go2_list.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_go2_list.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_go2_playing.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_go2_playing.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_go2_playing.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_go2_playing.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_greate_text.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_greate_text.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_greate_text.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_greate_text.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_location_center_checked.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_location_center_checked.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_location_center_checked.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_location_center_checked.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_location_center_normal.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_location_center_normal.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_location_center_normal.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_location_center_normal.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg_middle.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg_middle.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg_middle.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg_middle.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_bottom.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_bottom.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_bottom.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_bottom.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_head.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_head.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_head.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_music_bg_relax_head.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_right_rear_cam.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_right_rear_cam.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_right_rear_cam.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_right_rear_cam.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_setting_normal.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_setting_normal.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_setting_normal.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_setting_normal.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_start_auto.webp b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_start_auto.webp
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_p_start_auto.webp
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_p_start_auto.webp
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_close.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_close.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_close.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_close.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_open.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_open.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_open.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_blue_tooth_open.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_map_car_light.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_map_car_light.png
old mode 100755
new mode 100644
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_map_car_light.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_map_car_light.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_end.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_end.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_end.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_end.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_start.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_start.png
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_start.png
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxt_u_p_map_view_dir_start.png
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_center_location_selector.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_center_location_selector.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_center_location_selector.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_center_location_selector.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_function_voice_right_process_humb.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_function_voice_right_process_humb.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_function_voice_right_process_humb.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_function_voice_right_process_humb.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_left_bar_split.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_left_bar_split.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_left_bar_split.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_left_bar_split.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_list_bottom.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_list_bottom.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_list_bottom.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_list_bottom.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_list_item_bg.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_list_item_bg.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_list_item_bg.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_list_item_bg.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_list_tag_bg.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_list_tag_bg.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_list_tag_bg.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_list_tag_bg.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_seekbar_thumb.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_seekbar_thumb.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_seekbar_thumb.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_seekbar_thumb.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_selector.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_selector.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_music_selector.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_music_selector.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxi_p_setting_selector.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_setting_selector.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxi_p_setting_selector.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxi_p_setting_selector.xml
diff --git a/OCH/taxi/pcommon/src/main/res/drawable/taxt_p_music_seekbar_style.xml b/OCH/taxi/unmanned-passenger/src/main/res/drawable/taxt_p_music_seekbar_style.xml
similarity index 100%
rename from OCH/taxi/pcommon/src/main/res/drawable/taxt_p_music_seekbar_style.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/drawable/taxt_p_music_seekbar_style.xml
diff --git a/OCH/taxi/pcommon/src/main/res/layout/taxi_p_arrived_end_panel.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml
similarity index 97%
rename from OCH/taxi/pcommon/src/main/res/layout/taxi_p_arrived_end_panel.xml
rename to OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml
index ce5089b957..28228b207d 100644
--- a/OCH/taxi/pcommon/src/main/res/layout/taxi_p_arrived_end_panel.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml
@@ -50,7 +50,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
-
-
-
-
-
-
-
-
@@ -106,7 +106,7 @@
app:layout_constraintTop_toTopOf="parent" />
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29,18 +46,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/values/colors.xml b/OCH/taxi/unmanned-passenger/src/main/res/values/colors.xml
index 76d73b23dc..6c546c9d69 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/values/colors.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/values/colors.xml
@@ -66,6 +66,29 @@
#6C8BB9
+ #253A5A
+ #303C52
+ #425877
+ #576887
+ #4DFFFFFF
+ #44488ED0
+ #1A488ED0
+ #598CFF
+ #2CBFFC
+ #1060ff
+ #96a5c2
+ #374968
+ #131415
+ #80FFFFFF
+ #76D7FF
+ #373B46
+
+ #111D2F
+ #41444D
+
+ #9EB0D3
+ #009EB0D3
+
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/values/strings.xml b/OCH/taxi/unmanned-passenger/src/main/res/values/strings.xml
index 715cf4fee6..29fcc1a9a9 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/values/strings.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/values/strings.xml
@@ -45,5 +45,10 @@
亮度
音量
+ 亮度
+ 音量
+
+ 蘑菇资讯
+
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 3ef1a4e2c2..8c8c9db7e8 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -64,7 +64,7 @@ include ':test:crashreport-apmbyte'
//include ':OCH:taxi:driver'
//include ':OCH:taxi:passenger'
-include ':OCH:taxi:pcommon'
+//include ':OCH:taxi:pcommon'
include ':OCH:taxi:unmanned-driver'
include ':OCH:taxi:unmanned-passenger'