diff --git a/app/build.gradle b/app/build.gradle index aa047e7434..87bfe5dff1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -203,7 +203,7 @@ android { // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' // 是否需要实时上报坐标 - buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' } // 同上 em4 { diff --git a/app/functions/httpdns.gradle b/app/functions/httpdns.gradle index 326008a36f..176938bc92 100644 --- a/app/functions/httpdns.gradle +++ b/app/functions/httpdns.gradle @@ -8,7 +8,7 @@ project.dependencies { d8xxImplementation rootProject.ext.dependencies.httpdnsnoop d80xImplementation rootProject.ext.dependencies.httpdnsnoop em4Implementation rootProject.ext.dependencies.httpdnsnoop - e8xxImplementation rootProject.ext.dependencies.httpdnsnoop + e8xxImplementation rootProject.ext.dependencies.httpdnstencent f8xxImplementation rootProject.ext.dependencies.httpdnstencent f80xImplementation rootProject.ext.dependencies.httpdnstencent f8AmapImplementation rootProject.ext.dependencies.httpdnstencent @@ -20,7 +20,7 @@ project.dependencies { d8xxImplementation project(':foudations:httpdns-noop') d80xImplementation project(':foudations:httpdns-noop') em4Implementation project(':foudations:httpdns-noop') - e8xxImplementation project(':foudations:httpdns-noop') + e8xxImplementation project(':foudations:httpdns-tencent') f8xxImplementation project(':foudations:httpdns-tencent') f80xImplementation project(':foudations:httpdns-tencent') f8AmapImplementation project(':foudations:httpdns-tencent') diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index b21ec92c05..dd82afcdb8 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -75,7 +75,7 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_WIDGETS, MogoServicePaths.PATH_WIDGETS ) ); if ( DebugConfig.isMapBased() ) { - MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) ); +// MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) ); } MogoModulePaths.addBaseModule( new MogoModule( ShareConstants.TAG, ShareConstants.MODEL_NAME ) ); diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketHandlerThread.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketHandlerThread.java index 4343842f8c..67ecca8032 100644 --- a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketHandlerThread.java +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketHandlerThread.java @@ -27,7 +27,7 @@ public class WebSocketHandlerThread extends HandlerThread { super.handleMessage(msg); if (msg.what == MSG_SEND) { Logger.d(tag, "WebSocketHandlerThread handleMessage = " + msg.obj.toString()); - SocketClient.getInstance().getClientProxy().sendMessage(msg.obj.toString()); + WebSocketInstanceHolder.getClientProxy().sendMessage(msg.obj.toString()); } } }; diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketInstanceHolder.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketInstanceHolder.java new file mode 100644 index 0000000000..4f2acf7a85 --- /dev/null +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketInstanceHolder.java @@ -0,0 +1,26 @@ +package com.mogo.base.websocket; + +import com.mogo.websocket.SocketClient; + +public +/** + * @author congtaowang + * @since 2020/12/24 + * + * 描述 + */ +class WebSocketInstanceHolder { + + private volatile static SocketClient sClient; + + public static SocketClient getClientProxy() { + if ( sClient == null ) { + synchronized ( WebSocketInstanceHolder.class ) { + if ( sClient == null ) { + sClient = new SocketClient(); + } + } + } + return sClient; + } +} diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java index eafa6edacf..3ce7ad20a8 100644 --- a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java @@ -82,8 +82,8 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin @Override public void ttlIp(String url) { Logger.d(TAG,"ttlIp url : " + url); - SocketClient.getInstance().getClientProxy().stop(); - SocketClient.getInstance().getClientProxy().disConnect(); + WebSocketInstanceHolder.getClientProxy().stop(); + WebSocketInstanceHolder.getClientProxy().disConnect(); Logger.d(TAG,"ready to re initWebSocket : " + url); initWebSocket(url); } @@ -91,10 +91,10 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin } private void initWebSocket(String ip){ - SocketClient.getInstance().getClientProxy().initSocketServer(ip); - SocketClient.getInstance().getClientProxy().getMessageSettings(this); - SocketClient.getInstance().getClientProxy().addISocketMsgCallBack(this); - SocketClient.getInstance().getClientProxy().startConnect(); + WebSocketInstanceHolder.getClientProxy().initSocketServer(ip); + WebSocketInstanceHolder.getClientProxy().getMessageSettings(this); + WebSocketInstanceHolder.getClientProxy().addISocketMsgCallBack(this); + WebSocketInstanceHolder.getClientProxy().startConnect(); } @Override @@ -224,8 +224,8 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin @Override public void onConnectClose() { Logger.d(TAG, "websocket ready to reconnect"); - SocketClient.getInstance().getClientProxy().stop(); - SocketClient.getInstance().getClientProxy().reConnect(); + WebSocketInstanceHolder.getClientProxy().stop(); + WebSocketInstanceHolder.getClientProxy().reConnect(); } @Override diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/layoutinflater/OriginalLayoutInflater.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/layoutinflater/OriginalLayoutInflater.java new file mode 100644 index 0000000000..7c9a9fc496 --- /dev/null +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/layoutinflater/OriginalLayoutInflater.java @@ -0,0 +1,32 @@ +package com.mogo.commons.layoutinflater; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.LayoutRes; + +public +/** + * @author congtaowang + * @since 2020/12/23 + * + * 系统实现的布局加载 + */ +class OriginalLayoutInflater { + + private static LayoutInflater sLayoutInflater; + + public static void init( Context context ) { + sLayoutInflater = LayoutInflater.from( context ).cloneInContext( context ); + } + + public static View inflate( @LayoutRes int layoutId, ViewGroup container, boolean attachToRoot ) { + return sLayoutInflater.inflate( layoutId, container, attachToRoot ); + } + + public static View inflate( @LayoutRes int layoutId, ViewGroup container ) { + return sLayoutInflater.inflate( layoutId, container, container != null ); + } +} diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index ebd597f443..f514411412 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,8 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.4' +// implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/location/GpsTester.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/location/GpsTester.java index c21716e56b..67c2b8c6e4 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/location/GpsTester.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/location/GpsTester.java @@ -74,8 +74,8 @@ class GpsTester { break; case 2: try { - readOneLineGpsDataAndSet2Map(); - sendEmptyMessageDelayed( 2, 0 ); + long time = readOneLineGpsDataAndSet2Map(); + sendEmptyMessageDelayed( 2, time ); } catch ( Exception e ) { e.printStackTrace(); } @@ -112,7 +112,6 @@ class GpsTester { if ( TextUtils.isEmpty( line ) ) { return 0; } - int count = 0; long duration = 3; @@ -154,7 +153,6 @@ class GpsTester { step++; if ( step >= 50 ) { step = 0; - count++; long realDuration = mogoLocation.getDuration() + 75; realDuration = realDuration / 4; diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerView.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerView.java index 4d4eecb5e8..694414bf7b 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerView.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerView.java @@ -24,7 +24,8 @@ import com.mogo.utils.logger.Logger; * desc : 地图Marker图标 * version: 1.0 */ -public class MapMarkerView extends MapMarkerBaseView { +public class +MapMarkerView extends MapMarkerBaseView { private String TAG = "MapMarkerView"; private FrameLayout clMarkerTopView; 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 4a439ba53d..e23dc28f2f 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 @@ -83,7 +83,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void beforeSetContentView( Bundle savedInstanceState ) { init(); - //installSkinManager( savedInstanceState ); + installSkinManager( savedInstanceState ); } /** diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java index 1fed0baacf..321bcbf68a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java @@ -46,6 +46,7 @@ import java.util.List; public class MockIntentHandler implements IntentHandler { private static final String TAG = "MockIntentHandler"; + private IMogoMarker centerMarker; @Override public void handle( Context context, Intent intent ) { @@ -364,6 +365,24 @@ public class MockIntentHandler implements IntentHandler { MogoApisHandler.getInstance().getApis().getMapFrameControllerApi().changeTo2dMode(); } break; + case 35: + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().testGpsData(); + break; + case 36: + MogoLatLng center = MogoApisHandler.getInstance().getApis() + .getMapServiceApi().getMapUIController() + .getWindowCenterLocation(); + centerMarker = MogoApisHandler.getInstance().getApis() + .getMapServiceApi().getMarkerManager( context ) + .addMarker( TAG, new MogoMarkerOptions() + .position( center ) + .icon( BitmapFactory.decodeResource( context.getResources(), R.drawable.bg_map_marker_red ) ) ); + break; + case 37: + if ( centerMarker != null ) { + centerMarker.destroy(); + } + break; } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/uploadintime/SnapshotUploadInTime.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/uploadintime/SnapshotUploadInTime.java index 8a07f5d1c4..5409333c6c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/uploadintime/SnapshotUploadInTime.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/uploadintime/SnapshotUploadInTime.java @@ -12,6 +12,7 @@ import com.mogo.module.service.websocket.OnePerSecondSendContent; import com.mogo.service.adas.entity.ADASRecognizedResult; import com.mogo.service.connection.IMogoOnWebSocketMessageListener; import com.mogo.service.connection.WebSocketMsgType; +import com.mogo.utils.logger.Logger; import java.util.ArrayList; import java.util.List; @@ -104,6 +105,7 @@ class SnapshotUploadInTime implements MogoRTKLocation.RTKLocationListener { if ( content.self == null && ( content.adas == null || content.adas.isEmpty() ) ) { + Logger.d( TAG, "no information 2 sent" ); return; } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java index a606a556bb..23dbe9b389 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java @@ -55,7 +55,7 @@ class AdasObjectUtils { recognizedResults.add( result ); } } catch ( Exception e ) { - e.printStackTrace(); + } } return recognizedResults; @@ -65,8 +65,13 @@ class AdasObjectUtils { if ( rectBean == null ) { return null; } + if( rectBean.getLat() < 1){ + return null; + } ADASRecognizedResult result = new ADASRecognizedResult(); result.uuid = rectBean.getUuid(); + + double amapCoord[] = CoordinateUtils.transformFromWGSToGCJ( rectBean.getLat(), rectBean.getLon() ); if ( amapCoord != null ) { result.lat = amapCoord[0]; 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 0844bfe629..85c98e6ad5 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 @@ -547,8 +547,13 @@ public class MogoADASController implements IMogoADASController { @Override public List< ADASRecognizedResult > getLastADASRecognizedResult() { RectInfo rectInfo = mLastFrameData; - List< ADASRecognizedResult > recognizedResultList = AdasObjectUtils.fromAdasObject( rectInfo ); - return recognizedResultList; + List< ADASRecognizedResult > recognizedResultList = null; + try { + recognizedResultList = AdasObjectUtils.fromAdasObject( rectInfo ); + return recognizedResultList; + } catch ( Exception e ) { + return null; + } } @Override