diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 771c1f74d7..740794bd48 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -89,6 +89,7 @@
+
diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java
index c21df5562b..99163a9ab7 100644
--- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java
+++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java
@@ -108,17 +108,19 @@ public class OchBusFragment extends BaseOchFragment implements IMogoA
if (mView != null && o.getResult() != null && o.getResult().getSite() != null) {
stationList.clear();
stationList.addAll(o.getResult().getSite());
+ for (int i = 0;i implements IMogoA
currentAutopilot.vehicleType = VEHICAL_TYPE;
Logger.d(TAG, "开启自动驾驶====" + currentAutopilot);
MogoApisHandler.getInstance().getApis().getAdasControllerApi().aiCloudToAdasData(currentAutopilot);
+
+ if (mView != null) {
+ mView.refreshBusStations(stationList);
+ }
+ mView.hideSlidePanel();
+ mView.hideNotice();
+
+ if (isGoingToNextStation) {
+ // 为了避免恢复自动驾驶时重复的接口请求
+ return;
+ }
+ isGoingToNextStation = true;
+ RequestBody request = RequestBody.create(MediaType.get("application/json"), GsonUtil.jsonFromObject(new OchBusLeaveStationRequest(Utils.getSn(), stationList.get(currentStationIndex).getSiteId())));
+ MogoApisHandler.getInstance().getApis().getNetworkApi()
+ .create(IOchBusApiService.class, HostConst.OCH_DOMAIN)
+ .leaveStation(request).subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
+ @Override
+ public void onSuccess(BaseData o) {
+ super.onSuccess(o);
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ Logger.d(TAG, "leave station error: " + message);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ Logger.e(TAG, e, "leave station exception");
+ }
+ });
}
private void refreshCurrentStation() {
@@ -182,6 +229,7 @@ public class OchBusPresenter extends Presenter implements IMogoA
return;
}
Logger.d(TAG, "单程结束====");
+ MogoApisHandler.getInstance().getApis().getAdasControllerApi().cancelAutopilot();
RequestBody request = RequestBody.create(MediaType.get("application/json"), GsonUtil.jsonFromObject(new OchBusLeaveStationRequest(Utils.getSn(), stationList.get(currentStationIndex).getSiteId())));
MogoApisHandler.getInstance().getApis().getNetworkApi()
.create(IOchBusApiService.class, HostConst.OCH_DOMAIN)
@@ -227,43 +275,8 @@ public class OchBusPresenter extends Presenter implements IMogoA
}
break;
case IMogoAdasOCHCallback.STATUS_AUTOPILOT_RUNNING:
- mView.onAutopilotEnableChange(true);
+// mView.onAutopilotEnableChange(true);
mView.onAutopilotStatusChanged(true);
- mView.hideSlidePanel();
- mView.hideNotice();
- if (mView != null) {
- mView.refreshBusStations(stationList);
- }
- if (isGoingToNextStation) {
- // 为了避免恢复自动驾驶时重复的接口请求
- return;
- }
- isGoingToNextStation = true;
- RequestBody request = RequestBody.create(MediaType.get("application/json"), GsonUtil.jsonFromObject(new OchBusLeaveStationRequest(Utils.getSn(), stationList.get(currentStationIndex).getSiteId())));
- MogoApisHandler.getInstance().getApis().getNetworkApi()
- .create(IOchBusApiService.class, HostConst.OCH_DOMAIN)
- .leaveStation(request).subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSuccess(BaseData o) {
- super.onSuccess(o);
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- Logger.d(TAG, "leave station error: " + message);
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- Logger.e(TAG, e, "leave station exception");
- }
- });
-
-
break;
default:
mView.onAutopilotEnableChange(false);
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
index 53a5b72285..8b5b351b7d 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
@@ -146,8 +146,9 @@ public interface IMogoADASController extends IProvider {
void mockOchStatus( int state, String reason );
-
double getLastLat();
double getLastLon();
+
+ void cancelAutopilot();
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
index bfce908d44..7e15fa39d2 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
@@ -3,6 +3,7 @@ package com.mogo.service.impl.adas;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
+import android.os.RemoteException;
import android.text.TextUtils;
import android.util.Log;
@@ -708,4 +709,13 @@ public class MogoADASController implements IMogoADASController {
}
}
}
+
+ @Override
+ public void cancelAutopilot() {
+ try {
+ AutopilotServiceManage.getInstance().cancelAutopilot();
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
+ }
}