Commit c2e6b903569054b97a4f63817b9b2a7ce75b6760
1 parent
50f4cc40
1 修复用户从后台进入前台时,步数显示错误问题
Showing
13 changed files
with
165 additions
and
19 deletions
config.gradle
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<RunningFinis | @@ -284,6 +315,8 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<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
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunMainFragment.java
| @@ -127,6 +127,14 @@ public class RunMainFragment extends QMUIFragment<RunMainFragmentView, RunMainFr | @@ -127,6 +127,14 @@ public class RunMainFragment extends QMUIFragment<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 |