Commit c2e6b903569054b97a4f63817b9b2a7ce75b6760

Authored by 杨帅
1 parent 50f4cc40

1 修复用户从后台进入前台时,步数显示错误问题

config.gradle
@@ -21,7 +21,7 @@ ext { @@ -21,7 +21,7 @@ ext {
21 //编译方式 21 //编译方式
22 debug : false, 22 debug : false,
23 //版本号 23 //版本号
24 - version: "0.5.3", 24 + version: "0.5.4",
25 //Lib库前缀 25 //Lib库前缀
26 packeg : "com.cnlive.module", 26 packeg : "com.cnlive.module",
27 //Lib库名称 27 //Lib库名称
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunningMapFragmentView.java
@@ -42,6 +42,7 @@ import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunningMapFragment; @@ -42,6 +42,7 @@ import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunningMapFragment;
42 import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; 42 import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo;
43 import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; 43 import com.cnlive.moudle.pedometer.commonInfo.CommonInfo;
44 import com.cnlive.moudle.pedometer.model.Constant; 44 import com.cnlive.moudle.pedometer.model.Constant;
  45 +import com.cnlive.moudle.pedometer.model.MessageEvent;
45 import com.cnlive.moudle.pedometer.net.bean.RunRaceDetailInfo; 46 import com.cnlive.moudle.pedometer.net.bean.RunRaceDetailInfo;
46 import com.cnlive.moudle.pedometer.service.StepService; 47 import com.cnlive.moudle.pedometer.service.StepService;
47 import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; 48 import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity;
@@ -55,6 +56,8 @@ import com.cnlive.moudle.pedometer.utils.TimeUtil; @@ -55,6 +56,8 @@ import com.cnlive.moudle.pedometer.utils.TimeUtil;
55 import com.example.moudle_pedometer.R; 56 import com.example.moudle_pedometer.R;
56 import com.hannesdorfmann.mosby3.mvp.MvpView; 57 import com.hannesdorfmann.mosby3.mvp.MvpView;
57 58
  59 +import org.greenrobot.eventbus.EventBus;
  60 +
58 import java.util.ArrayList; 61 import java.util.ArrayList;
59 import java.util.List; 62 import java.util.List;
60 63
@@ -788,6 +791,8 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener @@ -788,6 +791,8 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener
788 if (mMapView != null) { 791 if (mMapView != null) {
789 mMapView.onResume(); 792 mMapView.onResume();
790 } 793 }
  794 + //保持最新的步数
  795 + EventBus.getDefault().post(new MessageEvent(Constant.COLL_SERVICE_STEP_COUNT_ONRESUME, ""));
791 } 796 }
792 797
793 public void onPause() { 798 public void onPause() {
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/service/CollStepService.java
@@ -494,6 +494,12 @@ public class CollStepService extends Service implements SensorEventListener { @@ -494,6 +494,12 @@ public class CollStepService extends Service implements SensorEventListener {
494 // else if (messageEvent.getMessageType() == Constant.SERVICE_STEP_COUNT_CONTINUE) { 494 // else if (messageEvent.getMessageType() == Constant.SERVICE_STEP_COUNT_CONTINUE) {
495 // pauseFlag = false; 495 // pauseFlag = false;
496 // } 496 // }
  497 +
  498 + //更新锁屏步数
  499 + if (messageEvent.getMessageType() == Constant.COLL_SERVICE_STEP_COUNT_ONRESUME) {
  500 + updateNotification();
  501 + }
  502 +
497 } 503 }
498 504
499 /** 505 /**
@@ -669,12 +675,12 @@ public class CollStepService extends Service implements SensorEventListener { @@ -669,12 +675,12 @@ public class CollStepService extends Service implements SensorEventListener {
669 } else if (Intent.ACTION_DATE_CHANGED.equals(action)) {//日期变化步数重置为0 675 } else if (Intent.ACTION_DATE_CHANGED.equals(action)) {//日期变化步数重置为0
670 // Logger.d("重置步数" + StepDcretor.CURRENT_STEP); 676 // Logger.d("重置步数" + StepDcretor.CURRENT_STEP);
671 save(); 677 save();
672 - isNewDay(); 678 +// isNewDay();
673 } else if (Intent.ACTION_TIME_CHANGED.equals(action)) { 679 } else if (Intent.ACTION_TIME_CHANGED.equals(action)) {
674 //时间变化步数重置为0 680 //时间变化步数重置为0
675 // isCall(); 681 // isCall();
676 save(); 682 save();
677 - isNewDay(); 683 +// isNewDay();
678 } else if (Intent.ACTION_TIME_TICK.equals(action)) {//日期变化步数重置为0 684 } else if (Intent.ACTION_TIME_TICK.equals(action)) {//日期变化步数重置为0
679 // isCall(); 685 // isCall();
680 // Logger.d("重置步数" + StepDcretor.CURRENT_STEP); 686 // Logger.d("重置步数" + StepDcretor.CURRENT_STEP);
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/fragment/StartTraceFragment.java
@@ -7,6 +7,8 @@ import android.support.annotation.Nullable; @@ -7,6 +7,8 @@ import android.support.annotation.Nullable;
7 import android.view.View; 7 import android.view.View;
8 8
9 import com.cnlive.libs.base.ui.QMUIFragment; 9 import com.cnlive.libs.base.ui.QMUIFragment;
  10 +import com.cnlive.libs.base.util.StatusBarUtil;
  11 +import com.cnlive.libs.base.util.StatusBarUtil2;
10 import com.cnlive.moudle.collectionTrace.frame.presenter.StartTraceFragmentPresenter; 12 import com.cnlive.moudle.collectionTrace.frame.presenter.StartTraceFragmentPresenter;
11 import com.cnlive.moudle.collectionTrace.frame.view.StartTraceFragmentView; 13 import com.cnlive.moudle.collectionTrace.frame.view.StartTraceFragmentView;
12 import com.cnlive.moudle.collectionTrace.ui.activity.CollPedometerMainActivity; 14 import com.cnlive.moudle.collectionTrace.ui.activity.CollPedometerMainActivity;
@@ -55,6 +57,8 @@ public class StartTraceFragment extends QMUIFragment<StartTraceFragmentView, Sta @@ -55,6 +57,8 @@ public class StartTraceFragment extends QMUIFragment<StartTraceFragmentView, Sta
55 @Override 57 @Override
56 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 58 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
57 super.onViewCreated(view, savedInstanceState); 59 super.onViewCreated(view, savedInstanceState);
  60 + StatusBarUtil.setStatusBarWrite(getActivity());
  61 + StatusBarUtil2.setColor(getActivity(), getResources().getColor(R.color.white), 0);
58 EventBus.getDefault().register(this); 62 EventBus.getDefault().register(this);
59 mSensorManager = (SensorManager) getActivity().getSystemService(SENSOR_SERVICE);//获取传感器管理服务 63 mSensorManager = (SensorManager) getActivity().getSystemService(SENSOR_SERVICE);//获取传感器管理服务
60 if (null != getArguments()) { 64 if (null != getArguments()) {
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/RunningFinishFragmetPresenter.java
@@ -7,6 +7,7 @@ import android.util.Log; @@ -7,6 +7,7 @@ import android.util.Log;
7 import android.widget.Toast; 7 import android.widget.Toast;
8 8
9 import com.baidu.mapapi.model.LatLng; 9 import com.baidu.mapapi.model.LatLng;
  10 +import com.baidu.mapapi.utils.DistanceUtil;
10 import com.baidu.trace.LBSTraceClient; 11 import com.baidu.trace.LBSTraceClient;
11 import com.baidu.trace.model.SortType; 12 import com.baidu.trace.model.SortType;
12 import com.cnlive.libs.base.logic.Logic; 13 import com.cnlive.libs.base.logic.Logic;
@@ -270,9 +271,39 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<RunningFinis @@ -270,9 +271,39 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<RunningFinis
270 * @param context 271 * @param context
271 */ 272 */
272 public void checkUserIsFinish(List<LatLng> resultPoints, UserStepEntity userStepEntity, RunningFinishBean runningFinishBean, Activity context) { 273 public void checkUserIsFinish(List<LatLng> resultPoints, UserStepEntity userStepEntity, RunningFinishBean runningFinishBean, Activity context) {
  274 + boolean isArrive = false;
  275 + FailedEntity failedEntity = null;
  276 + if (!TextUtils.isEmpty(runningFinishBean.getFailUUID())) {
  277 + StepUtil.getTempSaveFailByUUID(context, CommonInfo.getUserId(context), runningFinishBean.getFailUUID());
  278 + }
273 if (!userStepEntity.getIsArriveEndPoint()) { 279 if (!userStepEntity.getIsArriveEndPoint()) {
274 runningFinishBean.setIsFinish("0"); 280 runningFinishBean.setIsFinish("0");
275 - } else { 281 + isArrive = false;
  282 + if (null != failedEntity) {
  283 + failedEntity.setIsArriveEndPoint(false);
  284 + StepUtil.updateFailData(context, failedEntity);
  285 + }
  286 + //在判断一次历史轨迹
  287 + if (null != resultPoints && resultPoints.size() > 1) {
  288 + if (!TextUtils.isEmpty(userStepEntity.getEndLatLng())) {
  289 + LatLng endLat = GsonUtil.GsonToBean(userStepEntity.getEndLatLng(), LatLng.class);
  290 + if (null != endLat) {
  291 + for (int i = 0; i < resultPoints.size(); i++) {
  292 + double distance = DistanceUtil.getDistance(endLat, resultPoints.get(i));
  293 + if (distance < Constant.LOCA_END_POINT_ACCURACY) {
  294 + isArrive = true;
  295 + if (null != failedEntity) {
  296 + failedEntity.setIsArriveEndPoint(true);
  297 + StepUtil.updateFailData(context, failedEntity);
  298 + }
  299 + break;
  300 + }
  301 + }
  302 + }
  303 + }
  304 + }
  305 + }
  306 + if (isArrive) {
276 if (importPoints != null) { 307 if (importPoints != null) {
277 //判断是否完成 308 //判断是否完成
278 boolean isFinish = MyMapUtil.checkIsFinishTrace(importPoints, resultPoints, Constant.PASS_RATE); 309 boolean isFinish = MyMapUtil.checkIsFinishTrace(importPoints, resultPoints, Constant.PASS_RATE);
@@ -284,6 +315,8 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter&lt;RunningFinis @@ -284,6 +315,8 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter&lt;RunningFinis
284 runningFinishBean.setIsFinish("0"); 315 runningFinishBean.setIsFinish("0");
285 } 316 }
286 } 317 }
  318 + } else {
  319 + runningFinishBean.setIsFinish("0");
287 } 320 }
288 } 321 }
289 322
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunMainFragmentView.java
@@ -77,6 +77,7 @@ public class RunMainFragmentView implements MvpView { @@ -77,6 +77,7 @@ public class RunMainFragmentView implements MvpView {
77 private TipDialog tipDialog; 77 private TipDialog tipDialog;
78 //创建震动服务对象 78 //创建震动服务对象
79 private Vibrator mVibrator; 79 private Vibrator mVibrator;
  80 + private boolean isfirstEndTip = true;
80 81
81 public RunMainFragmentView(RunMainFragment fragment) { 82 public RunMainFragmentView(RunMainFragment fragment) {
82 this.fragment = fragment; 83 this.fragment = fragment;
@@ -439,6 +440,9 @@ public class RunMainFragmentView implements MvpView { @@ -439,6 +440,9 @@ public class RunMainFragmentView implements MvpView {
439 } 440 }
440 FailedEntity failedEntity = StepUtil.getTempSaveFailData(getContext(), CommonInfo.getUserId(getContext()), userStepEntity.getStartTimeStamp()); 441 FailedEntity failedEntity = StepUtil.getTempSaveFailData(getContext(), CommonInfo.getUserId(getContext()), userStepEntity.getStartTimeStamp());
441 if (failedEntity != null) { 442 if (failedEntity != null) {
  443 + if (null != failedEntity.getUuid()) {
  444 + runningFinishBean.setFailUUID(failedEntity.getUuid());
  445 + }
442 RunningFinishActivity.startActivity(fragment.getActivity(), runningFinishBean); 446 RunningFinishActivity.startActivity(fragment.getActivity(), runningFinishBean);
443 fragment.getActivity().finish(); 447 fragment.getActivity().finish();
444 } 448 }
@@ -789,7 +793,12 @@ public class RunMainFragmentView implements MvpView { @@ -789,7 +793,12 @@ public class RunMainFragmentView implements MvpView {
789 //更新数据 793 //更新数据
790 StepUtil.updateStepData(getContext(), userStepEntity); 794 StepUtil.updateStepData(getContext(), userStepEntity);
791 } 795 }
792 - 796 + if (!isfirstEndTip) {
  797 + return;
  798 + }
  799 + if (isfirstEndTip) {
  800 + isfirstEndTip = false;
  801 + }
793 //进行提示 802 //进行提示
794 if (null == tipDialog) { 803 if (null == tipDialog) {
795 ChineseToSpeechUtil.speech(getContext(), "您已到达终点附近,可以结束运动了!"); 804 ChineseToSpeechUtil.speech(getContext(), "您已到达终点附近,可以结束运动了!");
@@ -826,6 +835,7 @@ public class RunMainFragmentView implements MvpView { @@ -826,6 +835,7 @@ public class RunMainFragmentView implements MvpView {
826 CommonInfo.setIsWriteUserStep(getContext(), false); 835 CommonInfo.setIsWriteUserStep(getContext(), false);
827 if (StepService.mClient != null) { 836 if (StepService.mClient != null) {
828 StepService.mClient.stopGather(StepService.traceListener); 837 StepService.mClient.stopGather(StepService.traceListener);
  838 +// StepService.CURRENT_STEP = 0;
829 } 839 }
830 fragment.getActivity().stopService(new Intent(fragment.getActivity(), StepService.class)); 840 fragment.getActivity().stopService(new Intent(fragment.getActivity(), StepService.class));
831 } 841 }
@@ -836,6 +846,11 @@ public class RunMainFragmentView implements MvpView { @@ -836,6 +846,11 @@ public class RunMainFragmentView implements MvpView {
836 } 846 }
837 } 847 }
838 848
  849 + public void onResume() {
  850 + //保持最新的步数
  851 + EventBus.getDefault().post(new MessageEvent(Constant.SERVICE_STEP_COUNT_ONRESUME, ""));
  852 + }
  853 +
839 /** 854 /**
840 * 暂存失败数据 855 * 暂存失败数据
841 * 856 *
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunningMapFragmentView.java
@@ -40,7 +40,9 @@ import com.baidu.mapapi.utils.DistanceUtil; @@ -40,7 +40,9 @@ import com.baidu.mapapi.utils.DistanceUtil;
40 import com.baidu.trace.model.SortType; 40 import com.baidu.trace.model.SortType;
41 import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; 41 import com.cnlive.moudle.pedometer.commonInfo.CommonInfo;
42 import com.cnlive.moudle.pedometer.model.Constant; 42 import com.cnlive.moudle.pedometer.model.Constant;
  43 +import com.cnlive.moudle.pedometer.model.MessageEvent;
43 import com.cnlive.moudle.pedometer.model.RunningMapBean; 44 import com.cnlive.moudle.pedometer.model.RunningMapBean;
  45 +import com.cnlive.moudle.pedometer.service.StepService;
44 import com.cnlive.moudle.pedometer.sql.entity.UserStepEntity; 46 import com.cnlive.moudle.pedometer.sql.entity.UserStepEntity;
45 import com.cnlive.moudle.pedometer.ui.fragment.RunningMapFragment; 47 import com.cnlive.moudle.pedometer.ui.fragment.RunningMapFragment;
46 import com.cnlive.moudle.pedometer.ui.widget.TipDialog; 48 import com.cnlive.moudle.pedometer.ui.widget.TipDialog;
@@ -53,6 +55,8 @@ import com.cnlive.moudle.pedometer.utils.StepUtil; @@ -53,6 +55,8 @@ import com.cnlive.moudle.pedometer.utils.StepUtil;
53 import com.example.moudle_pedometer.R; 55 import com.example.moudle_pedometer.R;
54 import com.hannesdorfmann.mosby3.mvp.MvpView; 56 import com.hannesdorfmann.mosby3.mvp.MvpView;
55 57
  58 +import org.greenrobot.eventbus.EventBus;
  59 +
56 import java.util.ArrayList; 60 import java.util.ArrayList;
57 import java.util.HashMap; 61 import java.util.HashMap;
58 import java.util.List; 62 import java.util.List;
@@ -88,6 +92,7 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -88,6 +92,7 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
88 private TipDialog tipDialog; 92 private TipDialog tipDialog;
89 //创建震动服务对象 93 //创建震动服务对象
90 private Vibrator mVibrator; 94 private Vibrator mVibrator;
  95 + private boolean isfirstEndTip = true;//是否是第一次提示到达终点
91 96
92 public RunningMapFragmentView(RunningMapFragment fragment) { 97 public RunningMapFragmentView(RunningMapFragment fragment) {
93 this.fragment = fragment; 98 this.fragment = fragment;
@@ -349,7 +354,12 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -349,7 +354,12 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
349 StepUtil.updateStepData(getContext(), userStepEntity); 354 StepUtil.updateStepData(getContext(), userStepEntity);
350 } 355 }
351 356
352 - 357 + if (!isfirstEndTip) {
  358 + return;
  359 + }
  360 + if (isfirstEndTip) {
  361 + isfirstEndTip = false;
  362 + }
353 //进行提示 363 //进行提示
354 if (null == tipDialog) { 364 if (null == tipDialog) {
355 ChineseToSpeechUtil.speech(getContext(), "您已到达终点附近,可以结束运动了!"); 365 ChineseToSpeechUtil.speech(getContext(), "您已到达终点附近,可以结束运动了!");
@@ -532,6 +542,7 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -532,6 +542,7 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
532 if (mMapView != null) { 542 if (mMapView != null) {
533 mMapView.onResume(); 543 mMapView.onResume();
534 } 544 }
  545 + EventBus.getDefault().post(new MessageEvent(Constant.SERVICE_STEP_COUNT_ONRESUME, ""));
535 } 546 }
536 547
537 public void onPause() { 548 public void onPause() {
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/model/Constant.java
1 package com.cnlive.moudle.pedometer.model; 1 package com.cnlive.moudle.pedometer.model;
2 2
3 public class Constant { 3 public class Constant {
4 - public static final long SERVICE_ID = 213511;//公司账号  
5 -// public static final long SERVICE_ID = 213553;  
6 -  
7 - public static final int TAG = 1;  
8 - public static final int GATHER_INTERVAL = 2;//位置采集周期  
9 - public static final int PACK_INTERVAL = 10;//位置采集周期  
10 - 4 + /*********************************用户标志位**************************************************/
11 public static final int SERVICE_STEP_COUNT_UPDATE = 0;//步数更新 5 public static final int SERVICE_STEP_COUNT_UPDATE = 0;//步数更新
12 public static final int SERVICE_STEP_COUNT_PAUSE = 1;//步数暂停 6 public static final int SERVICE_STEP_COUNT_PAUSE = 1;//步数暂停
13 public static final int SERVICE_STEP_COUNT_CONTINUE = 2;//继续计步 7 public static final int SERVICE_STEP_COUNT_CONTINUE = 2;//继续计步
@@ -15,11 +9,7 @@ public class Constant { @@ -15,11 +9,7 @@ public class Constant {
15 public static final int FRAGMENT_RUN_CHRONOMETER = 4;//同步计时器 9 public static final int FRAGMENT_RUN_CHRONOMETER = 4;//同步计时器
16 public static final int EXIT_RANGE = 5;//超出范围 10 public static final int EXIT_RANGE = 5;//超出范围
17 public static final int ENTER_RANGE = 6;//进入范围 11 public static final int ENTER_RANGE = 6;//进入范围
18 - public static final int VIBRATOR_DELAY_TIME = 100;//震动等待时间(ms)  
19 - public static final int VIBRATOR_RUN_TIME = 1000;//震动执行时间(ms)  
20 - public static final int VIBRATOR_REPEAT_TIME = -1;//震动重复次数(-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始)  
21 -  
22 - /*****************************************运营工具****************************************************/ 12 + /*****************************************运营工具标志位****************************************************/
23 public static final int COLL_SERVICE_STEP_COUNT_RESET_SPEED = 3;//重置速度 13 public static final int COLL_SERVICE_STEP_COUNT_RESET_SPEED = 3;//重置速度
24 public static final int COLL_SERVICE_STEP_COUNT_UPDATE = 0;//步数更新 14 public static final int COLL_SERVICE_STEP_COUNT_UPDATE = 0;//步数更新
25 public static final int COLL_START_TRACE_GATHER_SUCCESS = 7;//启动轨迹服务成功(运营) 15 public static final int COLL_START_TRACE_GATHER_SUCCESS = 7;//启动轨迹服务成功(运营)
@@ -29,6 +19,21 @@ public class Constant { @@ -29,6 +19,21 @@ public class Constant {
29 public static final int REGISTRATION_SUCCESS = 11;//用户报名成功 19 public static final int REGISTRATION_SUCCESS = 11;//用户报名成功
30 public static final int UPDATA_COLL_BIND_TRACE_LIST = 12;//更新已绑定列表 20 public static final int UPDATA_COLL_BIND_TRACE_LIST = 12;//更新已绑定列表
31 public static final int DELECT_COLL_BIND_TRACE_LIST = 13;//删除已绑定列表 21 public static final int DELECT_COLL_BIND_TRACE_LIST = 13;//删除已绑定列表
  22 + public static final int SERVICE_STEP_COUNT_ONRESUME = 14;//用户从后台回到前台,更新步数
  23 + public static final int COLL_SERVICE_STEP_COUNT_ONRESUME = 15;//运营从后台回到前台,更新步数
  24 +
  25 +
  26 +
  27 + /*************************************用户其他值,非标志位************************************************************/
  28 + public static final long SERVICE_ID = 213511;//公司账号
  29 + // public static final long SERVICE_ID = 213553;
  30 + public static final int TAG = 1;
  31 + public static final int GATHER_INTERVAL = 2;//位置采集周期
  32 + public static final int PACK_INTERVAL = 10;//位置采集周期
  33 + public static final int VIBRATOR_DELAY_TIME = 100;//震动等待时间(ms)
  34 + public static final int VIBRATOR_RUN_TIME = 1000;//震动执行时间(ms)
  35 + public static final int VIBRATOR_REPEAT_TIME = -1;//震动重复次数(-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始)
  36 + /*****************************************运营工具其他值,非标志位****************************************************/
32 public static final double PASS_RATE = 0.7;//通过率70% 37 public static final double PASS_RATE = 0.7;//通过率70%
33 public static final int CHECK_ACCURACY = 50;//判断用户是否完成的精度范围 38 public static final int CHECK_ACCURACY = 50;//判断用户是否完成的精度范围
34 public static final int LOCA_ACCURACY = 20;//定位过滤精度 39 public static final int LOCA_ACCURACY = 20;//定位过滤精度
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/model/RunningFinishBean.java
@@ -27,6 +27,15 @@ public class RunningFinishBean implements Serializable { @@ -27,6 +27,15 @@ public class RunningFinishBean implements Serializable {
27 private boolean isPause; 27 private boolean isPause;
28 private String userPauseTime; 28 private String userPauseTime;
29 private String userContinueTime; 29 private String userContinueTime;
  30 + private String failUUID;
  31 +
  32 + public String getFailUUID() {
  33 + return failUUID;
  34 + }
  35 +
  36 + public void setFailUUID(String failUUID) {
  37 + this.failUUID = failUUID;
  38 + }
30 39
31 public boolean isPause() { 40 public boolean isPause() {
32 return isPause; 41 return isPause;
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/service/StepService.java
@@ -666,6 +666,10 @@ public class StepService extends Service implements SensorEventListener { @@ -666,6 +666,10 @@ public class StepService extends Service implements SensorEventListener {
666 else if (messageEvent.getMessageType() == Constant.SERVICE_STEP_COUNT_CONTINUE) { 666 else if (messageEvent.getMessageType() == Constant.SERVICE_STEP_COUNT_CONTINUE) {
667 pauseFlag = false; 667 pauseFlag = false;
668 } 668 }
  669 + //更新锁屏步数
  670 + else if (messageEvent.getMessageType() == Constant.SERVICE_STEP_COUNT_ONRESUME) {
  671 + updateNotification();
  672 + }
669 } 673 }
670 674
671 /** 675 /**
@@ -1063,7 +1067,7 @@ public class StepService extends Service implements SensorEventListener { @@ -1063,7 +1067,7 @@ public class StepService extends Service implements SensorEventListener {
1063 } 1067 }
1064 //总步数=现有的步数+本次有效步数 1068 //总步数=现有的步数+本次有效步数
1065 CURRENT_STEP += (thisStep); 1069 CURRENT_STEP += (thisStep);
1066 -// Log.e(TAG, "onSensorChanged: 加了以后" + CURRENT_STEP); 1070 + Log.e(TAG, "onSensorChanged: 加了以后" + CURRENT_STEP);
1067 lastStep = tempStep; 1071 lastStep = tempStep;
1068 } 1072 }
1069 } 1073 }
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/sql/entity/UserStepEntity.java
@@ -251,4 +251,5 @@ public class UserStepEntity { @@ -251,4 +251,5 @@ public class UserStepEntity {
251 } 251 }
252 252
253 253
  254 +
254 } 255 }
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunMainFragment.java
@@ -127,6 +127,14 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr @@ -127,6 +127,14 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr
127 } 127 }
128 128
129 @Override 129 @Override
  130 + public void onResume() {
  131 + super.onResume();
  132 + if (getMvpView() != null) {
  133 + getMvpView().onResume();
  134 + }
  135 + }
  136 +
  137 + @Override
130 public void onDestroy() { 138 public void onDestroy() {
131 139
132 super.onDestroy(); 140 super.onDestroy();
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/utils/StepUtil.java
@@ -35,6 +35,7 @@ public class StepUtil { @@ -35,6 +35,7 @@ public class StepUtil {
35 return UUID.randomUUID().toString().replace("-", ""); 35 return UUID.randomUUID().toString().replace("-", "");
36 } 36 }
37 37
  38 +
38 public static void initDataBase(Context context, String uid) { 39 public static void initDataBase(Context context, String uid) {
39 try { 40 try {
40 if (null == getUserStepData(context, uid)) { 41 if (null == getUserStepData(context, uid)) {
@@ -50,6 +51,50 @@ public class StepUtil { @@ -50,6 +51,50 @@ public class StepUtil {
50 } 51 }
51 52
52 /** 53 /**
  54 + * 更新删除临时保存数据
  55 + *
  56 + * @param context
  57 + * @param entity
  58 + */
  59 + public static void updateFailData(Context context, FailedEntity entity) {
  60 + try {
  61 + DbCore.init(context, dbName);
  62 + if (entity != null && !TextUtils.isEmpty(entity.getUuid())) {
  63 + DbCore.getDaoSession().getFailedEntityDao().update(entity);
  64 + }
  65 + } catch (Exception e) {
  66 + Log.e(TAG, "deleteTempSaveFailData: " + e.toString());
  67 + }
  68 +
  69 + }
  70 +
  71 + /**
  72 + * 获取暂存的失败数据
  73 + *
  74 + * @param context
  75 + * @param uid
  76 + * @return
  77 + */
  78 + public static FailedEntity getTempSaveFailByUUID(Context context, String uid, String UUID) {
  79 + try {
  80 + DbCore.init(context, dbName);
  81 + List<FailedEntity> list = DbCore.getDaoSession().getFailedEntityDao().queryBuilder().where(FailedEntityDao.Properties.Uid.eq(uid), FailedEntityDao.Properties.Uuid.eq(UUID)).list();
  82 + if (list != null && list.size() > 0) {
  83 + if (list.get(0) == null) {
  84 + return null;
  85 + } else {
  86 + return list.get(0);
  87 + }
  88 + }
  89 + return null;
  90 + } catch (Exception e) {
  91 + Log.e(TAG, "getTempSaveFailByUUID: " + e.toString());
  92 + return null;
  93 + }
  94 +
  95 + }
  96 +
  97 + /**
53 * 删除临时保存数据 98 * 删除临时保存数据
54 * 99 *
55 * @param context 100 * @param context