From 9f8177602a74048212979e9974e572f1d6914074 Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Fri, 20 Mar 2020 18:03:27 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/main/MainActivity.java | 7 +------ .../mogo/module/main/cards/HorizentalStackTransformer.java | 4 ++-- .../src/main/res/layout/module_main_activity_main.xml | 2 +- .../mogo-module-main/src/main/res/values-ldpi/dimens.xml | 1 + .../mogo-module-main/src/main/res/values-xhdpi/dimens.xml | 1 + .../main/java/com/mogo/module/service/MogoServices.java | 1 + 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 324fb644b0..e518d74da4 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -281,12 +281,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme if ( size == 0 ) { showLayout(); } else if ( size == 1 ) { - UiThreadHandler.postDelayed( new Runnable() { - @Override - public void run() { - mMogoMapUIController.setPointToCenter( 0.5, 0.5 ); - } - }, 1000 ); + hideLayout(); } } ); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/HorizentalStackTransformer.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/HorizentalStackTransformer.java index 16f7ea21f6..bec1449b7c 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/HorizentalStackTransformer.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/HorizentalStackTransformer.java @@ -56,8 +56,8 @@ public class HorizentalStackTransformer extends HorizentalBaseTransformer { page.setTranslationX( -page.getHeight() * position + ( page.getHeight() * 0.5f ) * ( 1 - scale ) + spaceBetweenFirAndSecHeight * position ); }else{ float currentPage; - if(offsetScroll > 0.2f){ - currentPage = 0.2f; + if(offsetScroll > 0.1f){ + currentPage = 0.1f; }else{ currentPage = offsetScroll; } diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml index 0d8eeb964d..6be848e190 100644 --- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml +++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml @@ -64,7 +64,7 @@ android:id="@+id/module_main_id_card_cover_up_bottom" android:layout_width="match_parent" android:layout_height="@dimen/dp_26" - android:layout_marginTop="@dimen/cards_container_dp_600" + android:layout_marginTop="@dimen/cards_container_shadow_dp_margin_top" android:layout_marginLeft="@dimen/dp_64" android:layout_marginRight="@dimen/dp_64" android:visibility="invisible" diff --git a/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml index aaf70a0598..f94f83a779 100644 --- a/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml @@ -14,5 +14,6 @@ 352px 320px + 319px \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml index 420c9126b7..05f521641d 100644 --- a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml @@ -13,5 +13,6 @@ 270px 660px 600px + 599px \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 3e2e904551..e771c237f5 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -956,6 +956,7 @@ public class MogoServices implements IMogoMapListener, AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK ); } else { AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this ); + mUiController.setPointToCenter( 0.5, 0.5 ); } } } From 252e8786f2b494f4d7509d28c8e33dd5ca0525bf Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 20 Mar 2020 19:29:16 +0800 Subject: [PATCH 02/17] opt --- .../map/impl/amap/AMapNaviViewWrapper.java | 128 +++++++++--------- .../map/impl/amap/navi/NaviOverlayHelper.java | 25 +++- .../amap/overlay/RouteOverLayWrapper.java | 26 +++- .../map/impl/amap/utils/MapStyleUtils.java | 2 + 4 files changed, 116 insertions(+), 65 deletions(-) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index abaa885203..d758bc0bb3 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -93,70 +93,71 @@ public class AMapNaviViewWrapper implements IMogoMapView, } private void initMapView() { - if ( mMapView != null ) { - AMapNaviViewOptions options = mMapView.getViewOptions(); - if ( options != null ) { - // 设置是否开启自动黑夜模式切换,默认为false,不自动切换 - options.setAutoNaviViewNightMode( false ); - // 设置6秒后是否自动锁车 - options.setAutoLockCar( false ); - // 设置路线上的摄像头气泡是否显示 - options.setCameraBubbleShow( true ); - // 设置路线相关的配置属性,如:路线的路况颜色,路线上是否显示摄像头气泡等。 - // options.setRouteOverlayOptions( MapStyleUtils.getRouteOverlayOptions() ); - // 设置自车的图片对象 - options.setCarBitmap( BitmapFactory.decodeResource( getContext().getResources(), - R.drawable.ic_amap_navi_cursor ) ); - // 设置指南针图标否在导航界面显示,默认显示。true,显示;false,隐藏。 - options.setCompassEnabled( false ); - // 黑夜模式 - options.setNaviNight( true ); - //设置路况光柱条是否显示(只适用于驾车导航,需要联网)。 - options.setTrafficBarEnabled( false ); - // 设置[实时交通图层开关按钮]是否显示(只适用于驾车导航,需要联网)。 - options.setTrafficLayerEnabled( false ); - // 设置导航界面是否显示路线全览按钮。 - options.setRouteListButtonShow( false ); - // 设置导航状态下屏幕是否一直开启。 - options.setScreenAlwaysBright( true ); - // 设置交通播报是否打开(只适用于驾车导航,需要联网)。 - options.setTrafficInfoUpdateEnabled( true ); - // 设置摄像头播报是否打开(只适用于驾车导航)。 - options.setCameraInfoUpdateEnabled( true ); - // 设置菜单按钮是否在导航界面显示。 - options.setSettingMenuEnabled( false ); - // 设置是否绘制显示交通路况的线路(彩虹线),拥堵-红色,畅通-绿色,缓慢-黄色,未知-蓝色。默认不绘制彩虹线。 - options.setTrafficLine( true ); - // 设置是否绘制牵引线(当前位置到目的地的指引线)。默认不绘制牵引线。 - options.setLeaderLineEnabled( -1 ); - // 设置导航界面UI是否显示。 - options.setLayoutVisible( false ); - // 设置是否自动画路 - options.setAutoDrawRoute( false ); - // 设置是否显示路口放大图(实景图) - options.setRealCrossDisplayShow( false ); - // 设置是否显示路口放大图(路口模型图) - options.setModeCrossDisplayShow( false ); - // 设置是否显示道路信息view - options.setLaneInfoShow( false ); - // 设置是否自动改变缩放等级 - options.setAutoChangeZoom( true ); - // 设置是否自动全览模式,即在算路成功后自动进入全览模式 - options.setAutoDisplayOverview( false ); - // 设置路线转向箭头隐藏和显示 - options.setNaviArrowVisible( false ); - // 通过路线是否自动置灰,仅支持驾车导航 - options.setAfterRouteAutoGray( true ); - options.setZoom( 16 ); - options.setPointToCenter( 0.5D, 0.5D ); - // 2D模式 - options.setTilt( 0 ); - mMapView.setViewOptions( options ); - } - mMapView.setRouteOverlayVisible( false ); - mMapView.setCarOverlayVisible( false ); - setUIMode( EnumMapUI.CarUp_2D, null ); + if ( mMapView == null ) { + return; } + AMapNaviViewOptions options = mMapView.getViewOptions(); + if ( options != null ) { + // 设置是否开启自动黑夜模式切换,默认为false,不自动切换 + options.setAutoNaviViewNightMode( false ); + // 设置6秒后是否自动锁车 + options.setAutoLockCar( false ); + // 设置路线上的摄像头气泡是否显示 + options.setCameraBubbleShow( true ); + // 设置路线相关的配置属性,如:路线的路况颜色,路线上是否显示摄像头气泡等。 + // options.setRouteOverlayOptions( MapStyleUtils.getRouteOverlayOptions() ); + // 设置自车的图片对象 + options.setCarBitmap( BitmapFactory.decodeResource( getContext().getResources(), + R.drawable.ic_amap_navi_cursor ) ); + // 设置指南针图标否在导航界面显示,默认显示。true,显示;false,隐藏。 + options.setCompassEnabled( false ); + // 黑夜模式 + options.setNaviNight( true ); + //设置路况光柱条是否显示(只适用于驾车导航,需要联网)。 + options.setTrafficBarEnabled( false ); + // 设置[实时交通图层开关按钮]是否显示(只适用于驾车导航,需要联网)。 + options.setTrafficLayerEnabled( false ); + // 设置导航界面是否显示路线全览按钮。 + options.setRouteListButtonShow( false ); + // 设置导航状态下屏幕是否一直开启。 + options.setScreenAlwaysBright( true ); + // 设置交通播报是否打开(只适用于驾车导航,需要联网)。 + options.setTrafficInfoUpdateEnabled( true ); + // 设置摄像头播报是否打开(只适用于驾车导航)。 + options.setCameraInfoUpdateEnabled( true ); + // 设置菜单按钮是否在导航界面显示。 + options.setSettingMenuEnabled( false ); + // 设置是否绘制显示交通路况的线路(彩虹线),拥堵-红色,畅通-绿色,缓慢-黄色,未知-蓝色。默认不绘制彩虹线。 + options.setTrafficLine( true ); + // 设置是否绘制牵引线(当前位置到目的地的指引线)。默认不绘制牵引线。 + options.setLeaderLineEnabled( -1 ); + // 设置导航界面UI是否显示。 + options.setLayoutVisible( false ); + // 设置是否自动画路 + options.setAutoDrawRoute( false ); + // 设置是否显示路口放大图(实景图) + options.setRealCrossDisplayShow( false ); + // 设置是否显示路口放大图(路口模型图) + options.setModeCrossDisplayShow( false ); + // 设置是否显示道路信息view + options.setLaneInfoShow( false ); + // 设置是否自动改变缩放等级 + options.setAutoChangeZoom( true ); + // 设置是否自动全览模式,即在算路成功后自动进入全览模式 + options.setAutoDisplayOverview( false ); + // 设置路线转向箭头隐藏和显示 + options.setNaviArrowVisible( false ); + // 通过路线是否自动置灰,仅支持驾车导航 + options.setAfterRouteAutoGray( true ); + options.setZoom( 16 ); + options.setPointToCenter( 0.5D, 0.5D ); + // 2D模式 + options.setTilt( 0 ); + mMapView.setViewOptions( options ); + } + mMapView.setRouteOverlayVisible( false ); + mMapView.setCarOverlayVisible( false ); + setUIMode( EnumMapUI.CarUp_2D, null ); } private void initListeners() { @@ -654,6 +655,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void setPointToCenter( double mapCenterX, double mapCenterY ) { if ( checkAMapView() ) { + Logger.d( TAG, "setPointToCenter(%s, %s)", mapCenterX, mapCenterY ); AMapNaviViewOptions options = mMapView.getViewOptions(); options.setPointToCenter( mapCenterX, mapCenterY ); mMapView.setViewOptions( options ); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java index 2b14bd0485..106fd6a073 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java @@ -93,10 +93,30 @@ public class NaviOverlayHelper implements OnCalculatePathItemClickInteraction { return; } addEndPoints(); - showPathsBound( mCalculatePathItems.get( 0 ).getPath().getBoundsForPath() ); + showPathsBound( getBounds() ); renderPathOverlay( mCalculatePathItems ); } + private LatLngBounds getBounds(){ + if ( mCalculatePathItems == null ) { + return null; + } + LatLngBounds.Builder builder = new LatLngBounds.Builder(); + for ( CalculatePathItem calculatePathItem : mCalculatePathItems ) { + if ( calculatePathItem == null ) { + continue; + } + try { + LatLngBounds bounds = calculatePathItem.getPath().getBoundsForPath(); + builder.include( bounds.northeast ); + builder.include( bounds.southwest ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } + return builder.build(); + } + /** * 按pathId升序排序 * @@ -148,6 +168,9 @@ public class NaviOverlayHelper implements OnCalculatePathItemClickInteraction { * 将规划好的路径显示在视野内 */ private void showPathsBound( LatLngBounds bounds ) { + if ( bounds == null ) { + return; + } checkAMapInstance(); mAMap.animateCamera( CameraUpdateFactory.newLatLngBoundsRect( bounds, mBoundRect.left, mBoundRect.right, diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/overlay/RouteOverLayWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/overlay/RouteOverLayWrapper.java index 04313edf32..c5a6857603 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/overlay/RouteOverLayWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/overlay/RouteOverLayWrapper.java @@ -2,17 +2,22 @@ package com.mogo.map.impl.amap.overlay; import android.content.Context; import android.graphics.BitmapFactory; +import android.graphics.Color; import android.util.Log; import com.amap.api.maps.AMap; +import com.amap.api.maps.model.NavigateArrowOptions; import com.amap.api.maps.model.Polyline; import com.amap.api.navi.model.AMapNaviLocation; import com.amap.api.navi.model.AMapNaviPath; import com.amap.api.navi.model.NaviInfo; +import com.amap.api.navi.model.RouteOverlayOptions; import com.amap.api.navi.view.RouteOverLay; import com.mogo.map.impl.amap.utils.MapStyleUtils; +import com.mogo.utils.logger.Logger; import java.lang.ref.WeakReference; +import java.lang.reflect.Field; /** * @author congtaowang @@ -36,6 +41,8 @@ public class RouteOverLayWrapper { private int mEndBitmapResId = 0; private int mZIndex = 0; + private static RouteOverlayOptions sOptions; + public RouteOverLayWrapper( Context context, AMap mAMap, AMapNaviPath mPath ) { @@ -49,7 +56,10 @@ public class RouteOverLayWrapper { return; } mRouteOverLay = new RouteOverLay( mAMap, mPath, mContextRef.get() ); - mRouteOverLay.setRouteOverlayOptions( MapStyleUtils.getRouteOverlayOptions() ); + if ( sOptions == null ) { + sOptions = MapStyleUtils.getRouteOverlayOptions(); + } + mRouteOverLay.setRouteOverlayOptions( sOptions ); mRouteOverLay.setTrafficLine( true ); mRouteOverLay.setRouteOverlayVisible( true ); mRouteOverLay.setTrafficLightsVisible( true ); @@ -58,6 +68,7 @@ public class RouteOverLayWrapper { mRouteOverLay.setNaviArrowVisible( true ); mRouteOverLay.setLightsVisible( true ); mRouteOverLay.setTrafficLightsVisible( mIsTrafficLightsVisible ); + hookRouteArrow(); if ( mStartBitmapResId != 0 ) { try { @@ -166,6 +177,19 @@ public class RouteOverLayWrapper { } } + private void hookRouteArrow() { + if ( mRouteOverLay != null && sOptions != null ) { + try { + Field field = mRouteOverLay.getClass().getDeclaredField( "naviArrow" ); + field.setAccessible( true ); + field.set( mRouteOverLay, mAMap.addNavigateArrow( new NavigateArrowOptions().topColor( sOptions.getArrowColor() ).width( sOptions.getLineWidth() ).sideColor( sOptions.getArrowSideColor() ) ) ); + Logger.d( TAG, "hook 成功。" ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } + } + public Polyline getTrafficColorfulPolyline() { if ( mRouteOverLay != null ) { return mRouteOverLay.mTrafficColorfulPolyline; diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MapStyleUtils.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MapStyleUtils.java index 3e46637f0f..e91cd51b88 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MapStyleUtils.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/MapStyleUtils.java @@ -60,6 +60,8 @@ public class MapStyleUtils { options.setPassRoute( colorToBitmap( ColorEnum.light_gray.getColor() ) ); // 设置路线虚线纹理 options.setFairWayRes( colorToBitmap( ColorEnum.route_overlay_line_normal.getColor() ) ); + options.setArrowColor( Color.WHITE ); // 高德地图内部配置颜色 + options.setArrowSideColor( 1990523135 ); // 高德地图内部配置颜色 return options; } From 29617ca10eff4ac7eb3941794709180ed016a10c Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 20 Mar 2020 20:03:24 +0800 Subject: [PATCH 03/17] opt --- .../src/main/java/com/mogo/module/main/MainActivity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index e518d74da4..55c93e14dd 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -281,7 +281,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme if ( size == 0 ) { showLayout(); } else if ( size == 1 ) { - hideLayout(); } } ); From fcfd9ed9e026a3c8955674a10d397c5222842d43 Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Fri, 20 Mar 2020 20:08:03 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/map/MapPresenter.java | 7 +++---- .../main/java/com/mogo/module/service/MogoServices.java | 2 ++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index a10e28ec59..71014b83f0 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -82,12 +82,11 @@ public class MapPresenter extends Presenter implements mView.getUIController().changeMapMode(EnumMapUI.CarUp_2D); } else if (opera_type == 1) { mView.getUIController().changeMapMode(EnumMapUI.NorthUP_2D); - AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); + //AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); } else if (opera_type == 2) { mView.getUIController().changeMapMode(EnumMapUI.CarUp_3D); - AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); - + //AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); } } @@ -252,7 +251,7 @@ public class MapPresenter extends Presenter implements AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); case VoiceConstants.CMD_MAP_NORTH_UP_MODE: mView.getUIController().changeMapMode(EnumMapUI.NorthUP_2D); - AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); + //AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null); break; case VoiceConstants.CMD_MAP_3D_UN_WAKEUP: diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index e771c237f5..83d0a24f70 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -953,6 +953,8 @@ public class MogoServices implements IMogoMapListener, @Override public void onTransaction( int size ) { if ( size == 0 ) { + mUiController.setPointToCenter( 0.66145, 0.661094 ); + AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK ); } else { AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this ); From d627d72c7b4e412a6954ab621f1cf475bec2b3c0 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Sat, 21 Mar 2020 09:49:51 +0800 Subject: [PATCH 05/17] opt --- .../java/com/mogo/module/service/MogoServices.java | 13 +++++++++++-- .../mogo/module/service/receiver/MogoReceiver.java | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index e771c237f5..a5105b7e53 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -308,6 +308,7 @@ public class MogoServices implements IMogoMapListener, mIntentManager.registerIntentListener( MogoReceiver.ACTION_ADAS_STATUS, this ); mIntentManager.registerIntentListener( ServiceConst.COMMAND_OPERATION, this ); mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this ); + mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOCK, this ); mADASController = apis.getAdasControllerApi(); mLauncher = apis.getLauncherApi(); @@ -372,6 +373,7 @@ public class MogoServices implements IMogoMapListener, filter.addAction( MogoReceiver.ACTION_VOICE_UI ); filter.addAction( MogoReceiver.ACTION_ADAS_STATUS ); filter.addAction( MogoReceiver.ACTION_VOICE_READY ); + filter.addAction( MogoReceiver.ACTION_MOCK ); try { context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter ); Logger.i( TAG, "register voice receiver." ); @@ -656,14 +658,14 @@ public class MogoServices implements IMogoMapListener, } } - private void onAdasOn(){ + private void onAdasOn() { // ADAS 时,不在自动刷新打点策略 stopAutoRefreshStrategy(); // 清除所有的打点信息记录 MarkerServiceHandler.getMapMarkerManager().alreadySmallMarker.clear(); } - private void onAdasClosed(){ + private void onAdasClosed() { refreshStrategy(); // ADAS关闭后,打开打点策略 if ( mAutoRefreshCallback != null ) { @@ -816,6 +818,13 @@ public class MogoServices implements IMogoMapListener, if ( mStatusManager.isMainPageOnResume() ) { mUiController.recoverLockMode(); } + } else if ( MogoReceiver.ACTION_MOCK.equals( command ) ) { + final int oper = intent.getIntExtra( "oper", -1 ); + switch ( oper ) { + case 1: + mUiController.showMyLocation( true ); + break; + } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java index 7fe7f86535..1faa275105 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java @@ -55,6 +55,8 @@ public class MogoReceiver extends BroadcastReceiver { */ public static final String ACTION_VOICE_READY = "com.zhidao.auto.AIAssist.ready"; + public static final String ACTION_MOCK = "com.mogo.mock"; + private IMogoIntentManager mMogoIntentManager; public MogoReceiver( Context context ) { From 50a08ad3484ae62cc555c6b2ce1c37d49d25608d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 23 Mar 2020 16:37:00 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=A0=E5=85=B3?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/service/MogoServices.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 83d0a24f70..c422eb444c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -617,7 +617,7 @@ public class MogoServices implements IMogoMapListener, @Override public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { - Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue ); + //Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue ); switch ( descriptor ) { case USER_INTERACTED: if ( isTrue ) { From 869034a3a82a5ab99df2aa77158faa966dec78ee Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 23 Mar 2020 16:54:42 +0800 Subject: [PATCH 07/17] opt --- config.gradle | 2 +- .../com/mogo/utils/WorkThreadHandler.java | 65 +++++++++++++++++++ .../service/marker/MapMarkerInfoView.java | 12 ++-- .../res/drawable/bg_map_marker_grey_info.xml | 15 +++++ .../bg_shape_reverse_triangle_grey.xml | 17 +++++ 5 files changed, 104 insertions(+), 7 deletions(-) create mode 100644 foudations/mogo-utils/src/main/java/com/mogo/utils/WorkThreadHandler.java create mode 100644 modules/mogo-module-service/src/main/res/drawable/bg_map_marker_grey_info.xml create mode 100644 modules/mogo-module-service/src/main/res/drawable/bg_shape_reverse_triangle_grey.xml diff --git a/config.gradle b/config.gradle index cb393debf5..498afc9c99 100644 --- a/config.gradle +++ b/config.gradle @@ -5,7 +5,7 @@ ext { buildToolsVersion: "29.0.2", minSdkVersion : 19, targetSdkVersion : 22, - versionCode : 2, + versionCode : 3, versionName : "1.0.2", ] diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/WorkThreadHandler.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/WorkThreadHandler.java new file mode 100644 index 0000000000..cb4f6a2c86 --- /dev/null +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/WorkThreadHandler.java @@ -0,0 +1,65 @@ +package com.mogo.utils; + +import android.os.Handler; +import android.os.HandlerThread; + +/** + * @author congtaowang + * @since 2020-03-23 + *

+ * 描述 + */ +public class WorkThreadHandler { + + private Handler mHandler; + private HandlerThread mThread; + + private WorkThreadHandler() { + // private constructor + mThread = new HandlerThread( "work-thread-handler" ); + mThread.start(); + mHandler = new Handler( mThread.getLooper() ); + } + + private static final class InstanceHolder { + private static final WorkThreadHandler INSTANCE = new WorkThreadHandler(); + } + + public static WorkThreadHandler getInstance() { + return InstanceHolder.INSTANCE; + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return InstanceHolder.INSTANCE; + } + + private Object sToken = new Object(); + + public boolean post( Runnable r ) { + return mHandler != null && mHandler.post( r ); + } + + public boolean postDelayed(Runnable r, long delayMillis ) { + return mHandler != null && mHandler.postDelayed( r, delayMillis ); + } + + public Handler getWorkThreadHandler() { + return mHandler; + } + + public boolean postOnceDelayed(Runnable r, long delayMillis ) { + if ( mHandler == null ) { + return false; + } else { + mHandler.removeCallbacks( r, sToken ); + return mHandler.postDelayed( r, delayMillis ); + } + } + + public void removeCallbacks( Runnable runnable ) { + if ( mHandler != null ) { + mHandler.removeCallbacks( runnable ); + } + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java index 00762b3751..7e59c35e56 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java @@ -153,8 +153,8 @@ public class MapMarkerInfoView extends MapMarkerBaseView { break; case MarkerPoiTypeEnum.FOURS_FOG: ivIcon.setImageResource(R.drawable.module_service_ic_rc_dark_frog2); - clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info); - ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue); + clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_grey_info); + ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_grey); break; case MarkerPoiTypeEnum.FOURS_ICE: ivIcon.setImageResource(R.drawable.module_service_ic_rc_freeze2); @@ -163,13 +163,13 @@ public class MapMarkerInfoView extends MapMarkerBaseView { break; case MarkerPoiTypeEnum.FOURS_PARKING: ivIcon.setImageResource(R.drawable.module_service_ic_rc_parking2); - clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info); - ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue); + clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_dark_blue_info); + ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_dark_blue); break; case MarkerPoiTypeEnum.FOURS_ACCIDENT: ivIcon.setImageResource(R.drawable.module_service_ic_rc_accident2); - clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info); - ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue); + clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_red_info); + ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_red); break; default: ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news); diff --git a/modules/mogo-module-service/src/main/res/drawable/bg_map_marker_grey_info.xml b/modules/mogo-module-service/src/main/res/drawable/bg_map_marker_grey_info.xml new file mode 100644 index 0000000000..12bf9d1551 --- /dev/null +++ b/modules/mogo-module-service/src/main/res/drawable/bg_map_marker_grey_info.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/drawable/bg_shape_reverse_triangle_grey.xml b/modules/mogo-module-service/src/main/res/drawable/bg_shape_reverse_triangle_grey.xml new file mode 100644 index 0000000000..67f37a98a6 --- /dev/null +++ b/modules/mogo-module-service/src/main/res/drawable/bg_shape_reverse_triangle_grey.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + From 7bbe98e231d7c89813861a9acb9de5245a1f5de5 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 24 Mar 2020 10:38:08 +0800 Subject: [PATCH 08/17] =?UTF-8?q?bug=20fix=20=E5=88=86=E4=BA=AB=E5=AF=B9?= =?UTF-8?q?=E8=AF=9D=E6=A1=86=E8=A2=ABadas=E9=81=AE=E6=8C=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/share/ShareControl.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 522389a88e..d100a6e95b 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -3,7 +3,11 @@ package com.mogo.module.share; import android.content.Context; import android.util.Log; +import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.module.share.dialog.LaucherShareDialog; +import com.mogo.service.IMogoServiceApis; +import com.mogo.service.MogoServicePaths; +import com.mogo.utils.logger.Logger; /** * @author lixiaopeng @@ -16,8 +20,12 @@ public class ShareControl implements IShareControl { private Context mContext; private LaucherShareDialog mShareDialog; + private IMogoServiceApis mogoServiceApis; + private ShareControl(Context context) { mContext = context; + mogoServiceApis = + (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context); } public static ShareControl getInstance(Context context) { @@ -34,6 +42,13 @@ public class ShareControl implements IShareControl { @Override public void showDialog() { + + boolean isAdasShow = mogoServiceApis.getStatusManagerApi().isADASShow(); + Logger.d("ShareControl", "showDialog 判断adas是否展示: " + isAdasShow); + if (isAdasShow) { + mogoServiceApis.getAdasControllerApi().closeADAS(); + } + mShareDialog = new LaucherShareDialog(mContext); mShareDialog.setCanceledOnTouchOutside(true); mShareDialog.show(); From f457ec961bae8c1a3282ad5a93edabea26bfd344 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 24 Mar 2020 11:08:59 +0800 Subject: [PATCH 09/17] opt --- .../map/impl/amap/AMapNaviViewWrapper.java | 35 ++++++++++++++++--- .../mogo/map/impl/amap/navi/NaviClient.java | 8 +++-- .../java/com/mogo/map/navi/IMogoNavi.java | 10 ++++++ .../src/main/java/com/mogo/map/MogoNavi.java | 14 ++++++++ .../extensions/ExtensionsPresenter.java | 17 +++++++-- 5 files changed, 74 insertions(+), 10 deletions(-) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index d758bc0bb3..e6cb446a23 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -9,6 +9,7 @@ import android.location.Location; import android.os.Bundle; import android.os.SystemClock; import android.os.Trace; +import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.animation.Interpolator; @@ -33,6 +34,7 @@ import com.amap.api.navi.AMapNaviViewOptions; import com.amap.api.navi.enums.AMapNaviViewShowMode; import com.amap.api.navi.enums.AimLessMode; import com.amap.api.navi.model.NaviInfo; +import com.mogo.commons.debug.DebugConfig; import com.mogo.map.IMogoMap; import com.mogo.map.IMogoMapView; import com.mogo.map.MogoLatLng; @@ -142,7 +144,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, // 设置是否显示道路信息view options.setLaneInfoShow( false ); // 设置是否自动改变缩放等级 - options.setAutoChangeZoom( true ); + options.setAutoChangeZoom( false ); // 设置是否自动全览模式,即在算路成功后自动进入全览模式 options.setAutoDisplayOverview( false ); // 设置路线转向箭头隐藏和显示 @@ -390,6 +392,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void changeZoom( float zoom ) { Logger.d( TAG, "changeZoom %s", zoom ); + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } getMap().changeZoom( zoom ); } @@ -430,11 +435,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, case CarUp_2D: case CarUp_3D: mMapView.setNaviMode( AMapNaviView.CAR_UP_MODE ); - // TODO: 2020-03-16 车头朝上,需要固定车标 break; case NorthUP_2D: mMapView.setNaviMode( AMapNaviView.NORTH_UP_MODE ); - // TODO: 2020-03-16 北朝上,需要动态改变车头车标 break; } if ( options == null ) { @@ -466,6 +469,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, Logger.e( TAG, "latlng = null or is illegal" ); return; } + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } loseLockMode(); mMapView.getMap().moveCamera( CameraUpdateFactory.newLatLng( new LatLng( latLng.lat, latLng.lng ) ) ); } @@ -476,6 +482,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, if ( visible && NaviClient.getInstance( getContext() ).isNaviing() ) { return; } + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } if ( checkAMapView() ) { MyLocationStyle style = mMapView.getMap().getMyLocationStyle(); style.showMyLocation( visible ); @@ -492,6 +501,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, if ( NaviClient.getInstance( getContext() ).isNaviing() ) { return; } + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } if ( checkAMapView() ) { MyLocationStyle style = mMapView.getMap().getMyLocationStyle(); style.showMyLocation( true ); @@ -533,6 +545,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void recoverLockMode() { if ( checkAMapView() ) { + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } Logger.d( TAG, "锁车" ); mMapView.recoverLockMode(); } @@ -540,6 +555,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void loseLockMode() { + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } mockTouchEvent(); } @@ -559,6 +577,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void setLockZoom( int var1 ) { if ( checkAMapView() ) { + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } Logger.d( TAG, "锁定锁车比例尺" ); mMapView.setLockZoom( var1 ); } @@ -596,7 +617,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, if ( checkAMapView() ) { mMapView.setCarOverlayVisible( false ); showMyLocation( true ); - NaviClient.getInstance( getContext() ).startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); + NaviClient.getInstance( getContext() ).startAimlessMode(); } } @@ -655,6 +676,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void setPointToCenter( double mapCenterX, double mapCenterY ) { if ( checkAMapView() ) { + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } Logger.d( TAG, "setPointToCenter(%s, %s)", mapCenterX, mapCenterY ); AMapNaviViewOptions options = mMapView.getViewOptions(); options.setPointToCenter( mapCenterX, mapCenterY ); @@ -731,6 +755,9 @@ public class AMapNaviViewWrapper implements IMogoMapView, return; } try { + if ( DebugConfig.isDebug() ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + } LatLngBounds latLngBounds = MogoMapUtils.getLatLngBounds( carPosition, lonLats, lockCarPosition ); if ( !lockCarPosition ) { loseLockMode(); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index e24f8944e7..5385e50fbf 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -6,6 +6,7 @@ import android.location.Location; import com.amap.api.maps.model.Polyline; import com.amap.api.navi.AMapNavi; +import com.amap.api.navi.enums.AimLessMode; import com.amap.api.navi.enums.NaviType; import com.amap.api.navi.model.NaviLatLng; import com.mogo.map.MogoLatLng; @@ -263,12 +264,13 @@ public class NaviClient implements IMogoNavi { } } - public void startAimlessMode( int cameraAndSpecialroadDetected ) { - mAMapNavi.startAimlessMode( cameraAndSpecialroadDetected ); + @Override + public void startAimlessMode() { + mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); } + @Override public void stopAimlessMode() { mAMapNavi.stopAimlessMode(); - } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java index 88f00f47d8..7ce05a83bc 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java @@ -148,4 +148,14 @@ public interface IMogoNavi { * @param listener */ void registerCarLocationChangedListener( IMogoCarLocationChangedListener listener ); + + /** + * 打开巡航模式 + */ + void startAimlessMode(); + + /** + * 关闭巡航模式 + */ + void stopAimlessMode(); } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java index 9b2cc00d8d..b74c5288b4 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java @@ -180,4 +180,18 @@ public class MogoNavi implements IMogoNavi { mDelegate.registerCarLocationChangedListener( listener ); } } + + @Override + public void startAimlessMode() { + if ( mDelegate != null ) { + mDelegate.startAimlessMode(); + } + } + + @Override + public void stopAimlessMode() { + if ( mDelegate != null ) { + mDelegate.stopAimlessMode(); + } + } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java index 6a735f6973..3581fa2353 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java @@ -23,6 +23,8 @@ import com.mogo.service.statusmanager.IMogoMsgCenterListener; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; +import com.mogo.utils.UiThreadHandler; +import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; import java.util.ArrayDeque; @@ -87,7 +89,9 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements @Override public void onReceive( Context context, Intent intent ) { try { - refreshTimeAndDate(); + WorkThreadHandler.getInstance().post( () -> { + refreshTimeAndDate(); + } ); } catch ( Exception e ) { Logger.e( TAG, e, "error. " ); } @@ -164,7 +168,14 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements String timeStr = getContext().getResources().getString( R.string.module_ext_str_time_format, hour, minute > 9 ? String.valueOf( minute ) : "0" + minute ); String dateStr = getContext().getResources().getString( R.string.module_ext_str_date_format, month + 1, day, mWeeks[week - 1] ); - mView.renderTime( dateStr, timeStr ); + + UiThreadHandler.post( () -> { + try { + mView.renderTime( dateStr, timeStr ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } ); } @Override @@ -208,7 +219,7 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements changeAutoSwitchVoiceTipsWordsStatus( true ); } - private void changeAutoSwitchVoiceTipsWordsStatus(boolean autoChange){ + private void changeAutoSwitchVoiceTipsWordsStatus( boolean autoChange ) { if ( !mHasTipWords ) { return; } From e8100235c3fc4350c47cf021432e108acef690cd Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 24 Mar 2020 12:09:26 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=A1=86=EF=BC=8C=E5=8E=BB=E6=8E=89=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=E6=B2=B9=E4=BB=B7=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/launcher_dialog_share.xml | 9 +++++---- .../src/main/res/values-ldpi/dimens.xml | 4 ++-- .../src/main/res/values-xhdpi/dimens.xml | 4 ++-- modules/mogo-module-share/src/main/res/values/dimens.xml | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml index 25151ea2a7..e38447d88a 100644 --- a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml +++ b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share.xml @@ -29,7 +29,8 @@ android:id="@+id/btn_block_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="@dimen/share_module_first_margin_left"> + android:layout_marginEnd="@dimen/share_module_margin_left" + android:layout_toLeftOf="@+id/traffic_check_layout"> @@ -80,8 +82,7 @@ android:id="@+id/traffic_check_layout" android:layout_width="@dimen/share_module_image_width_second" android:layout_height="wrap_content" - android:layout_marginLeft="@dimen/share_module_margin_left" - android:layout_toRightOf="@+id/oil_price_layout"> + android:layout_centerHorizontal="true"> diff --git a/modules/mogo-module-share/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-share/src/main/res/values-ldpi/dimens.xml index dda7550e62..d28bf549bd 100644 --- a/modules/mogo-module-share/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-share/src/main/res/values-ldpi/dimens.xml @@ -5,8 +5,8 @@ 320px 34px 43px - 80px - 64px + 100px + 118px 15px 85px 110px diff --git a/modules/mogo-module-share/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-share/src/main/res/values-xhdpi/dimens.xml index 1e9163fec3..ba3a919930 100644 --- a/modules/mogo-module-share/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-share/src/main/res/values-xhdpi/dimens.xml @@ -4,8 +4,8 @@ 600px 64px 80px - 150px - 120px + 200px + 210px 30px 160px 198px diff --git a/modules/mogo-module-share/src/main/res/values/dimens.xml b/modules/mogo-module-share/src/main/res/values/dimens.xml index 1e9163fec3..ba3a919930 100644 --- a/modules/mogo-module-share/src/main/res/values/dimens.xml +++ b/modules/mogo-module-share/src/main/res/values/dimens.xml @@ -4,8 +4,8 @@ 600px 64px 80px - 150px - 120px + 200px + 210px 30px 160px 198px From d50521332550fa3e9b8e072da69c5d6802a8e906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Mar 2020 14:09:39 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=B0=8F?= =?UTF-8?q?=E8=BD=A6=E7=9A=84=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../icon_map_marker_car_gray.png | Bin 1858 -> 2353 bytes .../icon_map_marker_car_gray.png | Bin 4008 -> 5439 bytes 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_car_gray.png diff --git a/modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_car_gray.png b/modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_car_gray.png old mode 100755 new mode 100644 index 4813a5df5d5b4b4111af392389edb70ea72023b1..ed4058f51ae12b68d383145f8b63b063cdbac6c4 GIT binary patch literal 2353 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 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_gray.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_gray.png index eed1fca00cc32232397d122618ea90811496833b..d4266a6bc56c75c6d63fdb5d34b8fbcc0dfc67d3 100644 GIT binary patch literal 5439 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 O0000 Date: Tue, 24 Mar 2020 14:26:55 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=B0=8F?= =?UTF-8?q?=E8=BD=A6=E7=9A=84=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/view_map_marker.xml | 4 ++-- .../src/main/res/layout/view_map_marker_info.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml index dd210ad9b9..b37be6dc5d 100644 --- a/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml +++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml @@ -55,8 +55,8 @@ From d9b6001c1c585f8e94612d4b2bcb6cb25a3f6d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Mar 2020 16:49:04 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9CarLiveInfo=E4=B8=BA?= =?UTF-8?q?=E5=85=AC=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/common/entity/MarkerCarInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java index 47041c1f5e..6153c947d8 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java @@ -52,7 +52,7 @@ public class MarkerCarInfo implements Serializable { this.carLiveInfo = carLiveInfo; } - class CarLiveInfo implements Serializable { + public class CarLiveInfo implements Serializable { //rtmp视频直播地址rtmp:// private String videoUrl; //直播频道【直播心跳接口参数】C_1 From 7313b1242c9ac142ba0f4c3d05f44df09aebf4e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Mar 2020 16:54:32 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9CarLiveInfo=E4=B8=BA?= =?UTF-8?q?=E5=85=AC=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/common/entity/MarkerCarInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java index 6153c947d8..da1934a703 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerCarInfo.java @@ -52,7 +52,7 @@ public class MarkerCarInfo implements Serializable { this.carLiveInfo = carLiveInfo; } - public class CarLiveInfo implements Serializable { + public static class CarLiveInfo implements Serializable { //rtmp视频直播地址rtmp:// private String videoUrl; //直播频道【直播心跳接口参数】C_1 From b6c919c3cf3ba5a011065cb5db3c44339a22c78a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Mar 2020 21:46:42 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=BA=86V2X=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 06af0eb8b8..e93a3715c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -56,7 +56,7 @@ CARCHATTINGPROVIDER_VERSION=1.0.2.2-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.1-SNAPSHOT # v2x -MOGO_MODULE_V2X_VERSION=1.0.2-SNAPSHOT +MOGO_MODULE_V2X_VERSION=1.0.3-SNAPSHOT # 媒体卡片 MOGO_MODULE_MEDIA_VERSION=1.0.1-SNAPSHOT # 推送 From 81d3cbfac06836d05218913eae3d6edad88325c3 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 25 Mar 2020 09:54:24 +0800 Subject: [PATCH 16/17] opt --- app/build.gradle | 8 ++++- .../impl/amap/marker/AMapMarkerWrapper.java | 2 +- .../com/mogo/module/main/MainActivity.java | 2 ++ .../drawable/module_main_dw_top_frame_bkg.xml | 2 +- modules/mogo-module-service/build.gradle | 1 - .../module/service/MarkerServiceHandler.java | 35 +++++++++++++++++++ .../com/mogo/module/service/MogoServices.java | 33 +++++++++-------- .../service/datamanager/MogoDataHandler.java | 14 +++++--- .../service/datamanager/MogoDataManager.java | 5 +++ .../service/marker/MapMarkerManager.java | 3 +- .../service/datamanager/IMogoDataManager.java | 8 +++++ .../IMogoRefreshStrategyController.java | 2 ++ 12 files changed, 90 insertions(+), 25 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f7fac3e35b..0a33b8270d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion versionCode rootProject.ext.android.versionCode - versionName "${rootProject.ext.android.versionName}" + versionName "${rootProject.ext.android.versionName}.${getMonthAndDay()}" applicationId rootProject.ext.android.applicationId testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -136,6 +136,12 @@ android.applicationVariants.all { variant -> } } + +def getMonthAndDay(){ + SimpleDateFormat sdf = new SimpleDateFormat("MMddHH") + return sdf.format(new Date()) +} + def getCurrentDate() { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss") return sdf.format(new Date()) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java index b08789023d..6983bd6b5c 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java @@ -75,7 +75,7 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { mMogoMarkerOptions = null; } if ( mMarker != null ) { - mMarker.destroy(); + mMarker.remove(); mMarker.setObject( null ); mMarker = null; } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 55c93e14dd..796410862b 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -195,6 +195,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mCoverUpLayout = findViewById( R.id.module_main_id_cover_up ); mCardCoverUpBottomLayout = findViewById( R.id.module_main_id_card_cover_up_bottom ); + // 避免事件穿透导致地图被滑动 + mLeftShadowFrame.setOnClickListener( view -> {} ); WindowViewHandler.init( mFloatingLayout ); } diff --git a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml index 5f95c7f50f..f9f2d1743c 100644 --- a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml +++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-service/build.gradle b/modules/mogo-module-service/build.gradle index 4ccbff8bf0..57f5a280c7 100644 --- a/modules/mogo-module-service/build.gradle +++ b/modules/mogo-module-service/build.gradle @@ -45,7 +45,6 @@ dependencies { annotationProcessor rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.rxandroid -// implementation rootProject.ext.dependencies.moduleonlinecar if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogomap diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index 338c1b121d..7d843891ca 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -12,10 +12,15 @@ import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.service.marker.MapMarkerManager; import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; +import com.mogo.service.adas.IMogoADASController; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.cardmanager.IMogoCardManager; import com.mogo.service.connection.IMogoSocketManager; +import com.mogo.service.datamanager.IMogoDataManager; +import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.imageloader.IMogoImageloader; +import com.mogo.service.intent.IMogoIntentManager; +import com.mogo.service.launcher.IMogoLauncher; import com.mogo.service.map.IMogoMapService; import com.mogo.service.module.IMogoActionManager; import com.mogo.service.module.IMogoRegisterCenter; @@ -45,6 +50,11 @@ public class MarkerServiceHandler { private static IMogoAnalytics mMogoAnalytics; private static IMogoRegisterCenter mRegisterCenter; private static IMogoActionManager mActionManager; + private static IMogoDataManager mDataManager; + private static IMogoIntentManager mIntentManager; + private static IMogoADASController mADASController; + private static IMogoLauncher mLauncher; + private static IMogoFragmentManager mFragmentManager; private static MapMarkerManager mMapMarkerManager; @@ -62,6 +72,11 @@ public class MarkerServiceHandler { mLocationClient = mMapService.getSingletonLocationClient( context ); mRegisterCenter = mApis.getRegisterCenterApi(); mActionManager = mApis.getActionManagerApi(); + mDataManager = mApis.getDataManagerApi(); + mIntentManager = mApis.getIntentManagerApi(); + mADASController = mApis.getAdasControllerApi(); + mLauncher = mApis.getLauncherApi(); + mFragmentManager = mApis.getFragmentManagerApi(); mMapMarkerManager = MapMarkerManager.getInstance(); mMapMarkerManager.init( context ); @@ -119,6 +134,26 @@ public class MarkerServiceHandler { return mActionManager; } + public static IMogoIntentManager getIntentManager() { + return mIntentManager; + } + + public static IMogoADASController getADASController() { + return mADASController; + } + + public static IMogoLauncher getLauncher() { + return mLauncher; + } + + public static IMogoFragmentManager getFragmentManager() { + return mFragmentManager; + } + + public static IMogoDataManager getDataManager() { + return mDataManager; + } + //TODO -------------以下方法是临时过度使用的,后面统一使用,getMapMarkerManager进行调用 /** diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 0062376c10..2112206b1c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -152,6 +152,8 @@ public class MogoServices implements IMogoMapListener, private IMogoFragmentManager mFragmentManager; private IMogoNavi mNavi; + private IMogoRegisterCenter mRegisterCenter; + /** * 地图视图初始化 */ @@ -272,30 +274,30 @@ public class MogoServices implements IMogoMapListener, public void init( Context context ) { mContext = context; + + MarkerServiceHandler.init( mContext ); mRefreshModel = new RefreshModel( context ); - IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation(); - mMogoMapService = apis.getMapServiceApi(); + mMogoMapService = MarkerServiceHandler.getMapService(); mUiController = mMogoMapService.getMapUIController(); mNavi = mMogoMapService.getNavi( context ); - mStatusManager = apis.getStatusManagerApi(); + mStatusManager = MarkerServiceHandler.getMogoStatusManager(); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.USER_INTERACTED, this ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, this ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.ADAS_UI, this ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.MAIN_PAGE_RESUME, this ); - MarkerServiceHandler.init( mContext ); registerMogoReceiver( context ); registerInternalUnWakeupWords(); - IMogoRegisterCenter registerCenter = apis.getRegisterCenterApi(); - registerCenter.registerMogoLocationListener( ServiceConst.TYPE, this ); - registerCenter.registerMogoNaviListener( ServiceConst.TYPE, this ); - registerCenter.registerMogoMapListener( ServiceConst.TYPE, this ); - registerCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this ); + mRegisterCenter = MarkerServiceHandler.getRegisterCenter(); + mRegisterCenter.registerMogoLocationListener( ServiceConst.TYPE, this ); + mRegisterCenter.registerMogoNaviListener( ServiceConst.TYPE, this ); + mRegisterCenter.registerMogoMapListener( ServiceConst.TYPE, this ); + mRegisterCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this ); - mActionManager = apis.getActionManagerApi(); + mActionManager = MarkerServiceHandler.getActionManager(); - mIntentManager = apis.getIntentManagerApi(); + mIntentManager = MarkerServiceHandler.getIntentManager(); mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this ); mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this ); mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this ); @@ -310,10 +312,10 @@ public class MogoServices implements IMogoMapListener, mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this ); mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOCK, this ); - mADASController = apis.getAdasControllerApi(); - mLauncher = apis.getLauncherApi(); - mFragmentManager = apis.getFragmentManagerApi(); - mCardManager = apis.getCardManagerApi(); + mADASController = MarkerServiceHandler.getADASController(); + mLauncher = MarkerServiceHandler.getLauncher(); + mFragmentManager = MarkerServiceHandler.getFragmentManager(); + mCardManager = MarkerServiceHandler.getMogoCardManager(); mFragmentManager.addMainFragmentStackTransactionListener( this ); initWorkThread(); @@ -438,6 +440,7 @@ public class MogoServices implements IMogoMapListener, } break; case MotionEvent.ACTION_UP: + mStatusManager.setUserInteractionStatus( TAG, true, true ); break; } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataHandler.java index 5df430623a..d6d78298c5 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataHandler.java @@ -98,20 +98,26 @@ public class MogoDataHandler implements IMogoDataManager { } - public void invoke( String tag, Object data ) { - if ( tag == null || mListeners.get( tag ) == null ) { + @Override + public void syncData( String module, Object object ) { + if ( module == null || mListeners.get( module ) == null ) { return; } try { - Iterator< IMogoDataChangedListener > iterator = mListeners.get( tag ).iterator(); + Iterator< IMogoDataChangedListener > iterator = mListeners.get( module ).iterator(); while ( iterator.hasNext() ) { IMogoDataChangedListener listener = iterator.next(); if ( listener != null ) { - listener.onDataSetChanged( data ); + listener.onDataSetChanged( object ); } } } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } } + + @Deprecated + public void invoke( String tag, Object data ) { + syncData( tag, data ); + } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataManager.java index 5466194947..8b3f7dd5c9 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/datamanager/MogoDataManager.java @@ -36,6 +36,11 @@ public class MogoDataManager implements IMogoDataManager { MogoDataHandler.getInstance().removeDataFrom( module, object ); } + @Override + public void syncData( String module, Object object ) { + MogoDataHandler.getInstance().syncData( module, object ); + } + @Override public void init( Context context ) { MogoDataHandler.getInstance().init( context ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 9ea9784bac..6dd1001e38 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -24,7 +24,6 @@ import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.ServiceConst; import com.mogo.module.service.Utils; -import com.mogo.module.service.datamanager.MogoDataHandler; import com.mogo.module.service.utils.ViewUtils; import com.mogo.service.cardmanager.IMogoCardChangedListener; import com.mogo.service.connection.IMogoOnMessageListener; @@ -697,7 +696,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } try { Logger.d( TAG, "dispatch data to %s", biz ); - MogoDataHandler.getInstance().invoke( biz, object ); + MarkerServiceHandler.getDataManager().syncData( biz, object ); } catch ( Exception e ) { e.printStackTrace(); } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/datamanager/IMogoDataManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/datamanager/IMogoDataManager.java index b6fd635ccf..de17e718d8 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/datamanager/IMogoDataManager.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/datamanager/IMogoDataManager.java @@ -40,4 +40,12 @@ public interface IMogoDataManager extends IProvider { * @param object 数据 */ void removeDataFrom( String module, Object object ); + + /** + * 向固定模块透传数据 + * + * @param module + * @param object + */ + void syncData( String module, Object object ); } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/strategy/IMogoRefreshStrategyController.java b/services/mogo-service-api/src/main/java/com/mogo/service/strategy/IMogoRefreshStrategyController.java index 72356ea315..7c3f6f89ca 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/strategy/IMogoRefreshStrategyController.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/strategy/IMogoRefreshStrategyController.java @@ -17,4 +17,6 @@ public interface IMogoRefreshStrategyController extends IProvider { */ void restartAutoRefreshAtTime( int delay ); + + } \ No newline at end of file From 67acdc7a03677680c4b1e2d88ca4ce0d7d7c6ae5 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 25 Mar 2020 10:53:45 +0800 Subject: [PATCH 17/17] opt --- .../com/mogo/module/map/MapPresenter.java | 25 ++++++++----------- .../src/main/res/values-ldpi/dimens.xml | 7 ++++++ .../src/main/res/values-xhdpi/dimens.xml | 7 ++++++ .../src/main/res/values/dimens.xml | 7 ++++++ 4 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml create mode 100644 modules/mogo-module-map/src/main/res/values-xhdpi/dimens.xml create mode 100644 modules/mogo-module-map/src/main/res/values/dimens.xml diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index 71014b83f0..f5f51f3a35 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -17,6 +17,7 @@ import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.MogoModulePaths; +import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; @@ -155,24 +156,18 @@ public class MapPresenter extends Presenter implements @Override public void onCreate(@NonNull LifecycleOwner owner) { super.onCreate(owner); - mMogoMapService = (IMogoMapService) ARouter.getInstance() - .build(MogoServicePaths.PATH_SERVICES_MAP) - .navigation(getContext()); - mMogoIntentManager = (IMogoIntentManager) ARouter.getInstance() - .build(MogoServicePaths.PATH_INTENT_MANAGER) - .navigation(getContext()); - mSearchManager = (IMogoSearchManager) ARouter.getInstance() - .build(MogoServicePaths.PATH_SEARCH_MANAGER) - .navigation(getContext()); + + IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() ); + mMogoMapService = apis.getMapServiceApi(); + mMogoIntentManager = apis.getIntentManagerApi(); + mSearchManager = apis.getSearchManagerApi(); IMogoNavi mogoNavi = mMogoMapService.getNavi(getContext()); mogoNavi.setCalculatePathDisplayBounds(new Rect( - ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.dp_730) - + WindowUtils.dip2px(getContext(), 80), - ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.dp_120) - + WindowUtils.dip2px(getContext(), 80), - WindowUtils.dip2px(getContext(), 80), - WindowUtils.dip2px(getContext(), 80) + ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_left_margin), + ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_top_margin), + ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_right_margin), + ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_bottom_margin) )); } diff --git a/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml new file mode 100644 index 0000000000..7f51191319 --- /dev/null +++ b/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml @@ -0,0 +1,7 @@ + + + 558px + 174px + 32px + 80px + \ No newline at end of file diff --git a/modules/mogo-module-map/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-map/src/main/res/values-xhdpi/dimens.xml new file mode 100644 index 0000000000..275b7ffcd1 --- /dev/null +++ b/modules/mogo-module-map/src/main/res/values-xhdpi/dimens.xml @@ -0,0 +1,7 @@ + + + 977px + 249px + 61px + 80px + \ No newline at end of file diff --git a/modules/mogo-module-map/src/main/res/values/dimens.xml b/modules/mogo-module-map/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..275b7ffcd1 --- /dev/null +++ b/modules/mogo-module-map/src/main/res/values/dimens.xml @@ -0,0 +1,7 @@ + + + 977px + 249px + 61px + 80px + \ No newline at end of file