add new function of click map static marker

This commit is contained in:
zhongchao
2021-04-28 19:55:10 +08:00
parent 24d97544bc
commit a19789abf7
19 changed files with 352 additions and 156 deletions

View File

@@ -1,7 +1,6 @@
package com.mogo.module.main;
import android.location.Location;
import android.util.Log;
import android.view.MotionEvent;
import com.mogo.map.MogoLatLng;
@@ -20,7 +19,6 @@ import com.mogo.map.navi.MogoCongestionInfo;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.main.registercenter.MogoRegisterCenterHandler;
import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
import com.mogo.utils.logger.Logger;
@@ -28,6 +26,7 @@ import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
import com.zhidao.adasconfig.listener.IAdasSettingUIListener;
import com.zhidao.adasconfig.listener.IAdasSkinStyleListener;
import java.util.ArrayList;
import java.util.Iterator;
/**
@@ -80,6 +79,22 @@ public class EventDispatchCenter implements
return false;
}
@Override
public boolean onStaticMarkerClicked(IMogoMarker marker) {
ArrayList<IMogoMarkerClickListener> list = MogoRegisterCenterHandler.getInstance().getStaticMarkerListener( marker.getOwner() );
if(list == null){
return false;
}
try {
for (IMogoMarkerClickListener listener : list) {
return listener.onStaticMarkerClicked( marker );
}
} catch ( Exception e){
Logger.e( TAG, e, "error." );
}
return false;
}
@Override
public void onUpdateTraffic2( MogoTraffic traffic ) {
Iterator< IMogoAimlessModeListener > iterator = MogoRegisterCenterHandler.getInstance().getAimlessModeListeners();

View File

@@ -22,100 +22,110 @@ import java.util.Iterator;
* <p>
* 描述
*/
@Route( path = MogoServicePaths.PATH_REGISTER_CENTER )
@Route(path = MogoServicePaths.PATH_REGISTER_CENTER)
public class MogoRegisterCenter implements IMogoRegisterCenter {
@Override
public void registerMogoModuleLifecycle( String moduleName, IMogoModuleLifecycle lifecycle ) {
MogoRegisterCenterHandler.getInstance().registerMogoModuleLifecycle( moduleName, lifecycle );
public void registerMogoModuleLifecycle(String moduleName, IMogoModuleLifecycle lifecycle) {
MogoRegisterCenterHandler.getInstance().registerMogoModuleLifecycle(moduleName, lifecycle);
}
@Override
public void unregisterMogoModuleLifecycle( String moduleName ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoModuleLifecycle( moduleName );
public void unregisterMogoModuleLifecycle(String moduleName) {
MogoRegisterCenterHandler.getInstance().unregisterMogoModuleLifecycle(moduleName);
}
@Override
public void registerMogoMapListener( String moduleName, IMogoMapListener listener ) {
MogoRegisterCenterHandler.getInstance().registerMogoMapListener( moduleName, listener );
public void registerMogoMapListener(String moduleName, IMogoMapListener listener) {
MogoRegisterCenterHandler.getInstance().registerMogoMapListener(moduleName, listener);
}
@Override
public void unregisterMogoMapListener( String moduleName ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoMapListener( moduleName );
public void unregisterMogoMapListener(String moduleName) {
MogoRegisterCenterHandler.getInstance().unregisterMogoMapListener(moduleName);
}
@Override
public void registerMogoNaviListener( String moduleName, IMogoNaviListener listener ) {
MogoRegisterCenterHandler.getInstance().registerMogoNaviListener( moduleName, listener );
public void registerMogoNaviListener(String moduleName, IMogoNaviListener listener) {
MogoRegisterCenterHandler.getInstance().registerMogoNaviListener(moduleName, listener);
}
@Override
public void unregisterMogoNaviListener( String moduleName ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoNaviListener( moduleName );
public void unregisterMogoNaviListener(String moduleName) {
MogoRegisterCenterHandler.getInstance().unregisterMogoNaviListener(moduleName);
}
@Override
public void registerMogoLocationListener( String moduleName, IMogoLocationListener listener ) {
MogoRegisterCenterHandler.getInstance().registerMogoLocationListener( moduleName, listener );
public void registerMogoLocationListener(String moduleName, IMogoLocationListener listener) {
MogoRegisterCenterHandler.getInstance().registerMogoLocationListener(moduleName, listener);
}
@Override
public Iterator< IMogoLocationListener > getLocationListeners() {
public Iterator<IMogoLocationListener> getLocationListeners() {
return MogoRegisterCenterHandler.getInstance().getLocationListeners();
}
@Override
public void unregisterMogoLocationListener( String moduleName ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoLocationListener( moduleName );
public void unregisterMogoLocationListener(String moduleName) {
MogoRegisterCenterHandler.getInstance().unregisterMogoLocationListener(moduleName);
}
@Override
public void registerMogoMarkerClickListener( String moduleName, IMogoMarkerClickListener listener ) {
MogoRegisterCenterHandler.getInstance().registerMogoMarkerClickListener( moduleName, listener );
public void registerMogoMarkerClickListener(String moduleName, IMogoMarkerClickListener listener) {
MogoRegisterCenterHandler.getInstance().registerMogoMarkerClickListener(moduleName, listener);
}
@Override
public void unregisterMogoMarkerClickListener( String moduleName ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoMarkerClickListener( moduleName );
public void unregisterMogoMarkerClickListener(String moduleName) {
MogoRegisterCenterHandler.getInstance().unregisterMogoMarkerClickListener(moduleName);
}
@Override
public void registerMogoAimlessModeListener( String tag, IMogoAimlessModeListener listener ) {
MogoRegisterCenterHandler.getInstance().registerMogoAimlessModeListener( tag, listener );
public void registerMogoStaticMarkerClickListener(String tag, IMogoMarkerClickListener listener) {
MogoRegisterCenterHandler.getInstance().registerMogoStaticMarkerClickListener(tag, listener);
}
@Override
public void unregisterMogoAimlessModeListener( String tag ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoAimlessModeListener( tag );
public void unregisterMogoStaticMarkerClickListener(String tag, IMogoMarkerClickListener listener ) {
MogoRegisterCenterHandler.getInstance().unregisterMogoStaticMarkerClickListener(tag, listener);
}
@Override
public void registerCarLocationChangedListener( String tag, IMogoCarLocationChangedListener listener ) {
MogoRegisterCenterHandler.getInstance().registerCarLocationChangedListener( tag, listener );
public void registerMogoAimlessModeListener(String tag, IMogoAimlessModeListener listener) {
MogoRegisterCenterHandler.getInstance().registerMogoAimlessModeListener(tag, listener);
}
@Override
public void unregisterCarLocationChangedListener( String tag, IMogoCarLocationChangedListener listener ) {
MogoRegisterCenterHandler.getInstance().unregisterCarLocationChangedListener( tag, listener );
public void unregisterMogoAimlessModeListener(String tag) {
MogoRegisterCenterHandler.getInstance().unregisterMogoAimlessModeListener(tag);
}
@Override
public void registerADASControlStatusChangedListener( String tag, IMogoADASControlStatusChangedListener listener ) {
MogoRegisterCenterHandler.getInstance().registerADASControlStatusChangedListener( tag, listener );
public void registerCarLocationChangedListener(String tag, IMogoCarLocationChangedListener listener) {
MogoRegisterCenterHandler.getInstance().registerCarLocationChangedListener(tag, listener);
}
@Override
public void unregisterADASControlStatusChangedListener( String tag ) {
MogoRegisterCenterHandler.getInstance().unregisterADASControlStatusChangedListener( tag );
public void unregisterCarLocationChangedListener(String tag, IMogoCarLocationChangedListener listener) {
MogoRegisterCenterHandler.getInstance().unregisterCarLocationChangedListener(tag, listener);
}
@Override
public Iterator< IMogoADASControlStatusChangedListener > getAdasControlStatusChangedListeners() {
public void registerADASControlStatusChangedListener(String tag, IMogoADASControlStatusChangedListener listener) {
MogoRegisterCenterHandler.getInstance().registerADASControlStatusChangedListener(tag, listener);
}
@Override
public void unregisterADASControlStatusChangedListener(String tag) {
MogoRegisterCenterHandler.getInstance().unregisterADASControlStatusChangedListener(tag);
}
@Override
public Iterator<IMogoADASControlStatusChangedListener> getAdasControlStatusChangedListeners() {
return MogoRegisterCenterHandler.getInstance().getAdasControlStatusChangedListeners();
}
@Override
public void init( Context context ) {
public void init(Context context) {
}
}

View File

@@ -12,6 +12,7 @@ import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoRegisterCenter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -27,22 +28,23 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
private static volatile MogoRegisterCenterHandler sInstance;
private Map< String, IMogoModuleLifecycle > mLifecycle = new HashMap<>();
private Map< String, IMogoMapListener > mMap = new HashMap<>();
private Map< String, IMogoNaviListener > mNavi = new ConcurrentHashMap<>();
private Map< String, IMogoLocationListener > mLocation = new HashMap<>();
private Map< String, IMogoMarkerClickListener > mMarker = new HashMap<>();
private Map< String, IMogoAimlessModeListener > mAimless = new HashMap<>();
private Map< String, IMogoCarLocationChangedListener > mCarLocations = new ConcurrentHashMap<>();
private Map< String, IMogoADASControlStatusChangedListener > mADAS = new HashMap<>();
private final Map<String, IMogoModuleLifecycle> mLifecycle = new HashMap<>();
private final Map<String, IMogoMapListener> mMap = new HashMap<>();
private final Map<String, IMogoNaviListener> mNavi = new ConcurrentHashMap<>();
private final Map<String, IMogoLocationListener> mLocation = new HashMap<>();
private final Map<String, IMogoMarkerClickListener> mMarker = new HashMap<>();
private final Map<String, ArrayList<IMogoMarkerClickListener>> mStaticMarker = new HashMap<>();
private final Map<String, IMogoAimlessModeListener> mAimless = new HashMap<>();
private final Map<String, IMogoCarLocationChangedListener> mCarLocations = new ConcurrentHashMap<>();
private final Map<String, IMogoADASControlStatusChangedListener> mADAS = new HashMap<>();
private MogoRegisterCenterHandler() {
}
public static MogoRegisterCenterHandler getInstance() {
if ( sInstance == null ) {
synchronized ( MogoRegisterCenterHandler.class ) {
if ( sInstance == null ) {
if (sInstance == null) {
synchronized (MogoRegisterCenterHandler.class) {
if (sInstance == null) {
sInstance = new MogoRegisterCenterHandler();
}
}
@@ -56,141 +58,166 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
@Override
public void registerMogoModuleLifecycle( String tag, IMogoModuleLifecycle lifecycle ) {
mLifecycle.put( tag, lifecycle );
public void registerMogoModuleLifecycle(String tag, IMogoModuleLifecycle lifecycle) {
mLifecycle.put(tag, lifecycle);
}
@Override
public void unregisterMogoModuleLifecycle( String tag ) {
mLifecycle.remove( tag );
public void unregisterMogoModuleLifecycle(String tag) {
mLifecycle.remove(tag);
}
@Override
public void registerMogoMapListener( String tag, IMogoMapListener listener ) {
mMap.put( tag, listener );
public void registerMogoMapListener(String tag, IMogoMapListener listener) {
mMap.put(tag, listener);
}
@Override
public void unregisterMogoMapListener( String tag ) {
mMap.remove( tag );
public void unregisterMogoMapListener(String tag) {
mMap.remove(tag);
}
@Override
public void registerMogoNaviListener( String tag, IMogoNaviListener listener ) {
mNavi.put( tag, listener );
public void registerMogoNaviListener(String tag, IMogoNaviListener listener) {
mNavi.put(tag, listener);
}
@Override
public void unregisterMogoNaviListener( String tag ) {
mNavi.remove( tag );
public void unregisterMogoNaviListener(String tag) {
mNavi.remove(tag);
}
@Override
public void registerMogoLocationListener( String tag, IMogoLocationListener listener ) {
mLocation.put( tag, listener );
public void registerMogoLocationListener(String tag, IMogoLocationListener listener) {
mLocation.put(tag, listener);
}
@Override
public void unregisterMogoLocationListener( String tag ) {
mLocation.remove( tag );
public void unregisterMogoLocationListener(String tag) {
mLocation.remove(tag);
}
@Override
public void registerMogoMarkerClickListener( String tag, IMogoMarkerClickListener listener ) {
mMarker.put( tag, listener );
public void registerMogoMarkerClickListener(String tag, IMogoMarkerClickListener listener) {
mMarker.put(tag, listener);
}
@Override
public void unregisterMogoMarkerClickListener( String tag ) {
mMarker.remove( tag );
public void unregisterMogoMarkerClickListener(String tag) {
mMarker.remove(tag);
}
@Override
public void registerMogoAimlessModeListener( String tag, IMogoAimlessModeListener listener ) {
mAimless.put( tag, listener );
public void registerMogoStaticMarkerClickListener(String tag, IMogoMarkerClickListener listener) {
ArrayList<IMogoMarkerClickListener> list = mStaticMarker.get(tag);
if (list == null) {
list = new ArrayList<>();
list.add(listener);
mStaticMarker.put(tag, list);
}
list.add(listener);
mStaticMarker.put(tag, list);
}
@Override
public void unregisterMogoAimlessModeListener( String tag ) {
mAimless.remove( tag );
public void unregisterMogoStaticMarkerClickListener(String tag, IMogoMarkerClickListener listener) {
ArrayList<IMogoMarkerClickListener> list = mStaticMarker.get(tag);
if (list == null) {
return;
}
list.remove(listener);
}
@Override
public void registerCarLocationChangedListener( String tag, IMogoCarLocationChangedListener listener ) {
mCarLocations.put( tag, listener );
public void registerMogoAimlessModeListener(String tag, IMogoAimlessModeListener listener) {
mAimless.put(tag, listener);
}
@Override
public void unregisterCarLocationChangedListener( String tag, IMogoCarLocationChangedListener listener ) {
mCarLocations.remove( tag );
public void unregisterMogoAimlessModeListener(String tag) {
mAimless.remove(tag);
}
@Override
public void registerADASControlStatusChangedListener( String tag, IMogoADASControlStatusChangedListener listener ) {
mADAS.put( tag, listener );
public void registerCarLocationChangedListener(String tag, IMogoCarLocationChangedListener listener) {
mCarLocations.put(tag, listener);
}
@Override
public void unregisterADASControlStatusChangedListener( String tag ) {
mADAS.remove( tag );
public void unregisterCarLocationChangedListener(String tag, IMogoCarLocationChangedListener listener) {
mCarLocations.remove(tag);
}
@Override
public void init( Context context ) {
public void registerADASControlStatusChangedListener(String tag, IMogoADASControlStatusChangedListener listener) {
mADAS.put(tag, listener);
}
public IMogoModuleLifecycle getLifecycleListener( String tag ) {
return mLifecycle.get( tag );
@Override
public void unregisterADASControlStatusChangedListener(String tag) {
mADAS.remove(tag);
}
public IMogoMapListener getMapListener( String tag ) {
return mMap.get( tag );
@Override
public void init(Context context) {
}
public IMogoNaviListener getNaviListener( String tag ) {
return mNavi.get( tag );
public IMogoModuleLifecycle getLifecycleListener(String tag) {
return mLifecycle.get(tag);
}
public IMogoLocationListener getLocationListener( String tag ) {
return mLocation.get( tag );
public IMogoMapListener getMapListener(String tag) {
return mMap.get(tag);
}
public IMogoMarkerClickListener getMarkerListener( String tag ) {
return mMarker.get( tag );
public IMogoNaviListener getNaviListener(String tag) {
return mNavi.get(tag);
}
public Iterator< IMogoModuleLifecycle > getLifecycleListeners() {
public IMogoLocationListener getLocationListener(String tag) {
return mLocation.get(tag);
}
public IMogoMarkerClickListener getMarkerListener(String tag) {
return mMarker.get(tag);
}
public ArrayList<IMogoMarkerClickListener> getStaticMarkerListener(String tag){
return mStaticMarker.get(tag);
}
public Iterator<IMogoModuleLifecycle> getLifecycleListeners() {
return mLifecycle.values().iterator();
}
public Iterator< IMogoMapListener > getMapListeners() {
public Iterator<IMogoMapListener> getMapListeners() {
return mMap.values().iterator();
}
public Iterator< IMogoNaviListener > getNaviListeners() {
public Iterator<IMogoNaviListener> getNaviListeners() {
return mNavi.values().iterator();
}
@Override
public Iterator< IMogoLocationListener > getLocationListeners() {
public Iterator<IMogoLocationListener> getLocationListeners() {
return mLocation.values().iterator();
}
public Iterator< IMogoMarkerClickListener > getMarkerListeners() {
public Iterator<IMogoMarkerClickListener> getMarkerListeners() {
return mMarker.values().iterator();
}
public Iterator< IMogoAimlessModeListener > getAimlessModeListeners() {
public Iterator<IMogoAimlessModeListener> getAimlessModeListeners() {
return mAimless.values().iterator();
}
public Iterator< IMogoCarLocationChangedListener > getCarLocationChangedListener() {
public Iterator<IMogoCarLocationChangedListener> getCarLocationChangedListener() {
return mCarLocations.values().iterator();
}
@Override
public Iterator< IMogoADASControlStatusChangedListener > getAdasControlStatusChangedListeners() {
public Iterator<IMogoADASControlStatusChangedListener> getAdasControlStatusChangedListeners() {
return mADAS.values().iterator();
}
}