diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusOrder.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusOrder.java index 48ae1419e9..b1a1208681 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusOrder.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/OchBusOrder.java @@ -17,14 +17,14 @@ public class OchBusOrder { * endStationName string */ - private long orderNo; + private String orderNo; private String passengerPhone; private int startStationId;//乘客上车点 private String startStationName; private String endStationName; private int endStationId;//乘客下车点 - public void setOrderNo(long orderNo) { + public void setOrderNo(String orderNo) { this.orderNo = orderNo; } @@ -48,7 +48,7 @@ public class OchBusOrder { this.endStationId = endStationId; } - public long getOrderNo() { + public String getOrderNo() { return orderNo; } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java index 48ca2ba917..98105058b8 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java @@ -22,7 +22,7 @@ class QueryLeaveAwayPassengersResponse extends BaseData { public static class LeaveAwayPassenger { /** - * orderId: 订单id + * orderNo: 订单no * orderStatus: 订单状态 * orderType:订单类型:0及时,1预约 * bookingTime:预计用车时间 @@ -40,7 +40,7 @@ class QueryLeaveAwayPassengersResponse extends BaseData { * endSiteGcjPoint: */ //todo 目前是需要乘客电话来通知乘客下车 目前后台没有乘客信息userPhone - public long orderNo; + public String orderNo; public int orderStatus; public int orderType; public long bookingTime; diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java index 5f240f4175..3ba0aa2c76 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java @@ -81,7 +81,8 @@ public interface IOchBusApiService { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/order/v2/bus/driving/siteArrivedOrders") +// @POST("/autopilot-car-hailing/order/v2/bus/driving/siteArrivedOrders") + @POST("/autopilot-car-hailing/order/v2/driver/bus/driving/siteArrivedOrders") // @POST("/mock/268/autopilot-car-hailing/bus/api/driving/siteArrivedOrders") Observable< QueryLeaveAwayPassengersResponse > queryStationLeaveAwayPassengers(@Header ("appId") String appId,@Header("ticket") String ticket,@Body QueryLeaveAwayPassengersRequest request); @@ -119,7 +120,8 @@ public interface IOchBusApiService { Observable queryOperationStatus(@Header ("appId") String appId,@Header("ticket") String ticket,@Query("sn") String sn); @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/autopilot-car-hailing/order/v2/bus/servicingOrders/query") +// @GET("/autopilot-car-hailing/order/v2/bus/servicingOrders/query") + @GET("/autopilot-car-hailing/order/v2/driver/bus/servicingOrders/query") // @GET("/mock/268/autopilot-car-hailing/bus/api/servicingOrders/query") Observable queryBusOrders(@Header ("appId") String appId,@Header("ticket") String ticket,@Query("sn") String sn); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusOrderModel.java index 442ab9d760..eeebb658bd 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusOrderModel.java @@ -78,7 +78,7 @@ public class OchBusOrderModel { public double mLatitude = 0; private Context mContext; private Disposable mBusOrdersDisposable; //定时轮询小巴车订单 - private List prevBusOrderIds = new ArrayList<>(); + private List prevBusOrderNos = new ArrayList<>(); private final List< OchBusStation > stationList = new ArrayList<>(); private OchBusRoutesResult ochBusRoutesResult = null; /** @@ -221,7 +221,7 @@ public class OchBusOrderModel { OchBusOrder order = busOrders.get(i); if (order == null) return; if (TextUtils.isEmpty(order.getPassengerPhone())) return; - if (prevBusOrderIds.contains(order.getOrderNo())) continue; + if (prevBusOrderNos.contains(order.getOrderNo())) continue; try { String tailNum = null; try { @@ -233,7 +233,7 @@ public class OchBusOrderModel { Logger.d(TAG, "TTS:" + tailNum); AIAssist.getInstance(mContext).speakTTSVoice("接到新订单,尾号 " + tailNum + " 上车站点为 " + order.getStartStationName()); - prevBusOrderIds.add(order.getOrderNo()); + prevBusOrderNos.add(order.getOrderNo()); } catch (Exception e) { e.printStackTrace(); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data new file mode 100755 index 0000000000..7b45019d1f Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style.data differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/assets/map_style_extra.data b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style_extra.data new file mode 100755 index 0000000000..bdbcef7abb Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/assets/map_style_extra.data differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java index 9d69dee401..711e9d911f 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryReqBean.java @@ -8,9 +8,9 @@ package com.mogo.och.taxi.passenger.bean; public class TaxiPassengerOrderQueryReqBean { public String sn; - public long orderNo; + public String orderNo; - public TaxiPassengerOrderQueryReqBean(String sn, long orderNo) { + public TaxiPassengerOrderQueryReqBean(String sn, String orderNo) { this.sn = sn; this.orderNo = orderNo; } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java index 2949fdcdd2..865547a919 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerOrderQueryRespBean.java @@ -14,8 +14,8 @@ public class TaxiPassengerOrderQueryRespBean extends BaseData { public Result data; public static class Result implements Comparable{ - // 订单id - public long orderNo; + // 订单no + public String orderNo; // 订单类型 public int orderType; //1即时单 2预约单 // 订单状态 @@ -63,8 +63,8 @@ public class TaxiPassengerOrderQueryRespBean extends BaseData { @Override public int compareTo(Result o) { - long result = this.orderNo - o.orderNo; - return result == 0 ? 0 : (result > 0 ? 1 : -1); + boolean isEqual = this.orderNo.equals(o.orderNo); + return isEqual ? 0 : 1; } @Override diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerMapViewCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerMapViewCallback.java new file mode 100644 index 0000000000..f26039ec07 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerMapViewCallback.java @@ -0,0 +1,9 @@ +package com.mogo.och.taxi.passenger.callback; + +/** + * @author: wangmingjun + * @date: 2022/3/10 + */ +public interface ITaxiPassengerMapViewCallback { + void onCameraChange(float bearing); +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerVeloctityCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerVeloctityCallback.java new file mode 100644 index 0000000000..50cf8d8a65 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerVeloctityCallback.java @@ -0,0 +1,10 @@ +package com.mogo.och.taxi.passenger.callback; + +/** + * @author: wangmingjun + * @date: 2022/3/13 + */ +public interface ITaxiPassengerVeloctityCallback { + //限速 + void onLimitingVelocityChange(int limitingVelocity); +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt index bd1cbd5064..c2b9f431a0 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt @@ -9,7 +9,8 @@ class TaxiPassengerConst { companion object { private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" - private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" +// private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" + private const val BASE_URL_OCH_QA = "http://tech-dev.zhidaohulian.com" private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" @JvmStatic diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index e01d3bdbd6..16feaea347 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -19,8 +19,10 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.v2x.LimitingVelocityListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; +import com.mogo.eagle.core.function.call.v2x.CallLimitingVelocityListenerManager; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; @@ -33,6 +35,7 @@ import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerAutopilotPlanningCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerVeloctityCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceCallback; @@ -68,8 +71,6 @@ public class TaxiPassengerModel { private Context mContext; private volatile int mPrevAPStatus = -1; //前一次自动驾驶状态值 - private volatile int mOCHCarStatus = -1; //出车/收车状态:1 出车;0 收车 - private volatile long mPrevOrderId = -1; //前一次的新到单id(当次和前一次orderId相同时,本次不再弹出) private volatile TaxiPassengerOrderQueryRespBean.Result mCurrentOCHOrder; //当前订单 private volatile List mInServiceList = Collections.emptyList(); //进行中订单 private volatile List mWaitServiceList = Collections.emptyList(); //待服务订单 @@ -77,20 +78,24 @@ public class TaxiPassengerModel { private IOCHTaxiPassengerADASStatusCallback mADASStatusCallback; //Model->Presenter:自动驾驶状态相关 private IOCHTaxiPassengerControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等 private IOCHTaxiPassengerOrderStatusCallback mOrderStatusCallback; //Model->Presenter:订单变更 - private IOCHTaxiPassengerAutopilotPlanningCallback mAutopilotPlanningCallback; //Model->Presenter:自动驾驶线路规划 + private ITaxiPassengerVeloctityCallback mVeloctityCallback;//道路限速返回 + private double mLongitude, mLatitude; private TaxiPassengerModel() { } + public void setMoGoAutopilotPlanningListener(IOCHTaxiPassengerAutopilotPlanningCallback moGoAutopilotPlanningCallback) { this.mAutopilotPlanningCallback = moGoAutopilotPlanningCallback; } + public void setADASStatusCallback(IOCHTaxiPassengerADASStatusCallback callback) { this.mADASStatusCallback = callback; } + public void setControllerStatusCallback(IOCHTaxiPassengerControllerStatusCallback callback) { this.mControllerStatusCallback = callback; } @@ -99,6 +104,10 @@ public class TaxiPassengerModel { this.mOrderStatusCallback = callback; } + public void setVeloctityCallback(ITaxiPassengerVeloctityCallback callback){ + this.mVeloctityCallback = callback; + } + public void init( Context context ) { mContext = context.getApplicationContext(); initListeners(); @@ -110,14 +119,16 @@ public class TaxiPassengerModel { if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) { apis.getLocationInfoApi().start(); } - if (NetworkUtils.isConnected(mContext)) { - startOrStopOrderLoop(mOCHCarStatus == 1); - } } -// public void startOrStopOrderLoop(){ -// startOrStopOrderLoop(mOCHCarStatus == 1); -// } + /** + * 订单轮询 + */ + public void startOrStopOrderLoop(){ + if (NetworkUtils.isConnected(mContext)) { + startOrStopOrderLoop(true); + } + } public void release() { startOrStopOrderLoop(false); @@ -148,6 +159,9 @@ public class TaxiPassengerModel { //2021.11.1 自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG,moGoAutopilotPlanningListener); + + //增加限速监听 + CallLimitingVelocityListenerManager.INSTANCE.addListener(TAG,limitingVelocityListener); } private void releaseListeners() { @@ -211,7 +225,7 @@ public class TaxiPassengerModel { //1.1.2. 当本地有currentOrder: //orderId不一致时:通过currentOrder.orderId查询订单状态,并通知ui更新 //orderId一致且orderStatus不一致时:则更新currentOrder,并通知ui更新 - if (mCurrentOCHOrder.orderNo != data.data.servicing.get(0).orderNo) { + 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)); @@ -240,13 +254,13 @@ public class TaxiPassengerModel { if (mCurrentOCHOrder == null) { return; } - final long orderId = mCurrentOCHOrder.orderNo; - TaxiPassengerServiceManager.getInstance().queryOrderById(mContext, orderId, + final String orderNo = mCurrentOCHOrder.orderNo; + TaxiPassengerServiceManager.getInstance().queryOrderById(mContext, orderNo, new TaxiPassengerServiceCallback() { @Override public void onSuccess(TaxiPassengerOrderQueryRespBean data) { if (data != null && data.data != null - && mCurrentOCHOrder != null && mCurrentOCHOrder.orderNo == data.data.orderNo) { + && mCurrentOCHOrder != null && mCurrentOCHOrder.orderNo.equals(data.data.orderNo)) { if (data.data.orderStatus == TaxiPassengerOrderStatusEnum.Cancel.getCode() || data.data.orderStatus == TaxiPassengerOrderStatusEnum.JourneyCompleted.getCode() || data.data.orderStatus == TaxiPassengerOrderStatusEnum.None.getCode()) { @@ -346,7 +360,7 @@ public class TaxiPassengerModel { if ( ConnectivityManager.CONNECTIVITY_ACTION.equals( intentStr ) ) { if ( NetworkUtils.isConnected( mContext ) ) { if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - startOrStopOrderLoop(mOCHCarStatus == 1); + startOrStopOrderLoop(true); } } } @@ -484,9 +498,9 @@ public class TaxiPassengerModel { if (DebugConfig.isDebug()) { // TipToast.shortTip("到达目的地"); } -// updateOCHOrderStatus(OrderStatusEnum.ArriveAtEndStation); } }; + private IMoGoAutopilotPlanningListener moGoAutopilotPlanningListener = new IMoGoAutopilotPlanningListener(){ @Override @@ -498,6 +512,20 @@ public class TaxiPassengerModel { public void onAutopilotRotting(AutopilotRouteInfo routeList) { if (null != routeList && routeList.getModels() != null){ mAutopilotPlanningCallback.routeResult(routeList.getModels()); + + } + } + }; + + /** + * 限速监听 + */ + private LimitingVelocityListener limitingVelocityListener = new LimitingVelocityListener(){ + + @Override + public void onLimitingVelocityChange(int limitingVelocity) { + if (mVeloctityCallback != null){ + mVeloctityCallback.onLimitingVelocityChange(limitingVelocity); } } }; diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java index f3d296a27d..74de6dc5ba 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java @@ -31,7 +31,7 @@ interface TaxiPassengerServiceApi { /** - * 通过orderId查询订单信息(用于本地已经有orderId时) + * 通过orderNo查询订单信息(用于本地已经有orderNo时) * @param data * @return * @deprecated v2.1_0930需求中暂不再使用此接口 diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java index 65d87940d0..6b89e55f61 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java @@ -42,6 +42,15 @@ public class TaxiPassengerServiceManager { } } + /** + * 获取司机端的sn + * @return + */ + private String getDriverAppSn(){ +// return CallerTelematicManager.INSTANCE.getServerToken(); + return "X2020211215MEGXQZJ"; + } + /** * 查询全部服务中/待服务订单列表 * @param context @@ -55,7 +64,7 @@ public class TaxiPassengerServiceManager { } mOCHTaxiServiceApi.queryOrdersInAndWaitService(MoGoAiCloudClientConfig.getInstance().getServiceAppId() ,MoGoAiCloudClientConfig.getInstance().getToken() - ,CallerTelematicManager.INSTANCE.getServerToken()) //获取到司机端的sn + ,getDriverAppSn()) //获取到司机端的sn .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getSubscribeImpl(context, callback, "queryOrdersInAndWaitService")); @@ -64,11 +73,11 @@ public class TaxiPassengerServiceManager { /** * 通过orderId查询订单信息(用于本地已经有orderId时) * @param context - * @param orderId + * @param orderNo * @param callback * @deprecated v2.1_0930需求中暂不再使用此接口 */ - public void queryOrderById(Context context, long orderId, + public void queryOrderById(Context context, String orderNo, TaxiPassengerServiceCallback callback) { if ( mOCHTaxiServiceApi == null ) { mOCHTaxiServiceApi = MogoApisHandler.getInstance().getApis().getNetworkApi() @@ -76,8 +85,7 @@ public class TaxiPassengerServiceManager { } mOCHTaxiServiceApi.queryOrderById(MoGoAiCloudClientConfig.getInstance().getServiceAppId() ,MoGoAiCloudClientConfig.getInstance().getToken() - ,new TaxiPassengerOrderQueryReqBean( - CallerTelematicManager.INSTANCE.getServerToken(), orderId)) //获取到司机端的sn + ,new TaxiPassengerOrderQueryReqBean(getDriverAppSn(), orderNo)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getSubscribeImpl(context, callback, "queryOrderById")); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index e8e7963afa..8a1aa4c861 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -9,26 +9,24 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback; -import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerAutopilotPlanningCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment; -import java.util.List; - /** * @author: wangmingjun * @date: 2022/3/4 */ -public class BaseTaxiPassengerPresenter extends Presenter implements IOCHTaxiPassengerADASStatusCallback, IOCHTaxiPassengerControllerStatusCallback , IOCHTaxiPassengerOrderStatusCallback, IOCHTaxiPassengerAutopilotPlanningCallback { +public class BaseTaxiPassengerPresenter extends Presenter implements + IOCHTaxiPassengerADASStatusCallback, IOCHTaxiPassengerControllerStatusCallback, + IOCHTaxiPassengerOrderStatusCallback { private static final String TAG = BaseTaxiPassengerPresenter.class.getSimpleName(); @@ -54,14 +52,12 @@ public class BaseTaxiPassengerPresenter extends Presenter mView.updateSpeedView(location.getSpeed())); - mView.updateLocation(location.getLatitude(),location.getLongitude()); } } - @Override - public void routeResult(List models) { - mView.routeResult(models); - } - @Override public void onCurrentOrderStatusChanged(TaxiPassengerOrderQueryRespBean.Result order) { Log.d(TAG,"order = "+order.toString()); - mView.updateCurrentOrderStatusChanged(order); + if (TaxiPassengerOrderStatusEnum.ArriveAtStartStation.getCode() == order.orderStatus){ + mView.showOrHideServingOrderFragment(true); + return; + } + if (TaxiPassengerOrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus){ + mView.showOrHideServingOrderFragment(false); + return; + } } @Override diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/ITaxiPassengerMapDirectionView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/ITaxiPassengerMapDirectionView.java new file mode 100644 index 0000000000..533c98f4ed --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/ITaxiPassengerMapDirectionView.java @@ -0,0 +1,18 @@ +package com.mogo.och.taxi.passenger.ui; + +/** + * @author xiaoyuzhou + * @date 2021/6/24 11:33 上午 + */ +public interface ITaxiPassengerMapDirectionView { + + /** + * 绘制路径线 + */ + void drawablePolyline(); + + /** + * 清除路径线 + */ + void clearPolyline(); +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/ITaxiPassengerServingOrderFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/ITaxiPassengerServingOrderFragment.java new file mode 100644 index 0000000000..7de00bf6b2 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/ITaxiPassengerServingOrderFragment.java @@ -0,0 +1,359 @@ +package com.mogo.och.taxi.passenger.ui; + +import android.location.Location; +import android.os.Build; +import android.os.Bundle; +import android.os.Looper; +import android.text.SpannableStringBuilder; +import android.util.Log; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.RotateAnimation; +import android.widget.ImageView; +import android.widget.SeekBar; +import android.widget.TextView; + +import androidx.annotation.RequiresApi; + +import com.mogo.commons.mvp.BaseFragment; +import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; +import com.mogo.eagle.core.data.map.MogoLatLng; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; +import com.mogo.och.taxi.passenger.R; +import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; +import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerAutopilotPlanningCallback; +import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; +import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerMapViewCallback; +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerVeloctityCallback; +import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; +import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; +import com.mogo.och.taxi.passenger.utils.TaxiPassengerUtils; + +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +/** + * @author: wangmingjun + * @date: 2022/3/8 + */ +public class ITaxiPassengerServingOrderFragment extends BaseFragment implements IOCHTaxiPassengerAutopilotPlanningCallback, IOCHTaxiPassengerOrderStatusCallback, IOCHTaxiPassengerControllerStatusCallback, ITaxiPassengerMapViewCallback, ITaxiPassengerVeloctityCallback { + + private final String TAG = ITaxiPassengerServingOrderFragment.class.getSimpleName(); + + private TextView mTPSpeedTv; + + private TextView mTPOrderStatus; + private TextView mTPOrderStartStation; + private TextView mTPOrderEndStation; + private TextView mTPOrderRemainDis; + private TextView mTPOrderRemainTime; + private TextView mTPOrderRemainArriveTime; + private ImageView mMapArrowIcon; + + private TaxiPassengerMapDirectionView mMapDirectionView; + private float lastBearing = 0; + private RotateAnimation rotateAnimation; + + private SeekBar mProgressSeekBar; + + private int mLimitingVelocity;// 返回的道路限速值 + + public static ITaxiPassengerServingOrderFragment newInstance() { + + Bundle args = new Bundle(); + + ITaxiPassengerServingOrderFragment fragment = new ITaxiPassengerServingOrderFragment(); + fragment.setArguments(args); + return fragment; + } + + @Override + protected int getLayoutId() { + return R.layout.taxi_p_activity_serving_order_view; + } + + @Override + public String getTagName() { + return "TaxiPassengerServingOrderFragment"; + } + + @Override + protected void initViews() { + + mTPSpeedTv = findViewById(R.id.taxi_p_speed_tv); + mTPSpeedTv.setText(getSpeedTextStyle("0",true)); + + mTPOrderStatus = findViewById(R.id.taxi_p_order_status_tv); + mTPOrderStartStation = findViewById(R.id.taxi_p_order_status_start_station_tv); + mTPOrderEndStation = findViewById(R.id.taxi_p_order_status_end_station_tv); + mTPOrderRemainDis = findViewById(R.id.taxi_p_order_remain_distance); + mTPOrderRemainTime = findViewById(R.id.taxi_p_order_remain_time); + mTPOrderRemainArriveTime = findViewById(R.id.taxi_p_order_remain_arrive_time); + + mMapArrowIcon = findViewById(R.id.taxi_p_arrow_nor); + mProgressSeekBar = findViewById(R.id.taxi_p_seekbar); + + mTPOrderStatus.setOnLongClickListener(new View.OnLongClickListener() { //测试用 + @Override + public boolean onLongClick(View v) { + List list = new ArrayList<>(); + for (int i = 0; i < 200 ; i++){ + AutopilotRouteInfo.RouteModels routeModels = new AutopilotRouteInfo.RouteModels(); + if (i <= 100){ + routeModels.setLat(40.199248903658166); + routeModels.setLon(116.73435586102245 + i * 0.0001); + }else { + routeModels.setLat(40.199248903658166 + i * 0.0001); + routeModels.setLon(116.73435586102245 + 100 * 0.0001); + } + list.add(routeModels); + } + routeResult(list); + return true; + } + }); + + } + + @Override + protected void initViews(Bundle savedInstanceState) { + super.initViews(savedInstanceState); + mMapDirectionView = findViewById(R.id.taxi_p_order_map_view); + mMapDirectionView.onCreateView(savedInstanceState); + mMapDirectionView.setTaxiPassengerMapViewCallback(this); + + initListener(); + + } + + /** + * 设置进度条最大值为 起点终点首次规划出的值 + * @param maxInt + */ + private void setSeekBarMax(int maxInt){ + mProgressSeekBar.setMax(maxInt); + } + + /** + * 行驶进度值更新 + */ + @RequiresApi(api = Build.VERSION_CODES.N) + private void updateDriveProcessLoading(int progressLoading){ + mProgressSeekBar.setProgress(progressLoading, true); +// mProgressSeekBar.setMax(55); +// mProgressSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { +// @Override +// public void onProgressChanged(SeekBar bar, int i, boolean b) { +// +// } +// +// @Override +// public void onStartTrackingTouch(SeekBar bar) { +// +// } +// +// @Override +// public void onStopTrackingTouch(SeekBar bar) { +// +// } +// }); + } + + private void initListener() { + TaxiPassengerModel.getInstance().setMoGoAutopilotPlanningListener(this); + TaxiPassengerModel.getInstance().setOrderStatusCallback(this); + TaxiPassengerModel.getInstance().setControllerStatusCallback(this); + TaxiPassengerModel.getInstance().setVeloctityCallback(this); + } + + public void releaseListener(){ + TaxiPassengerModel.getInstance().setMoGoAutopilotPlanningListener(null); + TaxiPassengerModel.getInstance().setOrderStatusCallback(null); + TaxiPassengerModel.getInstance().setControllerStatusCallback(null); + TaxiPassengerModel.getInstance().setVeloctityCallback(null); + } + + @Override + public void onResume() { + super.onResume(); + if (mMapDirectionView != null) { + mMapDirectionView.onResume(); + } + } + + @Override + public void onPause() { + super.onPause(); + if (mMapDirectionView != null) { + mMapDirectionView.onPause(); + } + + } + + @Override + public void onDestroy() { + super.onDestroy(); + if (mMapDirectionView != null) { + mMapDirectionView.onDestroy(); + } + releaseListener(); + } + + @Override + public void routeResult(List models) { + if (models == null) return; + + List latLngList = new ArrayList<>(); + for (AutopilotRouteInfo.RouteModels routeModel : models) { + latLngList.add(new MogoLatLng(routeModel.getLat(), routeModel.getLon())); + } + Log.d(TAG, "routeResult:" + latLngList.size()); + if (latLngList.size() > 0) { + drawablePolyline(latLngList); + } else { + clearPolyline(); + } + } + + /** + * 绘制 + * @param coordinates + */ + private void drawablePolyline(List coordinates) { + if (mMapDirectionView != null) { + mMapDirectionView.convert(coordinates); + UiThreadHandler.post(new Runnable() { + @Override + public void run() { + mMapDirectionView.drawablePolyline(); + } + }); + } + } + + private void clearPolyline(){ + if (mMapDirectionView != null) { + UiThreadHandler.post(new Runnable() { + @Override + public void run() { + mMapDirectionView.clearPolyline(); + } + }); + } + } + + @Override + public void onCurrentOrderStatusChanged(TaxiPassengerOrderQueryRespBean.Result order) { + updateOrderStatusView(order); + } + + private void updateOrderStatusView(TaxiPassengerOrderQueryRespBean.Result order) { + mTPOrderStartStation.setText(order.startSiteAddr); + mTPOrderEndStation.setText(order.endSiteAddr); + + if (TaxiPassengerOrderStatusEnum.ArriveAtStartStation.getCode() == order.orderStatus){ + mTPOrderStatus.setText(getString(R.string.taxi_p_arrive_to_start)); + return; + } + + if (TaxiPassengerOrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus){ + mTPOrderStatus.setText(R.string.taxi_p_start_to_end); + return; + } + } + + @Override + public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond) { + Calendar calendarArrive = TaxiPassengerUtils.formatLongToCalendar(System.currentTimeMillis() + timeInSecond); + String arriveTime = TaxiPassengerUtils.formatCalendarToString(calendarArrive, TaxiPassengerUtils.TAXI_HH_mm); + DecimalFormat fnum = new DecimalFormat("##0.00"); + String remainDis = fnum.format((float) meters / 1000); + int remainTime = (int) timeInSecond / 60; + updateOrderDisAndTimeView(remainDis,remainTime,arriveTime); + } + + private void updateOrderDisAndTimeView(String remainDis, int remainTime, String arriveTime) { + mTPOrderRemainDis.setText(remainDis); + mTPOrderRemainTime.setText(remainTime); + mTPOrderRemainArriveTime.setText(arriveTime); + } + + @Override + public void onVRModeChanged(boolean isVRMode) { + + } + + @Override + public void onCarLocationChanged(Location location) { + if (null != location){ + runOnUIThread(() -> updateSpeedView(location.getSpeed())); + } + } + + @Override + public void onLimitingVelocityChange(int limitingVelocity) { + mLimitingVelocity = limitingVelocity; + } + + /** + * 更新速度 + * @param newSpeed + */ + private void updateSpeedView(float newSpeed) { + int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值 + if (speed < mLimitingVelocity ){ + mTPSpeedTv.setText(getSpeedTextStyle(String.valueOf(speed),true)); + }else { + mTPSpeedTv.setText(getSpeedTextStyle(String.valueOf(speed), false)); + } + } + + /** + * 设置速度的颜色 + * @param content + * @param isNormal 正常状态 true, 超速状态 + * @return + */ + private SpannableStringBuilder getSpeedTextStyle(String content,boolean isNormal){ + if (isNormal){ + return TaxiPassengerUtils.getGradientFontSpan(content + , 0xFFCEEEFF ,0xFFA1DAFF); + }else {//超速 + return TaxiPassengerUtils.getGradientFontSpan(content + ,0xFFCEEEFF ,0xFFA1DAFF);//todo 换成报警颜色 + } + } + + private void runOnUIThread( Runnable executor ) { + if ( executor == null ) { + return; + } + if ( Looper.myLooper() != Looper.getMainLooper() ) { + UiThreadHandler.post( executor ); + } else { + executor.run(); + } + } + + @Override + public void onCameraChange(float bearing) { + startIvCompass(bearing); + } + + /** + * 设置指南针旋转 + * @param bearing + */ + private void startIvCompass(float bearing) { + bearing = 360 - bearing; + Log.d(TAG, "startIvCompass: " + bearing); + rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); + rotateAnimation.setFillAfter(true); + + mMapArrowIcon.startAnimation(rotateAnimation); + lastBearing = bearing; + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/LinearGradientFontSpan.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/LinearGradientFontSpan.java new file mode 100644 index 0000000000..12f40e8099 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/LinearGradientFontSpan.java @@ -0,0 +1,57 @@ +package com.mogo.och.taxi.passenger.ui; + +import android.graphics.Canvas; +import android.graphics.LinearGradient; +import android.graphics.Paint; +import android.graphics.Shader; +import android.text.style.ReplacementSpan; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +/** + * 文字渐变 + * @author: wangmingjun + * @date: 2022/3/8 + */ +public class LinearGradientFontSpan extends ReplacementSpan { + + private int mStartColor; + private int mEndColor; + private int mSize; + private Shader.TileMode mDirection; + + public LinearGradientFontSpan(int startColor, int endColor, Shader.TileMode direction){ + this.mStartColor = startColor; + this.mEndColor = endColor; + this.mDirection = direction; + } + + @Override + public int getSize(@NonNull Paint paint, CharSequence text, int start, int end + , @Nullable Paint.FontMetricsInt fm) { + + mSize = (int) paint.measureText(text,start,end); + + //字体高度设置 需要 + Paint.FontMetricsInt metricsInt = paint.getFontMetricsInt(); + if (fm != null){ + fm.top = metricsInt.top; + fm.ascent = metricsInt.ascent; + fm.descent = metricsInt.descent; + fm.bottom = metricsInt.bottom; + } + return mSize; + } + + @Override + public void draw(@NonNull Canvas canvas, CharSequence text, int start, int end, float x, + int top, int y, int bottom, @NonNull Paint paint) { + LinearGradient linearGradient = new LinearGradient(0,0,0,paint.descent() - paint.ascent(),mStartColor,mEndColor + , mDirection);//渐变方向 + + paint.setShader(linearGradient); + + canvas.drawText(text,start,end,x,y,paint); + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java index 575cf56457..e841b15b3c 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java @@ -1,42 +1,28 @@ package com.mogo.och.taxi.passenger.ui; -import android.animation.ObjectAnimator; -import android.content.Intent; -import android.graphics.drawable.AnimationDrawable; import android.os.Handler; import android.os.Looper; -import android.util.Log; import android.view.View; -import android.view.animation.LinearInterpolator; import android.widget.FrameLayout; import android.widget.ImageView; -import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.constraintlayout.widget.Group; import androidx.fragment.app.FragmentTransaction; import com.mogo.commons.AbsMogoApplication; -import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; -import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; +import com.mogo.eagle.core.data.config.HmiBuildConfig; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.map.CallerSmpManager; -import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.uicontroller.VisualAngleMode; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.constants.DataTypes; import com.mogo.och.taxi.passenger.R; -import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter; -import java.util.List; - /** * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况 @@ -48,20 +34,17 @@ import java.util.List; public class TaxiPassengerBaseFragment extends MvpFragment implements IMogoMapListener, TaxiPassengerTaxiView { static final String TAG = "BaseOchFragment"; - private LinearLayout ctvAutopilotStatus; + private FrameLayout flNaviPanelContainer; - private Group groupTestPanel; - private TextView mSpeedView; private ImageView mAutopilotImage; - private TextView mAutopilotTv; - private LinearLayout mMapswitchBtn; - protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null; + private ImageView mMapswitchBtn; + private TextView mLightCountdown; + private ImageView mLightIcon; + + protected ITaxiPassengerServingOrderFragment ochServingOrderFragment = null; private Handler mHandler = new Handler(Looper.getMainLooper()); - protected double mCurLatitude = 0.0; - protected double mCurLongitude = 0.0; - @Override protected int getLayoutId() { return R.layout.taxi_p_base_fragment; @@ -74,39 +57,30 @@ public class TaxiPassengerBaseFragment extends MvpFragment { - Log.d(TAG,"长按显示状态工具栏"); - Intent intent = new Intent(); - intent.putExtra("oper", 52); - MogoApisHandler.getInstance().getApis().getIntentManagerApi().invoke("com.mogo.mock", intent); - return true; - }); - } + mLightCountdown = findViewById(R.id.taxi_p_light_countdown_tv); + mLightIcon = findViewById(R.id.taxi_p_light_iv); - mMapswitchBtn = findViewById(R.id.module_och_taxi_swich_map_layout); + mMapswitchBtn = findViewById(R.id.module_och_taxi_swich_map_iv); mMapswitchBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //视角切换 - if (MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().getCurrentMapVisualAngle().isLongSight()) { - MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(AbsMogoApplication.getApp()).visibleAllMarkers(); + if (MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController() + .getCurrentMapVisualAngle().isLongSight()) { + MogoApisHandler.getInstance().getApis().getMapServiceApi() + .getMarkerManager(AbsMogoApplication.getApp()).visibleAllMarkers(); MogoApisHandler.getInstance().getApis().getMapServiceApi() .getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null); - } else if (MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().getCurrentMapVisualAngle().isMediumSight()) { - MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(AbsMogoApplication.getApp()).inVisibleWithoutMarkers(DataTypes.TYPE_MARKER_ADAS); + } else if (MogoApisHandler.getInstance().getApis().getMapServiceApi() + .getMapUIController().getCurrentMapVisualAngle().isMediumSight()) { + MogoApisHandler.getInstance().getApis().getMapServiceApi() + .getMarkerManager(AbsMogoApplication.getApp()).inVisibleWithoutMarkers(DataTypes.TYPE_MARKER_ADAS); MogoApisHandler.getInstance().getApis().getMapServiceApi() .getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null); } @@ -115,23 +89,6 @@ public class TaxiPassengerBaseFragment extends MvpFragment - { -// Logger.d("lianglihui","模拟 站点下发工控"); - AutopilotControlParameters currentAutopilot = new AutopilotControlParameters(); - currentAutopilot.isSpeakVoice = true; - // 万集东门站 - currentAutopilot.startLatLon = new AutopilotControlParameters.AutoPilotLonLat(40.194795425,116.724476409); - // 市政府前街18号 - currentAutopilot.endLatLon = new AutopilotControlParameters.AutoPilotLonLat(40.1939540844,116.720067); - // 订单运营类型 (9出租车,10小巴) - currentAutopilot.vehicleType = 10; - Logger.d(TAG, "模拟 订单站点下发:" + currentAutopilot); - CallerAutoPilotManager.INSTANCE.startAutoPilot(currentAutopilot); - } - ); - if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()){ switchVRFlatMode(true); }else { @@ -139,6 +96,25 @@ public class TaxiPassengerBaseFragment extends MvpFragment models){ - //todo 绘制路径规划 - } + public void showOrHideServingOrderFragment(boolean isShow){ - /** - * 更新订单信息 - * @param order - */ - public void updateCurrentOrderStatusChanged(TaxiPassengerOrderQueryRespBean.Result order){ - //todo 当到达乘客上车点时,展示信息 - - } - - private void showServingOrderFragment(){ FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); - ochServingOrderFragment = new TaxiPassengerServingOrderFragment().newInstance(); - if (ochServingOrderFragment.isAdded()){ - return; + if (isShow){ + if(ochServingOrderFragment == null){ + ochServingOrderFragment = new ITaxiPassengerServingOrderFragment().newInstance(); + } + if (ochServingOrderFragment.isAdded()){ + transaction.show(ochServingOrderFragment); + return; + } + transaction.add(R.id.module_mogo_och_navi_panel_container, ochServingOrderFragment) + .show(ochServingOrderFragment); + + flNaviPanelContainer.setVisibility(View.VISIBLE); + }else { + if (ochServingOrderFragment != null){ + transaction.hide(ochServingOrderFragment); + } + flNaviPanelContainer.setVisibility(View.GONE); } - transaction.add(R.id.module_mogo_och_navi_panel_container, ochServingOrderFragment).show(ochServingOrderFragment); transaction.commitAllowingStateLoss(); - flNaviPanelContainer.setVisibility(View.VISIBLE); - } - - private void hideServingOrderFragment(){ - FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); - if (ochServingOrderFragment != null){ - ochServingOrderFragment.onDestroy(); - transaction.remove(ochServingOrderFragment); - transaction.commitAllowingStateLoss(); - ochServingOrderFragment = null; - } - flNaviPanelContainer.setVisibility(View.GONE); } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerCardView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerCardView.java new file mode 100644 index 0000000000..2cc2fd4cc6 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerCardView.java @@ -0,0 +1,64 @@ +package com.mogo.och.taxi.passenger.ui; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Path; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Region; +import android.graphics.drawable.ColorDrawable; +import android.util.AttributeSet; + +import androidx.cardview.widget.CardView; + +import com.mogo.och.taxi.passenger.R; + +/** + * @author: wangmingjun + * @date: 2021/9/29 + */ +public class TaxiPassengerCardView extends CardView { + + private int defaultRadius = 0; + private float tlRadiu; + private float trRadiu; + private float brRadiu; + private float blRadiu; + public TaxiPassengerCardView(Context context) { + this(context, null); + } + + public TaxiPassengerCardView(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.materialCardViewStyle); + } + + public TaxiPassengerCardView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + setRadius(0); + TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.TaxiPassengerRoundCorner); + + tlRadiu = array.getDimension(R.styleable.TaxiPassengerRoundCorner_taxi_left_top_radius, defaultRadius); + trRadiu = array.getDimension(R.styleable.TaxiPassengerRoundCorner_taxi_right_top_radius, defaultRadius); + brRadiu = array.getDimension(R.styleable.TaxiPassengerRoundCorner_taxi_right_bottom_radius, defaultRadius); + blRadiu = array.getDimension(R.styleable.TaxiPassengerRoundCorner_taxi_left_bottom_radius, defaultRadius); + setBackground(new ColorDrawable()); + } + + @Override + protected void onDraw(Canvas canvas) { + Path path = new Path(); + RectF rectF = getRectF(); + float[] readius = {tlRadiu,tlRadiu,trRadiu,trRadiu,brRadiu,brRadiu,blRadiu,blRadiu}; + path.addRoundRect(rectF,readius,Path.Direction.CW); + canvas.clipPath(path, Region.Op.INTERSECT); + super.onDraw(canvas); + } + + private RectF getRectF() { + Rect rect = new Rect(); + getDrawingRect(rect); + RectF rectF = new RectF(rect); + return rectF; + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java new file mode 100644 index 0000000000..a221413ee0 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java @@ -0,0 +1,337 @@ +package com.mogo.och.taxi.passenger.ui; + +import android.content.Context; +import android.graphics.Color; +import android.os.Bundle; +import android.util.AttributeSet; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.widget.RelativeLayout; + +import androidx.annotation.Nullable; + +import com.amap.api.maps.AMap; +import com.amap.api.maps.CameraUpdate; +import com.amap.api.maps.CameraUpdateFactory; +import com.amap.api.maps.CoordinateConverter; +import com.amap.api.maps.TextureMapView; +import com.amap.api.maps.UiSettings; +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.MogoLatLng; +import com.mogo.eagle.core.data.map.MogoLocation; +import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; +import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; +import com.mogo.eagle.core.utilcode.mogo.logger.Logger; +import com.mogo.och.taxi.passenger.R; +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerMapViewCallback; +import com.mogo.och.taxi.passenger.utils.TaxiPassengerMapAssetStyleUtil; + +import java.util.ArrayList; +import java.util.List; + +/** + * 乘客屏小地图 + */ +public class TaxiPassengerMapDirectionView + extends RelativeLayout + implements IMoGoMapLocationListener, ITaxiPassengerMapDirectionView, AMap.OnCameraChangeListener { + + //小地图名称 + public static final String TAG = "TPMapDirectionView"; + + private TextureMapView mAMapNaviView; + private AMap mAMap; + private Marker mCarMarker; + private Marker mStartMarker; + private Marker mEndMarker; + + private int zoomLevel = 13; + private List mCoordinatesLatLng = new ArrayList<>(); + private Polyline mPolyline; + private CameraUpdate mCameraUpdate; + private Context mContext; + + private List colorList = new ArrayList<>(); + + private ITaxiPassengerMapViewCallback mITaxiPassengerMapViewCallback; + + public TaxiPassengerMapDirectionView(Context context) { + this(context, null); + } + + public TaxiPassengerMapDirectionView(Context context, @Nullable AttributeSet attrs) { + this(context, attrs, 0); + } + + public TaxiPassengerMapDirectionView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + try { + initView(context); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void setTaxiPassengerMapViewCallback(ITaxiPassengerMapViewCallback ITaxiPassengerMapViewCallback){ + this.mITaxiPassengerMapViewCallback = ITaxiPassengerMapViewCallback; + } + + private void initView(Context context) { + Logger.d(TAG, "initView"); + + mContext = context; + + View smpView = LayoutInflater.from(context).inflate(R.layout.taxi_p_map_view, this); + + mAMapNaviView = (TextureMapView) smpView.findViewById(R.id.taxi_p_order_amap_view); + + initAMapView(); + + // 注册定位监听 + CallerMapLocationListenerManager.INSTANCE.addListener(TAG, this); + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + // 注册定位监听 + CallerMapLocationListenerManager.INSTANCE.removeListener(TAG); + } + + private void initAMapView() { + mCameraUpdate = CameraUpdateFactory.zoomTo(zoomLevel); + mAMap = mAMapNaviView.getMap(); + // 设置导航地图模式,aMap是地图控制器对象。 + mAMap.setMapType(AMap.MAP_TYPE_NIGHT); + + // 关闭显示实时路况图层,aMap是地图控制器对象。 + mAMap.setTrafficEnabled(false); + + // 设置 锚点 图标 + mCarMarker = mAMap.addMarker(new MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_car)) + .anchor(0.5f, 0.5f)); + mStartMarker = mAMap.addMarker(new MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_view_dir_start))); + mEndMarker = mAMap.addMarker(new MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_view_dir_end))); + + // 加载自定义样式 + CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions() + .setEnable(true) + .setStyleData(TaxiPassengerMapAssetStyleUtil.getAssetsStyle(getContext(),"map_style.data")) + .setStyleExtraData(TaxiPassengerMapAssetStyleUtil.getAssetsExtraStyle(getContext(),"map_style_extra.data")); + // 设置自定义样式 + mAMap.setCustomMapStyle(customMapStyleOptions); + + //设置希望展示的地图缩放级别 + mAMap.moveCamera(mCameraUpdate); + + // 设置地图的样式 + UiSettings uiSettings = mAMap.getUiSettings(); + uiSettings.setZoomControlsEnabled(false);// 地图缩放级别的交换按钮 + uiSettings.setAllGesturesEnabled(false);// 所有手势 + uiSettings.setMyLocationButtonEnabled(false); // 显示默认的定位按钮 + uiSettings.setLogoBottomMargin(-150); //设置Logo下边界距离屏幕底部的边距,设置为负值即可 + + mAMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() { + @Override + public void onMapLoaded() { + Logger.d(TAG, "smp---onMapLoaded"); + // 加载自定义样式 + CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions() + .setEnable(true) + .setStyleData(TaxiPassengerMapAssetStyleUtil.getAssetsStyle(getContext(),"map_style.data")) + .setStyleExtraData(TaxiPassengerMapAssetStyleUtil.getAssetsExtraStyle(getContext(),"map_style_extra.data")); + // 设置自定义样式 + mAMap.setCustomMapStyle(customMapStyleOptions); + mAMapNaviView.getMap().setPointToCenter(mAMapNaviView.getWidth() / 2, mAMapNaviView.getHeight() / 2); + } + }); + + //设置地图状态的监听接口 + mAMap.setOnCameraChangeListener(this); + } + + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + return true; + } + + + @Override + public void onLocationChanged(@Nullable MogoLocation location) { + Logger.d(TAG, "onCarLocationChanged2 :" + location.getLatitude()+":"+location.getLongitude()); + if (location == null){ + return; + } + LatLng currentLatLng = new LatLng(location.getLatitude(), location.getLongitude()); + + //更新车辆位置 + if (mCarMarker != null) { + Log.d(TAG, "location.getBearing() = " + location.getBearing()); + mCarMarker.setRotateAngle(360 - location.getBearing()); + mCarMarker.setPosition(currentLatLng); + mCarMarker.setToTop(); + } + + if (mCoordinatesLatLng.size() > 1) { + //圈定地图显示范围 + LatLng endLatLng = mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1); + //存放经纬度 + LatLngBounds.Builder boundsBuilder = new LatLngBounds.Builder(); + boundsBuilder.include(currentLatLng); + boundsBuilder.include(endLatLng); + //第二个参数为四周留空宽度 + mAMap.animateCamera(CameraUpdateFactory.newLatLngBounds(boundsBuilder.build(), 100)); + +// cameraPosition = new CameraPosition.Builder().bearing(location.getBearing()).build(); +// mAMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); + } else { + //设置希望展示的地图缩放级别 + CameraPosition cameraPosition = new CameraPosition.Builder().target(mCarMarker.getPosition()).tilt(0).bearing(location.getBearing()).zoom(zoomLevel).build(); + mAMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); + } + } + + @Override + public void drawablePolyline() { + clearPolyline(); + if (mAMap != null) { + + addRouteColorList(); + + if (mCoordinatesLatLng.size() > 2) { + // 设置开始结束Marker位置 + + LatLng startLatLng = mCoordinatesLatLng.get(0); + LatLng endLatLng = mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1); + + mStartMarker.setPosition(startLatLng); + mEndMarker.setPosition(endLatLng); + mStartMarker.setVisible(true); + mEndMarker.setVisible(true); + + //设置线段纹理 + PolylineOptions polylineOptions = new PolylineOptions(); + polylineOptions.addAll(mCoordinatesLatLng); + polylineOptions.colorValues(colorList); // 1FC3FF -> 57ABFF + polylineOptions.useGradient(true); + polylineOptions.width(9); + + // 绘制线 + mPolyline = mAMap.addPolyline(polylineOptions); + + } + } + } + + /** + * 添加画线颜色值 + */ + private void addRouteColorList() { + for (int i = 0; i < mCoordinatesLatLng.size(); i++){ + if (i <= mCoordinatesLatLng.size()/2){ + colorList.add(Color.argb(255, 31, 195, 255));//start + }else { + colorList.add(Color.argb(255, 87, 171, 255));//end + } + } + } + + + public LatLng CoordinateConverterFrom84(Context mContext, MogoLatLng mogoLatLng) { + CoordinateConverter mCoordinateConverter = new CoordinateConverter(mContext); + mCoordinateConverter.from(CoordinateConverter.CoordType.GPS); + mCoordinateConverter.coord(new LatLng(mogoLatLng.lat, mogoLatLng.lon)); + LatLng latLng = mCoordinateConverter.convert(); + return latLng; + } + + public List CoordinateConverterFrom84ForList(Context mContext, List mogoLatLngList) { + List list = new ArrayList<>(); + for (MogoLatLng m : mogoLatLngList) { + LatLng mogoLatLng = CoordinateConverterFrom84(mContext, m); + list.add(mogoLatLng); + } + return list; + } + + @Override + public void clearPolyline() { +// mCoordinatesLatLng.clear(); + if (mPolyline != null) { + mPolyline.remove(); + } + if (mStartMarker != null) { + mStartMarker.setVisible(false); + } + if (mEndMarker != null) { + mEndMarker.setVisible(false); + } + } + + public void resetPolyine() { + mCoordinatesLatLng.clear(); + if (mPolyline != null) { + mPolyline.remove(); + } + if (mStartMarker != null) { + mStartMarker.setVisible(false); + } + if (mEndMarker != null) { + mEndMarker.setVisible(false); + } + } + + public void onCreateView(Bundle savedInstanceState) { + if (mAMapNaviView != null) { + mAMapNaviView.onCreate(savedInstanceState); + } + } + + public void onResume() { + if (mAMapNaviView != null) { + mAMapNaviView.onResume(); + } + } + + public void onPause() { + if (mAMapNaviView != null) { + mAMapNaviView.onPause(); + } + } + + public void onDestroy() { + if (mAMapNaviView != null) { + mAMapNaviView.onDestroy(); + } + } + + public void convert(List coordinates) { + mCoordinatesLatLng.clear(); + List latLngs = CoordinateConverterFrom84ForList(mContext, coordinates); + mCoordinatesLatLng.addAll(latLngs); + } + + @Override + public void onCameraChange(CameraPosition cameraPosition) { + mITaxiPassengerMapViewCallback.onCameraChange(cameraPosition.bearing); + } + + @Override + public void onCameraChangeFinish(CameraPosition cameraPosition) { + + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.kt deleted file mode 100644 index 94fd702f18..0000000000 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.kt +++ /dev/null @@ -1,77 +0,0 @@ -package com.mogo.och.taxi.passenger.ui - -import android.os.Bundle -import android.util.Log -import android.view.View -import com.mogo.commons.mvp.BaseFragment -import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo -import com.mogo.eagle.core.data.map.MogoLatLng -import com.mogo.module.common.MogoApisHandler -import java.util.* - -/** - * @author: wangmingjun - * @date: 2022/3/3 - */ -class TaxiPassengerServingOrderFragment : BaseFragment() { - - private val TAG = "TaxiPassengerServingOrderFragment" - - fun newInstance(): TaxiPassengerServingOrderFragment{ - val args = Bundle() - - val fragment = TaxiPassengerServingOrderFragment() - fragment.arguments = args - return fragment - } - - init { - // TODO: 2022/3/3 - } - - override fun getLayoutId(): Int { - return 0 - } - - override fun getTagName(): String { - TODO("Not yet implemented") - } - - override fun initViews() { - if (MogoApisHandler.getInstance() - .apis - .statusManagerApi - .isVrMode) { - switchVRFlatMode(true) - } else { - switchVRFlatMode(false) - } - } - - fun switchVRFlatMode(isVRMode: Boolean) { - if (mRootView != null) { - mRootView.visibility = if (isVRMode) View.VISIBLE else View.GONE - } - } - - /** - * 工控机返回的全局路径数据 - */ - fun routeResult(models: List?) { - if (models == null) return - val latLngList: MutableList = ArrayList() - for (routeModel in models) { - latLngList.add(MogoLatLng(routeModel.lat, routeModel.lon)) - } - Log.e(TAG, "routeResult:" + latLngList.size) -// if (latLngList.size() > 0) { -// drawablePolyline(latLngList); -// } else { -// clearPolyline(); -// } - } - - override fun onDestroy() { - super.onDestroy() - } -} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java new file mode 100644 index 0000000000..6605ec413a --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerMapAssetStyleUtil.java @@ -0,0 +1,61 @@ +package com.mogo.och.taxi.passenger.utils; + + +import android.content.Context; + +import java.io.IOException; +import java.io.InputStream; + +/** + * @author donghongyu + * @date 12/18/20 5:37 PM + */ +public class TaxiPassengerMapAssetStyleUtil { + + public static byte[] getAssetsStyle(Context context,String fileName) { + byte[] buffer1 = null; + InputStream is1 = null; + try { + is1 = context.getResources().getAssets().open(fileName); //eg. small_map_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. small_map_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/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/OchTaxiUtils.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerUtils.java similarity index 75% rename from OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/OchTaxiUtils.java rename to OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerUtils.java index 6576e891e9..dcc5e9eb14 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/OchTaxiUtils.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerUtils.java @@ -1,6 +1,11 @@ package com.mogo.och.taxi.passenger.utils; +import android.graphics.Shader; +import android.text.SpannableStringBuilder; +import android.text.Spanned; + import com.mogo.eagle.core.utilcode.util.DateTimeUtils; +import com.mogo.och.taxi.passenger.ui.LinearGradientFontSpan; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -9,7 +14,7 @@ import java.util.Calendar; * @author: wangmingjun * @date: 2021/8/20 */ -public class OchTaxiUtils { +public class TaxiPassengerUtils { public static final String TAXI_HH_mm = "HH:mm"; public static final String TAXI_MM_dd = "MM-dd"; @@ -30,8 +35,8 @@ public class OchTaxiUtils { public static boolean compareDateIsCurrentDay(Calendar targetCalendar){ Calendar currentCale = DateTimeUtils.getCurrentDateTime(); - String currentDay = formatCalendarToString(currentCale,OchTaxiUtils.TAXI_yyyy_MM_dd); - if (currentDay.equals(formatCalendarToString(targetCalendar,OchTaxiUtils.TAXI_yyyy_MM_dd))){ + String currentDay = formatCalendarToString(currentCale, TaxiPassengerUtils.TAXI_yyyy_MM_dd); + if (currentDay.equals(formatCalendarToString(targetCalendar, TaxiPassengerUtils.TAXI_yyyy_MM_dd))){ return true; }else { return false; @@ -90,4 +95,18 @@ public class OchTaxiUtils { int minute = (int)(seconds % 3600)/60; return String.valueOf(minute); } + + /** + * 设置textview 文字渐变 + * @param content + * @param startColor + * @param endColor + * @return + */ + public static SpannableStringBuilder getGradientFontSpan(String content, int startColor, int endColor){ + SpannableStringBuilder builder = new SpannableStringBuilder(content); + LinearGradientFontSpan span = new LinearGradientFontSpan(startColor,endColor, Shader.TileMode.REPEAT); + builder.setSpan(span,0,builder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + return builder; + } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_arrow_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_arrow_nor.png new file mode 100644 index 0000000000..b7e671cd13 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_arrow_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_auto_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_auto_nor.png new file mode 100644 index 0000000000..c15a11f4e4 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_auto_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_dot_line.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_dot_line.png new file mode 100644 index 0000000000..a720a532ea Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_dot_line.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_light_green_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_light_green_nor.png new file mode 100644 index 0000000000..bc9fed952d Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_light_green_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_light_red_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_light_red_nor.png new file mode 100644 index 0000000000..8732508ded Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_light_red_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_lightyellow_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_lightyellow_nor.png new file mode 100644 index 0000000000..bae01408fd Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_lightyellow_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_car.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_car.png new file mode 100644 index 0000000000..dedaf093e9 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_car.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_view_dir_end.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_view_dir_end.png new file mode 100644 index 0000000000..9f4ab3739b Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_view_dir_end.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_view_dir_start.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_view_dir_start.png new file mode 100644 index 0000000000..98b1435404 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_view_dir_start.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_mogologo_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_mogologo_nor.png new file mode 100644 index 0000000000..ec1692cdcd Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_mogologo_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_switch_map_bg.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_switch_map_bg.png new file mode 100644 index 0000000000..369c10cf46 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_switch_map_bg.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_un_auto_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_un_auto_nor.png new file mode 100644 index 0000000000..08a8e7366a Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_un_auto_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_arrow_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_arrow_nor.png new file mode 100644 index 0000000000..b7e671cd13 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_arrow_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_auto_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_auto_nor.png new file mode 100644 index 0000000000..c15a11f4e4 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_auto_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_dot_line.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_dot_line.png new file mode 100644 index 0000000000..a720a532ea Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_dot_line.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_light_green_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_light_green_nor.png new file mode 100644 index 0000000000..bc9fed952d Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_light_green_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_light_red_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_light_red_nor.png new file mode 100644 index 0000000000..8732508ded Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_light_red_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_lightyellow_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_lightyellow_nor.png new file mode 100644 index 0000000000..bae01408fd Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_lightyellow_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_car.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_car.png new file mode 100644 index 0000000000..dedaf093e9 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_car.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_view_dir_end.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_view_dir_end.png new file mode 100644 index 0000000000..9f4ab3739b Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_view_dir_end.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_view_dir_start.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_view_dir_start.png new file mode 100644 index 0000000000..98b1435404 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_view_dir_start.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_mogologo_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_mogologo_nor.png new file mode 100644 index 0000000000..ec1692cdcd Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_mogologo_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_switch_map_bg.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_switch_map_bg.png new file mode 100644 index 0000000000..369c10cf46 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_switch_map_bg.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_un_auto_nor.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_un_auto_nor.png new file mode 100644 index 0000000000..08a8e7366a Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_un_auto_nor.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00000.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00000.png deleted file mode 100644 index b71bd0d040..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00000.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00001.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00001.png deleted file mode 100644 index c2ef6ba069..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00001.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00002.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00002.png deleted file mode 100644 index 3ddb02cd12..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00002.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00003.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00003.png deleted file mode 100644 index 191f809256..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00003.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00004.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00004.png deleted file mode 100644 index c3a1dc0a27..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00004.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00005.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00005.png deleted file mode 100644 index 5c20c76fe1..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00005.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00006.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00006.png deleted file mode 100644 index 195edee2ff..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00006.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00007.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00007.png deleted file mode 100644 index 693630b658..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00007.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00008.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00008.png deleted file mode 100644 index d4b8ceab85..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00008.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00009.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00009.png deleted file mode 100644 index 6e4706a238..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00009.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00010.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00010.png deleted file mode 100644 index f8350ebc4e..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00010.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00011.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00011.png deleted file mode 100644 index 33bb429f93..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00011.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00012.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00012.png deleted file mode 100644 index ae5a6bf520..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00012.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00013.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00013.png deleted file mode 100644 index aafcbc5122..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00013.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00014.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00014.png deleted file mode 100644 index 494f1e989b..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00014.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00015.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00015.png deleted file mode 100644 index d8ae01fa79..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00015.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00016.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00016.png deleted file mode 100644 index fac9c3acce..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00016.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00017.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00017.png deleted file mode 100644 index f2e7e29e0c..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00017.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00018.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00018.png deleted file mode 100644 index f01c9de1f1..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00018.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00019.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00019.png deleted file mode 100644 index 1e570e8da5..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00019.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00020.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00020.png deleted file mode 100644 index 86aeabc0cc..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00020.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00021.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00021.png deleted file mode 100644 index b1f5bf7471..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00021.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00022.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00022.png deleted file mode 100644 index 72be9d9104..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00022.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00023.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00023.png deleted file mode 100644 index 1d5b705848..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00023.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00024.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00024.png deleted file mode 100644 index 367516ea95..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00024.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00025.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00025.png deleted file mode 100644 index 1d0353e635..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00025.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00026.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00026.png deleted file mode 100644 index 52945e2c17..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00026.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00027.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00027.png deleted file mode 100644 index 7a338bd064..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00027.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00028.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00028.png deleted file mode 100644 index 78dc703a46..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00028.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00029.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00029.png deleted file mode 100644 index 58a450edc1..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00029.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00030.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00030.png deleted file mode 100644 index 49d04f78be..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00030.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00031.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00031.png deleted file mode 100644 index c473265692..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00031.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00032.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00032.png deleted file mode 100644 index baf0ced1fa..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00032.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00033.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00033.png deleted file mode 100644 index 3b75e5db6b..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00033.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00034.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00034.png deleted file mode 100644 index ca66176618..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00034.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00035.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00035.png deleted file mode 100644 index e858b504e2..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00035.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00036.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00036.png deleted file mode 100644 index 75dfc4dd21..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00036.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00037.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00037.png deleted file mode 100644 index bd6c98b3ff..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00037.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00038.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00038.png deleted file mode 100644 index bb98916b1b..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00038.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00039.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00039.png deleted file mode 100644 index 9e0c60b41b..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00039.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00040.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00040.png deleted file mode 100644 index fb59f9763c..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00040.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00041.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00041.png deleted file mode 100644 index 26fb304d99..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00041.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00042.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00042.png deleted file mode 100644 index 9e86fa3b7b..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00042.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00043.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00043.png deleted file mode 100644 index 9ac13d48c5..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00043.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00044.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00044.png deleted file mode 100644 index cfc8198864..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00044.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00045.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00045.png deleted file mode 100644 index 352acbb165..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00045.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00046.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00046.png deleted file mode 100644 index cc62f17b67..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00046.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00047.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00047.png deleted file mode 100644 index e96c51d714..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00047.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00048.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00048.png deleted file mode 100644 index a9f4a1ff5f..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00048.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00049.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00049.png deleted file mode 100644 index 22346bd12a..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00049.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00050.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00050.png deleted file mode 100644 index cb2512ad6a..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00050.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00051.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00051.png deleted file mode 100644 index dfb322b959..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00051.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00052.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00052.png deleted file mode 100644 index 9e8147e189..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00052.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00053.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00053.png deleted file mode 100644 index 3f261747a8..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00053.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00054.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00054.png deleted file mode 100644 index d794d2f3bb..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00054.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00055.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00055.png deleted file mode 100644 index 4d6dc4e91f..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00055.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00056.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00056.png deleted file mode 100644 index 473273f2a6..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00056.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00057.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00057.png deleted file mode 100644 index 990b4b5503..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00057.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00058.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00058.png deleted file mode 100644 index 022e80d1d3..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00058.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00059.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00059.png deleted file mode 100644 index efb86c5569..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anim_flow_00059.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anmi_flow.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anmi_flow.xml deleted file mode 100644 index 611cde2035..0000000000 --- a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/anmi_flow.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_blue_circle_bg.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_blue_circle_bg.xml new file mode 100644 index 0000000000..b2d27af0ce --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_blue_circle_bg.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_light_bg.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_light_bg.xml new file mode 100644 index 0000000000..580cfc131c --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_light_bg.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_seekbar_calculator_layer.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_seekbar_calculator_layer.xml new file mode 100644 index 0000000000..67c9174e63 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_seekbar_calculator_layer.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_yellow_circle_bg.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_yellow_circle_bg.xml new file mode 100644 index 0000000000..60938a16f7 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_p_yellow_circle_bg.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_passenger_order_bg.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_passenger_order_bg.xml new file mode 100644 index 0000000000..cd7b067fc3 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_passenger_order_bg.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_activity_serving_order_view.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_activity_serving_order_view.xml index 3e3bfd568b..55300eafb6 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_activity_serving_order_view.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_activity_serving_order_view.xml @@ -1,9 +1,299 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml index 39b02a5182..00a8e07265 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -5,92 +5,38 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - - - - - - - - - - - + android:src="@drawable/taxi_p_un_auto_nor" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintTop_toTopOf="parent"/> + android:scaleType="fitXY" + app:layout_constraintTop_toBottomOf="@+id/module_och_autopilot_iv" + app:layout_constraintLeft_toLeftOf="@+id/module_och_autopilot_iv" + android:background="@drawable/taxi_p_switch_map_bg" /> - +