diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index d16e2c13e5..9691975a38 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -1,24 +1,15 @@ package com.zhidao.mogo.module.main.launcher; -import android.Manifest; -import android.app.AlertDialog; -import android.content.DialogInterface; import android.content.Intent; -import android.content.pm.PackageManager; -import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Process; -import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.ImageView; -import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.debug.DebugConfig; @@ -31,21 +22,20 @@ import com.mogo.och.IMogoOCH; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.map.IMogoSmallMapProvider; import com.mogo.service.statusmanager.StatusDescriptor; -import com.mogo.service.v2x.IV2XListener; +import com.mogo.service.v2x.IV2XWarningListener; import com.mogo.utils.logger.Logger; import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM; import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_LEFT; import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_RIGHT; import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_TOP; -import static com.mogo.utils.ProcessUtils.getPackageName; /** * 针对作为Launcher的情况,做个性化操作 * * @author tongchenfei */ -public class MainLauncherActivity extends MainActivity implements IMogoIntentListener, IV2XListener { +public class MainLauncherActivity extends MainActivity implements IMogoIntentListener, IV2XWarningListener { private static final String TAG = "MainLauncherActivity"; protected boolean mIsHomeKeyDown = false; private static Handler handlerV2XEvent = new Handler(); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index b030a55dc1..69a96ba205 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -48,7 +48,6 @@ import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.VisualAngleMode; -import com.mogo.module.common.ModuleNames; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.dialog.WMDialog; import com.mogo.module.common.glide.SkinAbleBitmapTarget; @@ -111,7 +110,6 @@ import static com.mogo.module.share.constant.ShareConstants.KEY_SHARE_OUTER_GUID import static com.mogo.module.share.constant.ShareConstants.ONE_DAY_TIME; import static com.mogo.module.share.constant.ShareConstants.SEVEN_DAY_TIME; import static com.mogo.module.share.constant.ShareConstants.VOICE_ALERT_COUNT; - /** * @author congtaowang * @since 2020-01-07 @@ -212,7 +210,6 @@ public class EntranceFragment extends MvpFragment implements IV2XScenario { +public abstract class AbsV2XScenario implements IV2XScenario, IV2XWindowManagerListener { protected String TAG = "AbsV2XScenario"; private IV2XWindow mV2XWindow; private IV2XButton mV2XButton; @@ -99,4 +100,9 @@ public abstract class AbsV2XScenario implements IV2XScenario { } return mV2XMessageEntity.equals(v2XMessageEntity); } + + @Override + public void removeAllTipWindow() { + close(); + } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XFrontWarningScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XFrontWarningScenario.java index 37762d5ebd..a30218ddc0 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XFrontWarningScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XFrontWarningScenario.java @@ -1,7 +1,5 @@ package com.mogo.module.v2x.scenario.scene.warning; -import android.content.Context; -import android.content.Intent; import android.location.Location; import android.util.Log; import android.view.View; @@ -9,34 +7,17 @@ import android.view.ViewGroup; import androidx.annotation.Nullable; -import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.MogoLatLng; -import com.mogo.map.marker.IMogoMarker; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.V2XMessageEntity; -import com.mogo.module.common.entity.V2XPoiTypeEnum; -import com.mogo.module.common.entity.V2XPushMessageEntity; -import com.mogo.module.common.entity.V2XRoadEventEntity; import com.mogo.module.common.entity.V2XWarningEntity; -import com.mogo.module.service.MarkerServiceHandler; -import com.mogo.module.service.MogoServices; -import com.mogo.module.service.receiver.MogoReceiver; import com.mogo.module.v2x.R; import com.mogo.module.v2x.V2XServiceManager; -import com.mogo.module.v2x.entity.net.V2XSpecialCarRes; import com.mogo.module.v2x.scenario.impl.AbsV2XScenario; -import com.mogo.module.v2x.utils.ADASUtils; import com.mogo.module.v2x.utils.V2XUtils; -import com.mogo.service.MogoServicePaths; -import com.mogo.service.impl.MogoServiceApis; -import com.mogo.service.impl.v2x.V2XManager; -import com.mogo.service.v2x.IV2XListener; -import com.mogo.service.v2x.IV2XProvider; import com.mogo.service.windowview.IMogoTopViewStatusListener; -import java.util.List; - /** * @author liujing * @description 车路云—场景预警-V1.0 前车/行人/摩托车/盲区碰撞预警 diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XProvider.java index 96a94ac5e8..32488475e2 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XProvider.java @@ -1,7 +1,5 @@ package com.mogo.service.v2x; -import android.content.Intent; - import com.alibaba.android.arouter.facade.template.IProvider; /** @@ -10,9 +8,11 @@ import com.alibaba.android.arouter.facade.template.IProvider; * @since: 2021/3/24 */ public interface IV2XProvider extends IProvider { - public void registerIntentListener(String intent, IV2XListener listener); + public void registerIntentListener(String intent, Object listener); - public void unregisterIntentListener(String intent, IV2XListener listener); + public void unregisterIntentListener(String intent, IV2XWarningListener listener); public void warningChangedForListenerWithDirection(int direction, String command); + + public void changeTipWindowStatusForListener(String command); } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XListener.java b/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XWarningListener.java similarity index 60% rename from services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XListener.java rename to services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XWarningListener.java index 440dbca18d..c2cbae9850 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XListener.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XWarningListener.java @@ -5,6 +5,7 @@ package com.mogo.service.v2x; * @description 描述 * @since: 2021/3/24 */ -public interface IV2XListener { +public interface IV2XWarningListener { + //车路云预警后红色蒙层根据方位进行展示 void warningChangedWithDirection(int direction); } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XWindowManagerListener.java b/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XWindowManagerListener.java new file mode 100644 index 0000000000..b6b0abecd7 --- /dev/null +++ b/services/mogo-service-api/src/main/java/com/mogo/service/v2x/IV2XWindowManagerListener.java @@ -0,0 +1,11 @@ +package com.mogo.service.v2x; + +/** + * @author liujing + * @description 描述 + * @since: 2021/6/4 + */ +public interface IV2XWindowManagerListener { + //移除v2x的所有道路事件及预警弹框 + void removeAllTipWindow(); +} diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/v2x/V2XManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/v2x/V2XManager.java index 5b3bcbee05..1e722f0f30 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/v2x/V2XManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/v2x/V2XManager.java @@ -1,17 +1,14 @@ package com.mogo.service.impl.v2x; import android.content.Context; -import android.content.Intent; -import android.nfc.Tag; import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.service.MogoServicePaths; -import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.service.v2x.IV2XListener; +import com.mogo.service.v2x.IV2XWarningListener; import com.mogo.service.v2x.IV2XProvider; +import com.mogo.service.v2x.IV2XWindowManagerListener; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -24,10 +21,10 @@ import java.util.concurrent.CopyOnWriteArrayList; */ @Route(path = MogoServicePaths.PATH_V2X_FRONT_CRASH_WARNING) public class V2XManager implements IV2XProvider { - private final Map> mListeners = new ConcurrentHashMap<>(); + private final Map mListeners = new ConcurrentHashMap<>(); @Override - public void registerIntentListener(String intent, IV2XListener listener) { + public void registerIntentListener(String intent, Object listener) { if (listener == null || intent == null) { Log.d("V2XManager", "listener == null || intent == null"); return; @@ -40,7 +37,7 @@ public class V2XManager implements IV2XProvider { } @Override - public void unregisterIntentListener(String intent, IV2XListener listener) { + public void unregisterIntentListener(String intent, IV2XWarningListener listener) { if (mListeners.containsKey(intent)) { mListeners.get(intent).remove(listener); } @@ -48,9 +45,9 @@ public class V2XManager implements IV2XProvider { @Override public void warningChangedForListenerWithDirection(int direction, String command) { - List listeners = mListeners.get(command); + List listeners = mListeners.get(command); if (listeners != null && !listeners.isEmpty()) { - for (IV2XListener listener : listeners) { + for (IV2XWarningListener listener : listeners) { if (listener != null) { listener.warningChangedWithDirection(direction); } @@ -58,6 +55,18 @@ public class V2XManager implements IV2XProvider { } } + @Override + public void changeTipWindowStatusForListener(String command) { + List listeners = mListeners.get(command); + if (listeners != null && !listeners.isEmpty()) { + for (IV2XWindowManagerListener listener : listeners) { + if (listener != null) { + listener.removeAllTipWindow(); + } + } + } + } + @Override public void init(Context context) {