应用启动时根据自动驾驶状态改变tvc状态

This commit is contained in:
tongchenfei
2021-01-27 11:08:19 +08:00
parent 3fb4144b47
commit 805e18c6e3
2 changed files with 45 additions and 14 deletions

View File

@@ -169,13 +169,36 @@ public class OchBusPresenter extends Presenter<OchBusFragment> implements IMogoA
Logger.e(TAG, "index out of station list");
return;
}
// 始发站改为Stoped其他站改为Idle
stationList.get(currentStationIndex).setIsCurrentSite(STATION_STATUS_IDLE);
currentStationIndex = 0;
stationList.get(currentStationIndex).setIsCurrentSite(STATION_STATUS_STOPED);
if (mView != null) {
mView.refreshBusStations(stationList);
}
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<BaseData>(RequestOptions.create(getContext())) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
// 始发站改为Stoped其他站改为Idle
stationList.get(currentStationIndex).setIsCurrentSite(STATION_STATUS_IDLE);
currentStationIndex = 0;
stationList.get(currentStationIndex).setIsCurrentSite(STATION_STATUS_STOPED);
if (mView != null) {
mView.refreshBusStations(stationList);
}
}
@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");
}
});
}
@Override
@@ -186,16 +209,24 @@ public class OchBusPresenter extends Presenter<OchBusFragment> implements IMogoA
mView.onAutopilotStatusChanged(false);
break;
case IMogoAdasOCHCallback.STATUS_AUTOPILOT_RUNNING:
mView.onAutopilotEnableChange(true);
mView.onAutopilotStatusChanged(true);
mView.hideSlidePanel();
mView.hideNotice();
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<BaseData>(RequestOptions.create(getContext())) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
mView.onAutopilotEnableChange(true);
mView.onAutopilotStatusChanged(true);
mView.hideSlidePanel();
mView.hideNotice();
if (mView != null) {
mView.refreshBusStations(stationList);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
@@ -210,9 +241,7 @@ public class OchBusPresenter extends Presenter<OchBusFragment> implements IMogoA
});
if (mView != null) {
mView.refreshBusStations(stationList);
}
break;
default:
mView.onAutopilotEnableChange(false);

View File

@@ -66,6 +66,8 @@ public abstract class BaseOchFragment<V extends IView, P extends Presenter<V>> e
}
});
onAutopilotStatusChanged(MogoApisHandler.getInstance().getApis().getAdasControllerApi().getAutopilotStatus() == IMogoAdasOCHCallback.STATUS_AUTOPILOT_RUNNING);
checkCallView(MogoApisHandler.getInstance().getApis().getStatusManagerApi().isCallViewShow());
MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener("Och", StatusDescriptor.CALL_VIEW, callViewListener);