1. 接入obu sdk

2. 进行数据转发功能开发
This commit is contained in:
tongchenfei
2020-06-23 20:22:05 +08:00
parent 542ddba5c4
commit a96acc698c
29 changed files with 514 additions and 11 deletions

View File

@@ -20,7 +20,11 @@ import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.main.registercenter.MogoRegisterCenterHandler;
import com.mogo.service.obu.IMogoObuDataChangedListener;
import com.mogo.utils.logger.Logger;
import com.zhidao.smartv2x.model.obu.CarEventInfo;
import com.zhidao.smartv2x.model.obu.CarLocationInfo;
import com.zhidao.smartv2x.model.obu.TrafficLightInfo;
import java.util.Iterator;
@@ -37,7 +41,8 @@ public class EventDispatchCenter implements
IMogoCarLocationChangedListener2,
IMogoMapListener,
IMogoNaviListener2,
IMogoLocationListener {
IMogoLocationListener,
IMogoObuDataChangedListener {
private static volatile EventDispatchCenter sInstance;
@@ -459,4 +464,48 @@ public class EventDispatchCenter implements
}
}
}
@Override
public void showCarLocationInfo(CarLocationInfo info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showCarLocationInfo(info);
}
}
@Override
public void showOtherInfo(String info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showOtherInfo(info);
}
}
@Override
public void showTrafficLightInfo(TrafficLightInfo info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showTrafficLightInfo(info);
}
}
@Override
public void showCarEventInfo(CarEventInfo info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showCarEventInfo(info);
}
}
}

View File

@@ -8,27 +8,21 @@ import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.mvp.MvpActivity;
import com.mogo.commons.voice.AIAssist;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
import com.mogo.module.main.cards.MogoModulesHandler;
import com.mogo.module.main.cards.MogoModulesManager;
import com.mogo.module.main.service.MogoMainService;
import com.mogo.module.main.windowview.FloatingViewHandler;
import com.mogo.module.service.ServiceConst;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
@@ -38,8 +32,6 @@ import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.logger.Logger;
import com.zhidao.autopilot.support.api.AutopilotServiceManage;
import org.aspectj.lang.annotation.Around;
import java.util.List;
/**
@@ -133,6 +125,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this );
}
mServiceApis.getObuManager().registerObuDataChangedListener(EventDispatchCenter.getInstance());
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
// 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。

View File

@@ -12,9 +12,9 @@ import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.obu.IMogoObuDataChangedListener;
import java.util.Iterator;
import java.util.List;
/**
* @author congtaowang
@@ -100,6 +100,16 @@ public class MogoRegisterCenter implements IMogoRegisterCenter {
MogoRegisterCenterHandler.getInstance().unregisterCarLocationChangedListener( tag, listener );
}
@Override
public void registerObuDataListener(String tag, IMogoObuDataChangedListener listener) {
MogoRegisterCenterHandler.getInstance().registerObuDataListener(tag, listener);
}
@Override
public void unregisterObuDataListener(String tag) {
MogoRegisterCenterHandler.getInstance().unregisterObuDataListener(tag);
}
@Override
public void init( Context context ) {
}

View File

@@ -10,6 +10,7 @@ import com.mogo.map.navi.IMogoCarLocationChangedListener;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.obu.IMogoObuDataChangedListener;
import java.util.HashMap;
import java.util.Iterator;
@@ -32,6 +33,7 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
private Map< String, IMogoMarkerClickListener > mMarker = new HashMap<>();
private Map< String, IMogoAimlessModeListener > mAimless = new HashMap<>();
private Map< String, IMogoCarLocationChangedListener > mCarLocations = new HashMap<>();
private Map<String, IMogoObuDataChangedListener> mObus = new HashMap<>();
private MogoRegisterCenterHandler() {
}
@@ -122,6 +124,16 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
mCarLocations.remove( tag );
}
@Override
public void registerObuDataListener(String tag, IMogoObuDataChangedListener listener) {
mObus.put(tag, listener);
}
@Override
public void unregisterObuDataListener(String tag) {
mObus.remove(tag);
}
@Override
public void init( Context context ) {
}
@@ -158,6 +170,9 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
return mNavi.values().iterator();
}
public Iterator<IMogoObuDataChangedListener> getObuDataChangedListeners(){
return mObus.values().iterator();
}
@Override
public Iterator< IMogoLocationListener > getLocationListeners() {
return mLocation.values().iterator();
@@ -176,5 +191,4 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
return mCarLocations.values().iterator();
}
}