diff --git a/app/functions/eventpanel.gradle b/app/functions/eventpanel.gradle index 8fd4d2cacf..335614ab29 100644 --- a/app/functions/eventpanel.gradle +++ b/app/functions/eventpanel.gradle @@ -2,7 +2,7 @@ project.dependencies { if (Boolean.valueOf(RELEASE)) { - d8xxImplementation rootProject.ext.dependencies.moduleventpanel + d8xxImplementation rootProject.ext.dependencies.moduleventpanelnoop d82xImplementation rootProject.ext.dependencies.moduleventpanelnoop em1Implementation rootProject.ext.dependencies.moduleventpanelnoop @@ -12,7 +12,7 @@ project.dependencies { f8xxImplementation rootProject.ext.dependencies.moduleventpanelnoop em3Implementation rootProject.ext.dependencies.moduleventpanelnoop } else { - d8xxImplementation project(':modules:mogo-module-event-panel') + d8xxImplementation project(':modules:mogo-module-event-panel-noop') d82xImplementation project(':modules:mogo-module-event-panel-noop') em1Implementation project(':modules:mogo-module-event-panel-noop') diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/GeocodeSearchClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/GeocodeSearchClient.java index 4de829cd54..3e6a25132f 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/GeocodeSearchClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/GeocodeSearchClient.java @@ -4,9 +4,11 @@ import android.content.Context; import com.amap.api.services.core.AMapException; import com.amap.api.services.geocoder.GeocodeAddress; +import com.amap.api.services.geocoder.GeocodeQuery; import com.amap.api.services.geocoder.GeocodeResult; import com.amap.api.services.geocoder.GeocodeSearch; import com.amap.api.services.geocoder.RegeocodeAddress; +import com.amap.api.services.geocoder.RegeocodeQuery; import com.amap.api.services.geocoder.RegeocodeResult; import com.mogo.map.exception.MogoMapException; import com.mogo.map.impl.amap.utils.ObjectUtils; @@ -16,6 +18,7 @@ import com.mogo.map.search.geo.MogoGeocodeAddress; import com.mogo.map.search.geo.MogoRegeocodeAddress; import com.mogo.map.search.geo.query.MogoGeocodeQuery; import com.mogo.map.search.geo.query.MogoRegeocodeQuery; +import com.mogo.utils.logger.Logger; import java.util.ArrayList; import java.util.List; @@ -28,6 +31,8 @@ import java.util.List; */ public class GeocodeSearchClient implements IMogoGeoSearch, GeocodeSearch.OnGeocodeSearchListener { + private static final String TAG = "GeocodeSearchClient"; + private GeocodeSearch mClient; private IMogoGeoSearchListener mListener; @@ -74,14 +79,32 @@ public class GeocodeSearchClient implements IMogoGeoSearch, GeocodeSearch.OnGeoc @Override public void getFromLocationAsyn( MogoRegeocodeQuery query ) { if ( mClient != null ) { - mClient.getFromLocationAsyn( ObjectUtils.fromMogo( query ) ); + if ( query == null ) { + Logger.e( TAG, "query parameter is null." ); + return; + } + RegeocodeQuery origin = ObjectUtils.fromMogo( query ); + if ( origin == null || !query.check() ) { + Logger.e( TAG, "query parameter is null or no point parameter." ); + return; + } + mClient.getFromLocationAsyn( origin ); } } @Override public void getFromLocationNameAsyn( MogoGeocodeQuery query ) { if ( mClient != null ) { - mClient.getFromLocationNameAsyn( ObjectUtils.fromMogo( query ) ); + if ( query == null ) { + Logger.e( TAG, "query parameter is null." ); + return; + } + GeocodeQuery origin = ObjectUtils.fromMogo( query ); + if ( origin == null || !query.check() ) { + Logger.e( TAG, "query parameter is null or locationName is empty." ); + return; + } + mClient.getFromLocationNameAsyn( origin ); } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoGeocodeQuery.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoGeocodeQuery.java index 988533cc5f..159ef29be1 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoGeocodeQuery.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoGeocodeQuery.java @@ -2,6 +2,7 @@ package com.mogo.map.search.geo.query; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; /** * @author congtaowang @@ -29,6 +30,12 @@ public class MogoGeocodeQuery implements Parcelable { this.city = city; } + public boolean check(){ + if ( TextUtils.isEmpty( locationName ) ) { + return false; + } + return true; + } @Override public int describeContents() { diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoRegeocodeQuery.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoRegeocodeQuery.java index ea5bf42895..75446b08d6 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoRegeocodeQuery.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/search/geo/query/MogoRegeocodeQuery.java @@ -50,6 +50,18 @@ public class MogoRegeocodeQuery implements Parcelable { this.poiType = poiType; } + public boolean check() { + if ( point == null ) { + return false; + } + if ( point.lat < 1 && point.lon < 1 ) { + return false; + } + if ( radius < 0 ) { + return false; + } + return true; + } @Override public int describeContents() { diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java index ab5af1e04c..dfa80f15fd 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java @@ -21,6 +21,7 @@ import com.mogo.module.apps.model.AppEnum; import com.mogo.module.apps.model.AppInfo; import com.mogo.module.apps.model.NavigatorApps; import com.mogo.module.apps.view.OnAiAssistClickListener; +import com.mogo.service.fragmentmanager.FragmentStackTransactionListener; import com.mogo.utils.AppUtils; import com.mogo.utils.CommonUtils; @@ -33,7 +34,9 @@ import java.util.Map; *
* 描述
*/
-public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavigatorPresenter > implements AppNavigatorView {
+public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavigatorPresenter >
+ implements AppNavigatorView,
+ FragmentStackTransactionListener {
private static final String TAG = "AppNavigatorFragment";
@@ -74,14 +77,17 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
mAIAssist.performClick();
} );
- AppServiceHandler.getApis().getFragmentManagerApi().addMainFragmentStackTransactionListener( size -> {
- // 主页 fragment 栈变化的时候,改变动画状态
- if ( size == 0 ) {
- mAnim.start();
- } else {
- mAnim.stop();
- }
- } );
+ AppServiceHandler.getApis().getFragmentManagerApi().addMainFragmentStackTransactionListener( this );
+ }
+
+ @Override
+ public void onTransaction( int size ) {
+ // 主页 fragment 栈变化的时候,改变动画状态
+ if ( size == 0 ) {
+ mAnim.start();
+ } else {
+ mAnim.stop();
+ }
}
@Override
@@ -151,5 +157,6 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
if ( mPresenter != null ) {
mPresenter.onDestroy( getViewLifecycleOwner() );
}
+ AppServiceHandler.getApis().getFragmentManagerApi().removeMainFragmentStackTransactionListener( this );
}
}
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
index 7b39a6b5a3..5aaf7a9c38 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
@@ -115,6 +115,7 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
@Override
public void onDestroy( @NonNull LifecycleOwner owner ) {
super.onDestroy( owner );
+ AppServiceHandler.getApis().getRegisterCenterApi().unregisterMogoNaviListener( TAG );
AppServiceHandler.getApis().getIntentManagerApi().unregisterIntentListener( AppsConst.COMMAND_OPERATION, this );
}
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java
index 916b265020..41d756ef34 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java
@@ -45,7 +45,6 @@ public class AppsPresenter extends Presenter< AppsView > {
private IMogoServiceApis mApis;
private IMogoCardManager mCardManager;
- private IMogoStatusManager mMogoStatusManager;
public AppsPresenter( AppsView view ) {
super( view );
@@ -71,7 +70,6 @@ public class AppsPresenter extends Presenter< AppsView > {
} );
mAnalytics = mApis.getAnalyticsApi();
- mMogoStatusManager = mApis.getStatusManagerApi();
}
private void renderAppsList() {
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 a15d148a4b..29508a207e 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
@@ -1,5 +1,6 @@
package com.mogo.module.extensions.entrance;
+import android.content.Intent;
import android.graphics.Rect;
import android.os.Bundle;
import android.text.TextUtils;
@@ -44,6 +45,7 @@ import com.mogo.service.MogoServicePaths;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.entrance.ButtonIndex;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
+import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
@@ -72,7 +74,8 @@ public class EntranceFragment extends MvpFragment> i
@Override
public void init(@Nullable V2XMessageEntity
> v2XMessageEntity) {
- setV2XMessageEntity(v2XMessageEntity);
-
+ mV2XMessageEntity = v2XMessageEntity;
+ if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
+ if (mV2XMessageEntity != null) {
+ mMarkerEntity = mV2XMessageEntity.getContent();
+ }
+ if (!isShown) {
+ setV2XWindow(new V2XSeekHelpWindow());
+ setV2XMarker(new V2XSeekHelpMarker());
+ } else {
+ countDownFaultHelpWindowCancel();
+ closeWindow();
+ clearPOI();
+ }
+ show();
+ }
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("发现其他车主的求助信息");
// 广播给ADAS和Launcher卡片
V2XRoadEventEntity eventEntity = new V2XRoadEventEntity();
eventEntity.setPoiType(V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING + "");
eventEntity.setExpireTime(30000);
+ eventEntity.setTts("发现其他车主的求助信息");
eventEntity.setAlarmContent("其他车主求助");
ADASUtils.broadcastToADAS(V2XServiceManager.getContext(), eventEntity);