diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt index 5268e3ce77..4680bfdcd6 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt @@ -34,6 +34,10 @@ private const val MORNING_PEAK_STOP_MINUTE = 9 * 60 + 30 private const val NIGHT_PEAK_START_MINUTE = 17 * 60 + 30 private const val NIGHT_PEAK_STOP_MINUTE = 19 * 60 + 30 +private const val NORMAL_UPLOAD_COUNT = 5 // 5 +private const val MORNING_PEAK_UPLOAD_COUNT = 2 // 2 +private const val NIGHT_PEAK_UPLOAD_COUNT = 3 // 3 + private const val DISTANCE_MORNING_PEAK_COUNT = "DISTANCE_MORNING_PEAK_COUNT" private const val DISTANCE_NIGHT_PEAK_COUNT = "DISTANCE_NIGHT_PEAK_COUNT" private const val DISTANCE_NORMAL_COUNT = "DISTANCE_NORMAL_COUNT" @@ -167,7 +171,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService if (isMorningPeak()) { val distanceMorningCount = SharedPrefsMgr.getInstance(context).getInt(DISTANCE_MORNING_PEAK_COUNT, 0) val speedMorningCount = SharedPrefsMgr.getInstance(context).getInt(SPEED_MORNING_PEAK_COUNT, 0) - if (blockFromDistance && distanceMorningCount < 2) { + if (blockFromDistance && distanceMorningCount < MORNING_PEAK_UPLOAD_COUNT) { Logger.d(TAG, "按距离策略上报早高峰") SharedPrefsMgr.getInstance(context).putInt(DISTANCE_MORNING_PEAK_COUNT, distanceMorningCount + 1) p.location = latLonFromDistance @@ -175,7 +179,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService apis.tanluApi.uploadRoadCondition(p) return } - if (blockFromSpeed && speedMorningCount < 2) { + if (blockFromSpeed && speedMorningCount < MORNING_PEAK_UPLOAD_COUNT) { Logger.d(TAG, "按速度策略上报早高峰") SharedPrefsMgr.getInstance(context).putInt(SPEED_MORNING_PEAK_COUNT, speedMorningCount + 1) p.location = latLonFromSpeed @@ -185,7 +189,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService } else if (isNightPeak()) { val distanceNightCount = SharedPrefsMgr.getInstance(context).getInt(DISTANCE_NIGHT_PEAK_COUNT, 0) val speedNightCount = SharedPrefsMgr.getInstance(context).getInt(SPEED_NIGHT_PEAK_COUNT, 0) - if (blockFromDistance && distanceNightCount < 3) { + if (blockFromDistance && distanceNightCount < NIGHT_PEAK_UPLOAD_COUNT) { Logger.d(TAG, "按距离策略上报晚高峰") SharedPrefsMgr.getInstance(context).putInt(DISTANCE_NIGHT_PEAK_COUNT, distanceNightCount + 1) p.location = latLonFromDistance @@ -193,7 +197,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService apis.tanluApi.uploadRoadCondition(p) return } - if (blockFromSpeed && speedNightCount < 3) { + if (blockFromSpeed && speedNightCount < NIGHT_PEAK_UPLOAD_COUNT) { Logger.d(TAG, "按速度策略上报晚高峰") SharedPrefsMgr.getInstance(context).putInt(SPEED_NIGHT_PEAK_COUNT, speedNightCount + 1) p.location = latLonFromSpeed @@ -203,7 +207,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService } else { val distanceNormalCount = SharedPrefsMgr.getInstance(context).getInt(DISTANCE_NORMAL_COUNT, 0) val speedNormalCount = SharedPrefsMgr.getInstance(context).getInt(SPEED_NORMAL_COUNT, 0) - if (blockFromDistance && distanceNormalCount < 5) { + if (blockFromDistance && distanceNormalCount < NORMAL_UPLOAD_COUNT) { Logger.d(TAG, "按距离策略上报一般时段") SharedPrefsMgr.getInstance(context).putInt(DISTANCE_NORMAL_COUNT, distanceNormalCount + 1) p.location = latLonFromDistance @@ -211,8 +215,8 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService apis.tanluApi.uploadRoadCondition(p) return } - if (blockFromSpeed && speedNormalCount < 5) { - Logger.d(TAG, "按速度策略上报早高峰") + if (blockFromSpeed && speedNormalCount < NORMAL_UPLOAD_COUNT) { + Logger.d(TAG, "按速度策略上报一般时段") SharedPrefsMgr.getInstance(context).putInt(SPEED_NORMAL_COUNT, speedNormalCount + 1) p.location = latLonFromSpeed apis.tanluApi.uploadRoadCondition(p) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java index b8d723b9bd..ac55a3004d 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java @@ -149,6 +149,7 @@ public class V2XModuleProvider implements // obu数据转发初始化 V2XObuManager.getInstance().init(context); + V2XServiceManager.getV2XRefreshModel().queryRoadData(Utils.getSn()); } private void initBiz(Context context) { @@ -164,9 +165,6 @@ public class V2XModuleProvider implements FatigueDrivingUtils.refreshAccOnTime(); // 刷新配置文件 refreshStrategyConfig(); -// if (V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) { -// V2XServiceManager.getV2XRefreshModel().queryRoadData(Utils.getSn()); -// } } else { // 记录关机时间 SharedPrefsMgr.getInstance(V2XUtils.getApp()) @@ -230,8 +228,6 @@ public class V2XModuleProvider implements .registerMogoMapListener(V2XConst.MODULE_NAME, this); V2XServiceManager.getMoGoStatusManager() .registerStatusChangedListener(MODULE_NAME, StatusDescriptor.ACC_STATUS, this); - V2XServiceManager.getMoGoStatusManager() - .registerStatusChangedListener(MODULE_NAME, StatusDescriptor.MAIN_PAGE_RESUME, this); V2XServiceManager.getMoGoStatusManager() .registerStatusChangedListener(MODULE_NAME, StatusDescriptor.SEEK_HELPING, this); @@ -327,6 +323,7 @@ public class V2XModuleProvider implements // 记录开机时间 FatigueDrivingUtils.refreshAccOnTime(); initCarForHelpStatus(); + V2XServiceManager.getV2XRefreshModel().queryRoadData(Utils.getSn()); } else { // 记录关机时间 @@ -335,16 +332,6 @@ public class V2XModuleProvider implements } } else if (descriptor == StatusDescriptor.SEEK_HELPING) { refreshMeSeekHelp(isTrue); - } else if (descriptor == StatusDescriptor.MAIN_PAGE_RESUME) { - if (isTrue) { - String localAccONTime = SharedPrefsMgr.getInstance(V2XUtils.getApp()) - .getString(V2XConst.V2X_ACC_ON_TIME_STR); - long timeSpan = TimeUtils.getTimeSpan(TimeUtils.getNowString(), localAccONTime, TimeConstants.MIN); - if (timeSpan < 5) { - V2XServiceManager.getV2XRefreshModel().queryRoadData(Utils.getSn()); - } - } - } } @@ -396,6 +383,7 @@ public class V2XModuleProvider implements public void onMapLoaded() { //初始化获得自车求助状态 initCarForHelpStatus(); + V2XServiceManager.getV2XRefreshModel().queryRoadData(Utils.getSn()); } @Override diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java index a3ff8523a8..730483c750 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java @@ -677,7 +677,11 @@ public class V2XRefreshModel { public void queryRoadData(String sn) { - Logger.d("V2XRefreshModel:", "sn:"+sn); + Logger.d("V2XRefreshModel:", "sn:" + sn); + if (!V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) { + Logger.d("V2XRefreshModel:", "主页没有显示"); + return; + } if (mV2XApiService != null) { Map map = new ParamsProvider.Builder(mContext).build(); map.put("sn", sn); @@ -720,6 +724,12 @@ public class V2XRefreshModel { } }); } + + @Override + public void onError(Throwable e) { + super.onError(e); + Logger.d("V2XRefreshModel:", "接口异常:" + e); + } }); } } 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 3f8c687b43..653e799db6 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 @@ -86,7 +86,6 @@ public class MogoADASController implements IMogoADASController { private IMogoStatusManager mStatusManager = SingletonsHolder.get( IMogoStatusManager.class ); private boolean mIsReleased = true; - private List< IMogoAdasDataCallback > adasDataCallbackList = new ArrayList<>(); private IAutopolitDataCallBack mAutopolitDataCallBack; @@ -245,7 +244,7 @@ public class MogoADASController implements IMogoADASController { mAutopolitDataCallBack = new IAutopolitDataCallBack() { @Override public void sendMsg( String msg ) { - for ( IMogoAdasDataCallback callback : adasDataCallbackList ) { + for ( IMogoAdasDataCallback callback : mAdasDataCallbackList ) { try { callback.onAdasDataCallback( msg ); } catch ( Exception e ) {