From 83971d24a2b77acf76f0f5f3f5c83842665f4e43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 30 Jul 2020 15:21:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E9=9D=A2=E6=9D=BF=E7=9A=84=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/functions/eventpanel.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/functions/eventpanel.gradle b/app/functions/eventpanel.gradle index af40aafa69..6696048127 100644 --- a/app/functions/eventpanel.gradle +++ b/app/functions/eventpanel.gradle @@ -6,7 +6,7 @@ project.dependencies { em1Implementation rootProject.ext.dependencies.moduleventpanelnoop bydautoImplementation rootProject.ext.dependencies.moduleventpanelnoop - d8xxImplementation rootProject.ext.dependencies.moduleventpanel + d8xxImplementation rootProject.ext.dependencies.moduleventpanelnoop em4Implementation rootProject.ext.dependencies.moduleventpanel e8xxImplementation rootProject.ext.dependencies.moduleventpanel f8xxImplementation rootProject.ext.dependencies.moduleventpanel @@ -16,7 +16,7 @@ project.dependencies { em1Implementation project(':modules:mogo-module-event-panel-noop') bydautoImplementation project(':modules:mogo-module-event-panel-noop') - d8xxImplementation project(':modules:mogo-module-event-panel') + d8xxImplementation project(':modules:mogo-module-event-panel-noop') em4Implementation project(':modules:mogo-module-event-panel') e8xxImplementation project(':modules:mogo-module-event-panel') f8xxImplementation project(':modules:mogo-module-event-panel') From 7f93590d8c9ab9126cca637636520ddee7d265dd Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 3 Aug 2020 21:12:59 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=8B=AC=E7=AB=8Bapp?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E9=94=80=E6=AF=81=E5=90=8E=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=9B=91=E5=90=AC=E6=B2=A1=E6=9C=89=E6=B3=A8=E9=94=80=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/apps/AppNavigatorFragment.java | 25 +++++--- .../module/apps/AppNavigatorPresenter.java | 1 + .../com/mogo/module/apps/AppsPresenter.java | 2 - .../extensions/entrance/EntranceFragment.java | 57 ++++++++++++------- .../com/mogo/module/main/MainActivity.java | 1 + 5 files changed, 56 insertions(+), 30 deletions(-) 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 ab39bd41b2..852ee4f608 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 @@ -74,7 +74,8 @@ public class EntranceFragment extends MvpFragment impleme mMogoMapUIController = null; mMogoFragmentManager = null; mServiceApis.getAdasControllerApi().release(); + Logger.d( TAG, "destroy." ); mServiceApis.getRefreshStrategyControllerApi().clearAllData(); AIAssist.getInstance( this ).release(); } From f0b38e9f2ee47f80834aef5549907e4cab5f123d Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 4 Aug 2020 09:58:47 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=BF=87=E6=BB=A4=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=97=A0=E6=95=88=E7=9A=84=E5=9C=B0=E7=90=86=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=92=8C=E9=80=86=E5=9C=B0=E7=90=86=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/amap/search/GeocodeSearchClient.java | 27 +++++++++++++++++-- .../search/geo/query/MogoGeocodeQuery.java | 7 +++++ .../search/geo/query/MogoRegeocodeQuery.java | 12 +++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) 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() { From 0b2e3ee690b8278957e56ad17291cb4e6db4a145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 4 Aug 2020 14:33:18 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E3=80=8C=E4=BF=AE=E5=A4=8D=E3=80=8D=20?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E8=BD=A6=E4=B8=BB=E6=B1=82=E5=8A=A9=E7=9A=84?= =?UTF-8?q?tts=E6=92=AD=E6=8A=A5=E4=B8=8B=E6=B2=89=E5=88=B0=E4=BA=86?= =?UTF-8?q?=E5=B9=BF=E6=92=AD=E7=BB=99ADAS=E7=9A=84=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/v2x/scenario/impl/AbsV2XScenario.java | 4 ++-- .../module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/AbsV2XScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/AbsV2XScenario.java index f6c3fe4523..b9de8f288e 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/AbsV2XScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/impl/AbsV2XScenario.java @@ -7,14 +7,14 @@ import androidx.annotation.Nullable; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.commons.voice.VoicePreemptType; +import com.mogo.module.common.entity.V2XMessageEntity; import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.V2XServiceManager; -import com.mogo.module.common.entity.V2XMessageEntity; +import com.mogo.module.v2x.manager.IMoGoV2XStatusManager; import com.mogo.module.v2x.scenario.IV2XScenario; import com.mogo.module.v2x.scenario.view.IV2XButton; import com.mogo.module.v2x.scenario.view.IV2XMarker; import com.mogo.module.v2x.scenario.view.IV2XWindow; -import com.mogo.module.v2x.manager.IMoGoV2XStatusManager; import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.utils.logger.Logger; diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java index ffdc49dcba..9e794257f7 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java @@ -67,11 +67,12 @@ public class V2XSeekHelpScenario extends AbsV2XScenario> i } 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); }