diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java index af70510f37..d8e75da75f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java @@ -4,6 +4,7 @@ import android.content.Context; import android.location.Location; import android.util.Log; +import com.mogo.eagle.core.data.autopilot.AdasOCHData; import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.data.map.MogoLatLng; @@ -12,16 +13,21 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListen import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.module.common.MogoApisHandler; +import com.mogo.service.adas.IMogoAdasOCHCallback; +import com.mogo.service.adas.IMogoAdasRouteCallBack; +import com.mogo.service.adas.IMogoAdasTrajectoryDataCallBack; +import com.mogo.service.adas.entity.ADASTrajectoryInfo; import java.util.ArrayList; import java.util.List; -public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2, IMoGoAutopilotPlanningListener { +public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2, IMoGoAutopilotPlanningListener,IMogoAdasOCHCallback { private static volatile MogoRouteOverlayManager sInstance; private Context mContext; private String TAG = "MogoRouteOverlayManager"; + private int STATUS_AUTOPILOT=0; - private MogoRouteOverlayManager(Context context) { + private MogoRouteOverlayManager(Context context){ mContext = context; } @@ -31,7 +37,9 @@ public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2 .getRegisterCenterApi() .registerCarLocationChangedListener("MogoRouteOverlayManager", this); CallerAutopilotPlanningListenerManager.INSTANCE.addListener("MogoRouteOverlayManager", this); - } + MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasOCHCallback(this); + + } public static MogoRouteOverlayManager getInstance(Context context) { if (sInstance == null) { @@ -97,4 +105,17 @@ public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2 Log.e(TAG, "routeResult:" + latLngList.size()); RouteOverlayDrawer.getInstance(mContext).putRouteList(latLngList); } + + @Override + public void onArriveAt(AdasOCHData data) { + RouteOverlayDrawer.getInstance(mContext).clearMogoRouteOverlay(); + } + + @Override + public void onStateChanged(int state, String reason) { + this.STATUS_AUTOPILOT = state; + if (state != IMogoAdasOCHCallback.STATUS_AUTOPILOT_RUNNING){ + RouteOverlayDrawer.getInstance(mContext).clearMogoRouteOverlay(); + } + } }