From 6db6140ae482a328221d3dfaecbf68524ef35e30 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 25 Dec 2020 21:12:57 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=AE=BE=E7=BD=AE=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7sdk=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/map-custom/build.gradle | 2 +- .../common/drawer/SnapshotSetDataDrawer.java | 24 +++++++ .../service/impl/adas/MogoADASController.java | 66 ++++++++++--------- 3 files changed, 61 insertions(+), 31 deletions(-) diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index bc98d7bbf5..f42565d9bb 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.7' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.8' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index 000b8ddc32..076f058274 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -92,6 +92,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( DataTypes.TYPE_MARKER_CLOUD_DATA ); return; } + filterData( data.getAllList() ); List< CloudRoadData > allDatumsList = new ArrayList<>(); allDatumsList.addAll( data.getAllList() ); // allDatumsList.addAll( data.getNearList() ); @@ -170,6 +171,29 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen } } + /** + * vr 模式下显示合并数据,否则只显示上报位置的车辆 + * + * @param dataList + */ + private void filterData( List< CloudRoadData > dataList ) { + if ( dataList == null || dataList.isEmpty() ) { + return; + } + if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return; + } + List< CloudRoadData > newList = new ArrayList<>(); + for ( CloudRoadData cloudRoadData : dataList ) { + if ( cloudRoadData.getFromType() != CloudRoadData.FROM_MY_LOCATION ) { + continue; + } + newList.add( cloudRoadData ); + } + dataList.clear(); + dataList.addAll( newList ); + } + private void bindClickListener( IMogoMarker marker ) { if ( marker == null || marker.isDestroyed() ) { return; diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 85c98e6ad5..f82bf29011 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -57,6 +57,7 @@ import java.util.List; import java.util.Map; import io.reactivex.schedulers.Schedulers; + import java.util.concurrent.CopyOnWriteArrayList; import static com.mogo.module.common.utils.SPConst.getSpGuide; @@ -85,7 +86,7 @@ public class MogoADASController implements IMogoADASController { private IMogoStatusManager mStatusManager = SingletonsHolder.get( IMogoStatusManager.class ); private boolean mIsReleased = true; - private List adasDataCallbackList = new ArrayList<>(); + private List< IMogoAdasDataCallback > adasDataCallbackList = new ArrayList<>(); private IAutopolitDataCallBack mAutopolitDataCallBack; @@ -113,6 +114,10 @@ public class MogoADASController implements IMogoADASController { // 物体识别返回 // Logger.d( TAG, "onRectData = %s", rectInfo.toString() ); mLastFrameData = rectInfo; + // 仅在 vr 模式下显示 adas 识别车辆 + if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return; + } handleAdasRecognizedData( rectInfo ); } @@ -210,7 +215,7 @@ public class MogoADASController implements IMogoADASController { @Override public void showADAS() { - if( DebugConfig.isNeedLoadGuideModule() ){ + if ( DebugConfig.isNeedLoadGuideModule() ) { if ( !SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).getBoolean( getSpGuide(), false ) ) { return; } @@ -272,13 +277,13 @@ public class MogoADASController implements IMogoADASController { @Override public void requestGetCarModelListInfo() { - if (DebugConfig.isMapBased()) { - Logger.d(TAG, "requestGetCarModelListInfo"); + if ( DebugConfig.isMapBased() ) { + Logger.d( TAG, "requestGetCarModelListInfo" ); // 向adas发送车模list - String carModelList = SharedPrefsMgr.getInstance(context).getString( - "CAR_MODEL_LIST", ""); - if (carModelList != null && !carModelList.isEmpty()) { - AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList); + String carModelList = SharedPrefsMgr.getInstance( context ).getString( + "CAR_MODEL_LIST", "" ); + if ( carModelList != null && !carModelList.isEmpty() ) { + AutopilotServiceManage.getInstance().settingCarModelListInfo( carModelList ); } // 此处进行网络请求,请求成功后再通知一次adas requestCarModelList(); @@ -368,6 +373,7 @@ public class MogoADASController implements IMogoADASController { } private Context context; + @Override public void init( Context context ) { AutopilotServiceManage.getInstance().init( context ); @@ -464,40 +470,40 @@ public class MogoADASController implements IMogoADASController { private String currentSn = TEST_SN; private void requestCarModelList() { - Map params = new HashMap<>(8); - params.put("sn", Utils.getSn()); + Map< String, String > params = new HashMap<>( 8 ); + params.put( "sn", Utils.getSn() ); // currentSn = useTestSn ? TEST_SN : Utils.getSn(); // params.put("sn", currentSn); - MogoApisHandler.getInstance().getApis().getNetworkApi().create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()). - requestCarModelList(params). - subscribeOn(Schedulers.io()). - observeOn(Schedulers.io()). - subscribe(new SubscribeImpl(RequestOptions.create(context)) { + MogoApisHandler.getInstance().getApis().getNetworkApi().create( CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl() ). + requestCarModelList( params ). + subscribeOn( Schedulers.io() ). + observeOn( Schedulers.io() ). + subscribe( new SubscribeImpl< CarModelListResponse >( RequestOptions.create( context ) ) { @Override - public void onSuccess(CarModelListResponse o) { - super.onSuccess(o); - Logger.d(TAG, "请求车模列表成功: " + o); + public void onSuccess( CarModelListResponse o ) { + super.onSuccess( o ); + Logger.d( TAG, "请求车模列表成功: " + o ); // 保存到sp中 - String value = GsonUtil.jsonFromObject(o.getResult()); - SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", - value); - if(value != null && !value.isEmpty()){ - AutopilotServiceManage.getInstance().settingCarModelListInfo(value); + String value = GsonUtil.jsonFromObject( o.getResult() ); + SharedPrefsMgr.getInstance( context ).putString( "CAR_MODEL_LIST", + value ); + if ( value != null && !value.isEmpty() ) { + AutopilotServiceManage.getInstance().settingCarModelListInfo( value ); } } @Override - public void onError(Throwable e) { - super.onError(e); - Logger.e(TAG, e, "请求自车模型失败"); + public void onError( Throwable e ) { + super.onError( e ); + Logger.e( TAG, e, "请求自车模型失败" ); } @Override - public void onError(String message, int code) { - super.onError(message, code); - Logger.e(TAG, "请求自车模型失败: " + message); + public void onError( String message, int code ) { + super.onError( message, code ); + Logger.e( TAG, "请求自车模型失败: " + message ); } - }); + } ); } From 7fa38d9080f621230a0bc61ddb8814832433e344 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Sun, 27 Dec 2020 15:57:35 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E8=87=AA=E7=A0=94?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEsdk=E7=89=88=E6=9C=AC=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BB=96=E8=BD=A6=E5=8A=A8=E7=94=BB=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/map-custom/build.gradle | 2 +- .../com/mogo/module/common/drawer/SnapshotSetDataDrawer.java | 2 +- .../src/main/java/com/mogo/module/service/MogoServices.java | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index f42565d9bb..bd525599dc 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.8' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.5.1' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index 076f058274..c09cfdf95f 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -159,7 +159,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen List< MogoLatLng > points = new ArrayList<>(); points.add( new MogoLatLng( lastPosition.lat, lastPosition.lon ) ); points.add( new MogoLatLng( target.lat, target.lon ) ); - marker.startSmoothInMs( points, 500L ); + marker.startSmoothInMs( points, SystemClock.elapsedRealtime() - mLastReceiveTime ); } } else { marker.setRotateAngle( 360 - ( float ) cloudRoadData.getHeading() ); 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 25460261f1..bcfe822ff2 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 @@ -555,6 +555,8 @@ public class MogoServices implements IMogoMapListener, MapMarkerManager.getInstance().syncLocation( latLng.lon, latLng.lat ); + Logger.d( TAG, "zoom = %s", zoom ); + if ( mIsCameraInited ) { mLastZoomLevel = zoom; mLastCustomRefreshCenterLocation = latLng; From ec080323392416621a5ea40b7ec9428db31eb9e3 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Sun, 27 Dec 2020 16:05:14 +0800 Subject: [PATCH 3/5] opt --- .../com/mogo/module/common/drawer/SnapshotSetDataDrawer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index c09cfdf95f..c3e9f0b981 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -180,7 +180,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen if ( dataList == null || dataList.isEmpty() ) { return; } - if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { return; } List< CloudRoadData > newList = new ArrayList<>(); From 93f5a60249116b3538bc0990c7186a7ce43fdf9d Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 28 Dec 2020 15:06:10 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=87=AA=E7=A0=94?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEstyleDir=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java index 4e9a9a7885..4044a5203d 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java @@ -95,7 +95,6 @@ class CustomMapApiBuilder implements IMogoMapApiBuilder { .setDebugMode( true ) .setCoordinateType( MapParams.COORDINATETYPE_GCJ02 ) .setPerspectiveMode( MapParams.MAP_PERSPECTIVE_2D ) - .setStyleDir( "sdcard/shmdata_asset/mogo_style" ) .setCachePath( "sdcard/tiles" ) .setZoom( 16 ) .setPointToCenter( 0.734375f, 0.5f ) From 71c5c8582e0b1ab97a8c4bfe0e1477484a1dc7f8 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 28 Dec 2020 15:06:56 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=87=AA=E7=A0=94?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEcachePath=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java index 4044a5203d..2dd9320480 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java @@ -95,7 +95,6 @@ class CustomMapApiBuilder implements IMogoMapApiBuilder { .setDebugMode( true ) .setCoordinateType( MapParams.COORDINATETYPE_GCJ02 ) .setPerspectiveMode( MapParams.MAP_PERSPECTIVE_2D ) - .setCachePath( "sdcard/tiles" ) .setZoom( 16 ) .setPointToCenter( 0.734375f, 0.5f ) .setStyleMode( MapParams.MAP_STYLE_NIGHT ), NavParams.Companion.init() );