diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusResetLineStatusRequest.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusResetLineStatusRequest.java new file mode 100644 index 0000000000..595ceafce3 --- /dev/null +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusResetLineStatusRequest.java @@ -0,0 +1,24 @@ +package com.mogo.och.bus.bean; + +import com.mogo.cloud.passport.MoGoAiCloudClientConfig; + +public +/** + * @author congtaowang + * @since 2021/3/22 + * + * 小巴车重置路线状态请求参数 + */ +class BusResetLineStatusRequest { + + private String sn; + public BusResetLineStatusRequest() { + this.sn = MoGoAiCloudClientConfig.getInstance().getSn(); + } + + public String getSn() { + return sn; + } + + +} diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 897d4fd073..030b25eb34 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -452,18 +452,16 @@ public class BusOrderModel { , new IBusServiceCallback() { @Override public void onSuccess(BusRoutesResponse o) { - CallerLogger.INSTANCE.d(M_BUS + TAG, "获取到小巴路线数据: " + o); + CallerLogger.INSTANCE.d(M_BUS + TAG, "结束当前路线成功: " + o); isGoingToNextStation = false; - if (o.getResult() == null || o.getResult().getSites() == null || o.getResult().getSites().isEmpty()) { - return; + if (o.code == 0){ // 重置成功 + queryBusRoutes(); } - renderBusStationsStatus(o.getResult()); } @Override public void onFail(String failMsg) { - // 重复请求小巴路线,直至成功 - queryBusStationDelay(); + ToastUtils.showShort(failMsg); } }); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.java index 14f80cdff6..44284cb122 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.java @@ -11,6 +11,7 @@ import com.mogo.eagle.core.network.RequestOptions; import com.mogo.eagle.core.network.SubscribeImpl; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.bus.bean.BusQueryLinesResponse; +import com.mogo.och.bus.bean.BusResetLineStatusRequest; import com.mogo.och.bus.bean.BusRoutePlanningUpdateReqBean; import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.bean.CarHeartbeatReqBean; @@ -88,11 +89,11 @@ public class BusServiceManager { * @param callback */ public void resetCurrentLineStatus(Context context, int lineId, IBusServiceCallback callback){ -// mService.switchLine(MoGoAiCloudClientConfig.getInstance().getServiceAppId() -// ,MoGoAiCloudClientConfig.getInstance().getToken(),new BusResetDrivingLineRequest(lineId)) -// .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) -// .subscribe(getSubscribeImpl(context,callback,"debugResetStationStatus")); - // TODO 需要重置接口 + mService.resetCurrentLineStatus(MoGoAiCloudClientConfig.getInstance().getServiceAppId() + ,MoGoAiCloudClientConfig.getInstance().getToken() + ,new BusResetLineStatusRequest()) + .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe(getSubscribeImpl(context,callback,"resetCurrentLineStatus")); } /** @@ -203,7 +204,8 @@ public class BusServiceManager { public void queryBusLines(Context context, IBusServiceCallback callback){ mService.queryBusLines(MoGoAiCloudClientConfig.getInstance().getServiceAppId() - ,MoGoAiCloudClientConfig.getInstance().getToken(),MoGoAiCloudClientConfig.getInstance().getSn()) + ,MoGoAiCloudClientConfig.getInstance().getToken() + ,MoGoAiCloudClientConfig.getInstance().getSn()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getSubscribeImpl(context,callback,"queryBusLines")); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java index 8183fb1e84..291fb9f67f 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java @@ -3,6 +3,7 @@ import com.mogo.eagle.core.data.BaseData; import com.mogo.och.bus.bean.BusOperationStatusRequest; import com.mogo.och.bus.bean.BusOrdersResponse; import com.mogo.och.bus.bean.BusQueryLinesResponse; +import com.mogo.och.bus.bean.BusResetLineStatusRequest; import com.mogo.och.bus.bean.BusRoutePlanningUpdateReqBean; import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.bean.CarHeartbeatReqBean; @@ -148,5 +149,9 @@ public interface IBusApiService { @Headers( {"Content-type:application/json;charset=UTF-8"} ) @POST( "/autopilot-car-hailing/location/v2/driver/bus/saveLineCoordinate" ) Observable updateOrderRoute(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusRoutePlanningUpdateReqBean data); + + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST("/autopilot-car-hailing/operation/v1/driver/bus/line/resetStart") + Observable resetCurrentLineStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusResetLineStatusRequest data); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 8b17ca2542..a172e6316e 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -189,10 +189,7 @@ public class TaxiModel { CallerLogger.INSTANCE.d(M_TAXI + TAG, "Undeliverable exception"); } }); - - if (NetworkUtils.isConnected(mContext)) { - queryCarStatus(); - } + queryCarStatus(); } public void release() { @@ -276,7 +273,9 @@ public class TaxiModel { //更新view CallerLogger.INSTANCE.d(M_TAXI + TAG, "changeCarStatus:" + StatusManager.getLoginStatus()); startOrStopOrderLoop(StatusManager.isLogin()); - mCarStatusCallback.onCarLoginStatusChange(StatusManager.isLogin()); + if(mCarStatusCallback!=null) { + mCarStatusCallback.onCarLoginStatusChange(StatusManager.isLogin()); + } String role = ""; if (TaxiDriverRoleEnum.DEMO.getCode() == data.data.purpose) { role = TaxiConst.DEMO_USER; @@ -297,20 +296,26 @@ public class TaxiModel { } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); } -// queryCarStatus(); + queryCarStatus(); + if(mCarStatusCallback!=null) { + mCarStatusCallback.onCarLoginStatusChange(StatusManager.isLogin()); + } } @Override public void onFail(int code, String msg) { ToastUtils.showShort(code + "," + msg); -// queryCarStatus(); + queryCarStatus(); + if(mCarStatusCallback!=null) { + mCarStatusCallback.onCarLoginStatusChange(StatusManager.isLogin()); + } } }); } //更新出车收车状态 public void updateCarStatus() { - if (StatusManager.getLoginStatus().equals(TaxiLoginStatusEnum.None)) { + if(!StatusManager.isLogin()){ queryCarStatus(); return; } @@ -1308,10 +1313,23 @@ public class TaxiModel { queryOrderRouteList(mCurrentOCHOrder.orderNo); } Logger.d(M_TAXI + TAG, "--------mRoutePoints.size---------- " + mRoutePoints.size()); + + if (mRoutePoints.size() > 0){ + reportTotalDisAndTime(); + } //开启实时计算剩余距离,剩余时间,预计时间 startOrStopCalculateRouteInfo(true); } + private void reportTotalDisAndTime() { + float lastSumLength = CoordinateCalculateRouteUtil.calculateRouteSumLength(mRoutePoints); + double lastTime = lastSumLength / TaxiConst.TAXI_AVERAGE_SPEED * 3.6; //秒 + if (mOrderStatusCallback != null) { + mOrderStatusCallback.onCurrentOrderDistToEndChanged((long) lastSumLength, (long) lastTime); + } + reportOrderRemain((long) lastSumLength, (long) lastTime); + } + /** * 实时计算当前剩余里程和时间 */ diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index bd9442055a..751b54db4d 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -41,6 +41,8 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS private static final String TAG = TaxiPresenter.class.getSimpleName(); + private boolean isFirstShow = true; + public TaxiPresenter(TaxiFragment view) { super(view); TaxiModel.getInstance().init(AbsMogoApplication.getApp()); @@ -61,6 +63,16 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiModel.getInstance().release(); } + @Override + public void onResume(@NonNull LifecycleOwner owner) { + super.onResume(owner); + if(isFirstShow){ + isFirstShow = false; + }else { + TaxiModel.getInstance().queryCarStatus(); + } + } + private void initListeners() { TaxiModel.getInstance().setADASStatusCallback(this); TaxiModel.getInstance().setCarStatusCallback(this); diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_login_view.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_login_view.xml index 01dea36bac..827df3dc76 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_login_view.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_login_view.xml @@ -85,7 +85,7 @@ android:gravity="center_vertical" android:imeOptions="actionDone" android:paddingStart="30px" - android:maxLength="8" + android:maxLength="4" android:layout_width="518px" android:layout_height="136px"/> diff --git a/app/build.gradle b/app/build.gradle index cb8b2f1bab..0ffc4dadac 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -37,6 +37,7 @@ if (!isAndroidTestBuild()) { //白名单中的类不进行替换 white_list = [ 'leakcanary.*', + 'com.loc.*' ] } } diff --git a/build.gradle b/build.gradle index 4b78f6bc6d..353868236e 100644 --- a/build.gradle +++ b/build.gradle @@ -32,7 +32,7 @@ buildscript { classpath "com.bytedance.android.byteX:base-plugin:0.3.0" classpath "com.mogo.cloud:hook:${HOOK_LOG_VERSION}" classpath 'com.volcengine:apm_insight_plugin:1.4.1' - classpath 'com.mogo.thread.opt:plg:1.0.8' + classpath 'com.mogo.thread.opt:plg:2.0.1' classpath 'com.mogo.cloud:systrace:1.0.1' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 409910c367..a8bba360dc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -89,6 +89,7 @@ import com.mogo.module.common.enums.* import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import kotlinx.android.synthetic.main.fragment_hmi.* import kotlinx.android.synthetic.main.view_auto_pilot_check.view.* +import kotlinx.android.synthetic.main.view_och_bus_operation.view.* import kotlinx.coroutines.* import mogo_msg.MogoReportMsg import org.greenrobot.eventbus.EventBus @@ -338,6 +339,7 @@ import java.util.* override fun setBusOperationView(view: IOchBusView) { busOperationStatus = view + busOperationStatus?.showBusOperation() } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bus_operation_status_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bus_operation_status_bg.xml index 753d85e3ec..1a5ed95148 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bus_operation_status_bg.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bus_operation_status_bg.xml @@ -1,14 +1,13 @@ - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_och_bus_operation.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_och_bus_operation.xml index d63245339c..34d3091b0b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_och_bus_operation.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_och_bus_operation.xml @@ -6,6 +6,7 @@ android:layout_height="wrap_content" android:layout_marginTop="40px" android:paddingBottom="40px" + android:visibility="gone" tools:ignore="DuplicateIds"> 60px 32px - 112px - 112px - 40px + 150px + 150px + 42px 40px 46px diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml index 030d9bc3ae..58c932f939 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/dimens.xml @@ -60,9 +60,9 @@ 60px 32px - 100px - 100px - 30px + 150px + 150px + 42px 40px 46px \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index b1b5ba84b9..6d3c324e2d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -60,7 +60,7 @@ HOOK_LOG_VERSION=1.6.1 SERVICE_CHAIN_VERSION=1.1.0 ################ 外部依赖引用 ################ # loglib -LOGLIB_VERSION=1.3.31 +LOGLIB_VERSION=1.3.38 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION MOGO_NETWORK_VERSION=1.4.3.17