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 f2adedc6fc..3d543e47a4 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 @@ -10,6 +10,7 @@ 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.commons.AbsMogoApplication; import com.mogo.map.MogoLatLng; import com.mogo.map.impl.amap.AMapWrapper; import com.mogo.map.impl.amap.message.AMapMessageManager; @@ -309,7 +310,7 @@ public class NaviClient implements IMogoNavi { } } ); } else { - AMapWrapper.getAMap().setLocationSource( null ); + AMapWrapper.getAMap().setLocationSource( new com.amap.api.col.n3.dd( AbsMogoApplication.getApp() ) ); mOnLocationChangedListener = null; } AMapWrapper.getAMap().setMyLocationEnabled( true ); diff --git a/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java b/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java index 5915aa103e..a0d21778b6 100644 --- a/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java +++ b/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java @@ -3,6 +3,7 @@ package com.mogo.module.gps.simulator; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.AbsMogoApplication; import com.mogo.map.MogoLatLng; +import com.mogo.map.location.MogoLocation; import com.mogo.map.navi.IMogoCarLocationChangedListener; import com.mogo.map.navi.IMogoNavi; import com.mogo.service.IMogoServiceApis; @@ -33,6 +34,7 @@ public class WebSocketManager { private IMogoNavi mNavi; private JWebSocketClient mClient; private URI mUri; + private IMogoServiceApis mServiceApis; private ExecutorService mService; @@ -48,7 +50,7 @@ public class WebSocketManager { } private WebSocketManager() { - final IMogoServiceApis mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation(); + mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation(); mNavi = mServiceApis.getMapServiceApi().getNavi( AbsMogoApplication.getApp() ); mUri = URI.create( "ws://152.136.10.223:4001/realtimeLocations-ws" ); mClient = new JWebSocketClient( mUri ) { @@ -107,10 +109,12 @@ public class WebSocketManager { if ( mClient == null ) { return; } + mNavi.setUseExtraGPSData( true ); mService.execute( () -> { try { mClient.connectBlocking(); - } catch ( InterruptedException e ) { + Logger.d( TAG, "connectBlocking done." ); + } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } } ); @@ -123,13 +127,15 @@ public class WebSocketManager { } public void disConnect() { - try { - mService.execute( () -> { - mClient.close(); - } ); - } catch ( Exception e ) { - Logger.e( TAG, e, "error." ); - } + mNavi.setUseExtraGPSData( false ); + mService.execute( () -> { + try { + mClient.closeBlocking(); + Logger.d( TAG, "close done." ); + } catch ( InterruptedException e ) { + Logger.e( TAG, e, "error." ); + } + } ); } public static void destroy() { diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt index 2c044a99f1..07d9b1c445 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt @@ -212,7 +212,6 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { } SettingManager.setGpsSimulator(isChecked) - SearchServiceHolder.getNavi().setUseExtraGPSData(isChecked) if (isChecked) { SearchServiceHolder.gpsSimulator.open() @@ -280,8 +279,6 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { tv_navi_clear_home_address.visibility = View.VISIBLE } - - } override fun onDestroyView() {