Commit 52a6049474b96d31c1afa63ef41e7cb32441ac48

Authored by 杨帅
1 parent 67a0c3c5

1 修改暂停后,实时轨迹显示逻辑

moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/RunningMapFragmentPresenter.java
... ... @@ -342,11 +342,17 @@ public class RunningMapFragmentPresenter extends MvpBasePresenter<RunningMapFrag
342 342 /**
343 343 * 查询当前用户历史轨迹
344 344 */
345   - public void queryHistoryTrace(Context context, UserStepEntity userStepEntity) {
  345 + public void queryHistoryTrace(Context context, UserStepEntity userStepEntity, boolean isPause) {
346 346 //查询当前用户的历史轨迹
347 347 long startTime = userStepEntity.getStartTimeStamp();
348 348 //获取当前的时间戳(秒)
349   - long endTime = TimeUtil.getNowTimeStamp();
  349 + long endTime = 0;
  350 + //如果没有暂停
  351 + if (!isPause) {
  352 + endTime = TimeUtil.getNowTimeStamp();
  353 + } else {
  354 + endTime = userStepEntity.getPauseTimeStamp();
  355 + }
350 356 //获取当前的实体名称
351 357 String entityName = CommonInfo.getUserId(context);
352 358 //打的重要点
... ... @@ -356,10 +362,12 @@ public class RunningMapFragmentPresenter extends MvpBasePresenter<RunningMapFrag
356 362 public void success(List<LatLng> resultPoints) {
357 363 if (resultPoints != null && resultPoints.size() > 1) {
358 364 if (getView() != null && resultPoints != null) {
359   - if (resultPoints.size() == 1) {
360   - getView().setHistoryLastPoint(resultPoints.get(0));
361   - } else if (resultPoints.size() > 1) {
362   - getView().setHistoryLastPoint(resultPoints.get(resultPoints.size() - 1));
  365 + if (!isPause) {
  366 + if (resultPoints.size() == 1) {
  367 + getView().setHistoryLastPoint(resultPoints.get(0));
  368 + } else if (resultPoints.size() > 1) {
  369 + getView().setHistoryLastPoint(resultPoints.get(resultPoints.size() - 1));
  370 + }
363 371 }
364 372 if (importPoints != null && resultPoints != null) {
365 373 boolean isFinish = MyMapUtil.checkIsFinishTrace(importPoints, resultPoints, 0.6);
... ... @@ -377,6 +385,28 @@ public class RunningMapFragmentPresenter extends MvpBasePresenter&lt;RunningMapFrag
377 385 }
378 386 });
379 387  
  388 + //然后查询从暂停到现在的距离
  389 + if (isPause) {
  390 + long continueTime = userStepEntity.getContinueTime();
  391 + long continueendTime = TimeUtil.getNowTimeStamp();
  392 + MyMapUtil.queryHistoryTrace(context, StepService.mClient, entityName, startTime, endTime, new MyMapUtil.CallBack() {
  393 + @Override
  394 + public void success(List<LatLng> resultPoints) {
  395 + if (resultPoints != null && resultPoints.size() > 1) {
  396 + if (resultPoints.size() == 1) {
  397 + getView().setHistoryLastPoint(resultPoints.get(0));
  398 + } else if (resultPoints.size() > 1) {
  399 + getView().setHistoryLastPoint(resultPoints.get(resultPoints.size() - 1));
  400 + }
  401 + //开始划线
  402 + MyMapUtil.drawHistoryTrack(context, getView().baiduMap, resultPoints, SortType.asc, R.color.red, 0, 0);
  403 +
  404 + }
  405 + }
  406 + });
  407 +
  408 + }
  409 +
380 410 }
381 411  
382 412  
... ...
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/model/RunningFinishBean.java
... ... @@ -21,6 +21,7 @@ public class RunningFinishBean implements Serializable {
21 21 private String isFinish;
22 22 private String roadmap;
23 23 private String streetTitle;
  24 + //后续添加的,用于我的记录详情页跳转
24 25 private String userStartTime;
25 26 private String userFinishTime;
26 27  
... ...
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunningMapFragment.java
... ... @@ -110,9 +110,15 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run
110 110 if (getMvpView() != null && userStepEntity != null) {
111 111 //查询运营人员踩得轨迹
112 112 getPresenter().getServerStreetTrace(getActivity(), userStepEntity);
113   -
114   - //开始查询
115   - getPresenter().queryHistoryTrace(getActivity(), userStepEntity);
  113 + //判断用户是否暂停过
  114 + if (userStepEntity.getPauseCount() != 0) {
  115 + //开始查询,用户已经点击暂停按钮(先画出用户 开始-暂停时间中的轨迹)
  116 + getPresenter().queryHistoryTrace(getActivity(), userStepEntity, true);
  117 +
  118 + } else {
  119 + //开始查询,用户没有点击暂停按钮
  120 + getPresenter().queryHistoryTrace(getActivity(), userStepEntity, false);
  121 + }
116 122 }
117 123  
118 124  
... ...
moudle_pedometer/src/main/res/layout/fragment_self_record.xml
... ... @@ -16,6 +16,7 @@
16 16 android:layout_width="wrap_content"
17 17 android:layout_height="wrap_content"
18 18 android:layout_centerVertical="true"
  19 + android:layout_marginLeft="10dp"
19 20 android:padding="10dp"
20 21 android:src="@drawable/top_back_black" />
21 22  
... ...