Commit de788c92fd645a02654e2b0bac8d7b5cf206bab3

Authored by 杨帅
1 parent 045ca6f4

1 增加用户到达终点语音震动提示

2 修改打点逻辑
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/presenter/CollRunningFinishFragmetPresenter.java
@@ -66,12 +66,12 @@ public class CollRunningFinishFragmetPresenter extends MvpBasePresenter<CollRunn @@ -66,12 +66,12 @@ public class CollRunningFinishFragmetPresenter extends MvpBasePresenter<CollRunn
66 endPoint = GsonUtil.GsonToBean(userStepEntity.getCollEndPointData(), CollectPoint.class); 66 endPoint = GsonUtil.GsonToBean(userStepEntity.getCollEndPointData(), CollectPoint.class);
67 } 67 }
68 if (null != startPoint) { 68 if (null != startPoint) {
69 - collectPoints.add(0, startPoint); 69 +// collectPoints.add(0, startPoint);
70 //起点 70 //起点
71 paramsMap.put("startLocation", startPoint.getPointName()); 71 paramsMap.put("startLocation", startPoint.getPointName());
72 } 72 }
73 if (null != endPoint) { 73 if (null != endPoint) {
74 - collectPoints.add(endPoint); 74 +// collectPoints.add(endPoint);
75 // 终点 75 // 终点
76 paramsMap.put("endLocation", endPoint.getPointName()); 76 paramsMap.put("endLocation", endPoint.getPointName());
77 77
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/fragment/CollRunningMapFragment.java
@@ -186,7 +186,7 @@ public class CollRunningMapFragment extends QMUIFragment<CollRunningMapFragmentV @@ -186,7 +186,7 @@ public class CollRunningMapFragment extends QMUIFragment<CollRunningMapFragmentV
186 if (mVibrator != null) { 186 if (mVibrator != null) {
187 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000, 187 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
188 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始 188 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
189 - mVibrator.vibrate(new long[]{100, 1000, 100, 1000}, -1); 189 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
190 } 190 }
191 if (tipDialog != null) { 191 if (tipDialog != null) {
192 tipDialog.show(); 192 tipDialog.show();
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/ALLScoreDetailFragmentView.java
@@ -89,7 +89,7 @@ public class ALLScoreDetailFragmentView implements MvpView { @@ -89,7 +89,7 @@ public class ALLScoreDetailFragmentView implements MvpView {
89 }); 89 });
90 } 90 }
91 91
92 - public void initMap() { 92 + public void initMap(MapCallBack mapCallBack) {
93 this.mMapView = fragment.binding.mapView; 93 this.mMapView = fragment.binding.mapView;
94 if (baiduMap == null) { 94 if (baiduMap == null) {
95 baiduMap = mMapView.getMap(); 95 baiduMap = mMapView.getMap();
@@ -104,5 +104,17 @@ public class ALLScoreDetailFragmentView implements MvpView { @@ -104,5 +104,17 @@ public class ALLScoreDetailFragmentView implements MvpView {
104 mUiSettings.setEnlargeCenterWithDoubleClickEnable(true); 104 mUiSettings.setEnlargeCenterWithDoubleClickEnable(true);
105 //隐藏自带的指南针,改用自定义指南针 杨帅 105 //隐藏自带的指南针,改用自定义指南针 杨帅
106 mUiSettings.setCompassEnabled(false); 106 mUiSettings.setCompassEnabled(false);
  107 + baiduMap.setOnMapLoadedCallback(new BaiduMap.OnMapLoadedCallback() {
  108 + @Override
  109 + public void onMapLoaded() {
  110 + if (null != mapCallBack) {
  111 + mapCallBack.onMapLoadFinish();
  112 + }
  113 + }
  114 + });
  115 + }
  116 +
  117 + public interface MapCallBack {
  118 + void onMapLoadFinish();
107 } 119 }
108 } 120 }
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunMainFragmentView.java
1 package com.cnlive.moudle.pedometer.frame.view; 1 package com.cnlive.moudle.pedometer.frame.view;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
  4 +import android.app.Service;
4 import android.content.Context; 5 import android.content.Context;
5 import android.content.Intent; 6 import android.content.Intent;
6 import android.os.Handler; 7 import android.os.Handler;
7 import android.os.SystemClock; 8 import android.os.SystemClock;
  9 +import android.os.Vibrator;
8 import android.support.v4.content.ContextCompat; 10 import android.support.v4.content.ContextCompat;
9 import android.text.TextUtils; 11 import android.text.TextUtils;
10 import android.util.Log; 12 import android.util.Log;
@@ -39,6 +41,7 @@ import com.cnlive.moudle.pedometer.ui.fragment.RunMainFragment; @@ -39,6 +41,7 @@ import com.cnlive.moudle.pedometer.ui.fragment.RunMainFragment;
39 import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; 41 import com.cnlive.moudle.pedometer.ui.widget.SelectDialog;
40 import com.cnlive.moudle.pedometer.ui.widget.TipDialog; 42 import com.cnlive.moudle.pedometer.ui.widget.TipDialog;
41 import com.cnlive.moudle.pedometer.utils.ButtonAnimUtil; 43 import com.cnlive.moudle.pedometer.utils.ButtonAnimUtil;
  44 +import com.cnlive.moudle.pedometer.utils.ChineseToSpeechUtil;
42 import com.cnlive.moudle.pedometer.utils.GsonUtil; 45 import com.cnlive.moudle.pedometer.utils.GsonUtil;
43 import com.cnlive.moudle.pedometer.utils.MyMapUtil; 46 import com.cnlive.moudle.pedometer.utils.MyMapUtil;
44 import com.cnlive.moudle.pedometer.utils.MySpHelper; 47 import com.cnlive.moudle.pedometer.utils.MySpHelper;
@@ -72,7 +75,8 @@ public class RunMainFragmentView implements MvpView { @@ -72,7 +75,8 @@ public class RunMainFragmentView implements MvpView {
72 private String employTime = ""; 75 private String employTime = "";
73 private LatLng endLatLng;//终点坐标 76 private LatLng endLatLng;//终点坐标
74 private TipDialog tipDialog; 77 private TipDialog tipDialog;
75 - 78 + //创建震动服务对象
  79 + private Vibrator mVibrator;
76 public RunMainFragmentView(RunMainFragment fragment) { 80 public RunMainFragmentView(RunMainFragment fragment) {
77 this.fragment = fragment; 81 this.fragment = fragment;
78 } 82 }
@@ -125,6 +129,8 @@ public class RunMainFragmentView implements MvpView { @@ -125,6 +129,8 @@ public class RunMainFragmentView implements MvpView {
125 * 初始化相关视图 129 * 初始化相关视图
126 */ 130 */
127 public void initView(RunRaceDetailInfo runRaceDetailInfo) { 131 public void initView(RunRaceDetailInfo runRaceDetailInfo) {
  132 + //获取手机震动服务
  133 + mVibrator = (Vibrator) getContext().getSystemService(Service.VIBRATOR_SERVICE);
128 uid = CommonInfo.getUserId(getContext()); 134 uid = CommonInfo.getUserId(getContext());
129 userStepEntity = StepUtil.getUserStepData(getContext(), uid); 135 userStepEntity = StepUtil.getUserStepData(getContext(), uid);
130 //设置数据 136 //设置数据
@@ -770,8 +776,15 @@ public class RunMainFragmentView implements MvpView { @@ -770,8 +776,15 @@ public class RunMainFragmentView implements MvpView {
770 //更新数据 776 //更新数据
771 StepUtil.updateStepData(getContext(), userStepEntity); 777 StepUtil.updateStepData(getContext(), userStepEntity);
772 } 778 }
  779 +
773 //进行提示 780 //进行提示
774 if (null == tipDialog) { 781 if (null == tipDialog) {
  782 + ChineseToSpeechUtil.speech(getContext(), "您已到达终点附近,可以结束运动了!");
  783 + if (mVibrator != null) {
  784 + //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
  785 + //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
  786 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
  787 + }
775 tipDialog = new TipDialog(getContext(), getContext().getResources().getString(R.string.run_race_arrive_end_tip), "好的", R.color.green_round, new TipDialog.DialogInterface() { 788 tipDialog = new TipDialog(getContext(), getContext().getResources().getString(R.string.run_race_arrive_end_tip), "好的", R.color.green_round, new TipDialog.DialogInterface() {
776 @Override 789 @Override
777 public void onClick(TipDialog dialog) { 790 public void onClick(TipDialog dialog) {
@@ -885,6 +898,9 @@ public class RunMainFragmentView implements MvpView { @@ -885,6 +898,9 @@ public class RunMainFragmentView implements MvpView {
885 StepUtil.setFailData(context, failedEntity); 898 StepUtil.setFailData(context, failedEntity);
886 899
887 } 900 }
  901 + public void onStop() {
  902 + ChineseToSpeechUtil.destroy();
  903 + }
888 } 904 }
889 905
890 906
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunRaceDetailFragmentView.java
@@ -640,6 +640,10 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -640,6 +640,10 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
640 } 640 }
641 641
642 private void checkBaiduServiceState() { 642 private void checkBaiduServiceState() {
  643 + CommonInfo.setIsRunKeepAliveService(getContext(), true);
  644 + CommonInfo.setIsRunStepService(getContext(), true);
  645 + CommonInfo.setTsRunBaiduTraceService(getContext(), true);
  646 + CommonInfo.setIsWriteUserStep(getContext(), true);
643 boolean isRunBaidu = CommonInfo.getIsRunBaiduTraceService(getContext()); 647 boolean isRunBaidu = CommonInfo.getIsRunBaiduTraceService(getContext());
644 if (isRunBaidu) { 648 if (isRunBaidu) {
645 //判断百度服务是否运行 649 //判断百度服务是否运行
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunningMapFragmentView.java
1 package com.cnlive.moudle.pedometer.frame.view; 1 package com.cnlive.moudle.pedometer.frame.view;
2 2
  3 +import android.app.Service;
3 import android.content.Context; 4 import android.content.Context;
4 import android.graphics.Bitmap; 5 import android.graphics.Bitmap;
5 import android.graphics.BitmapFactory; 6 import android.graphics.BitmapFactory;
@@ -9,6 +10,7 @@ import android.hardware.SensorEventListener; @@ -9,6 +10,7 @@ import android.hardware.SensorEventListener;
9 import android.hardware.SensorManager; 10 import android.hardware.SensorManager;
10 import android.os.Handler; 11 import android.os.Handler;
11 import android.os.SystemClock; 12 import android.os.SystemClock;
  13 +import android.os.Vibrator;
12 import android.text.TextUtils; 14 import android.text.TextUtils;
13 import android.util.Log; 15 import android.util.Log;
14 import android.view.MotionEvent; 16 import android.view.MotionEvent;
@@ -44,6 +46,7 @@ import com.cnlive.moudle.pedometer.ui.fragment.RunningMapFragment; @@ -44,6 +46,7 @@ import com.cnlive.moudle.pedometer.ui.fragment.RunningMapFragment;
44 import com.cnlive.moudle.pedometer.ui.widget.TipDialog; 46 import com.cnlive.moudle.pedometer.ui.widget.TipDialog;
45 import com.cnlive.moudle.pedometer.utils.BitmapUtil; 47 import com.cnlive.moudle.pedometer.utils.BitmapUtil;
46 import com.cnlive.moudle.pedometer.utils.ButtonAnimUtil; 48 import com.cnlive.moudle.pedometer.utils.ButtonAnimUtil;
  49 +import com.cnlive.moudle.pedometer.utils.ChineseToSpeechUtil;
47 import com.cnlive.moudle.pedometer.utils.GsonUtil; 50 import com.cnlive.moudle.pedometer.utils.GsonUtil;
48 import com.cnlive.moudle.pedometer.utils.MyMapUtil; 51 import com.cnlive.moudle.pedometer.utils.MyMapUtil;
49 import com.cnlive.moudle.pedometer.utils.StepUtil; 52 import com.cnlive.moudle.pedometer.utils.StepUtil;
@@ -83,6 +86,8 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -83,6 +86,8 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
83 private LatLng endLatLng;//终点坐标 86 private LatLng endLatLng;//终点坐标
84 private UserStepEntity userStepEntity; 87 private UserStepEntity userStepEntity;
85 private TipDialog tipDialog; 88 private TipDialog tipDialog;
  89 + //创建震动服务对象
  90 + private Vibrator mVibrator;
86 91
87 public RunningMapFragmentView(RunningMapFragment fragment) { 92 public RunningMapFragmentView(RunningMapFragment fragment) {
88 this.fragment = fragment; 93 this.fragment = fragment;
@@ -96,6 +101,8 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -96,6 +101,8 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
96 if (getContext() == null) { 101 if (getContext() == null) {
97 return; 102 return;
98 } 103 }
  104 + //获取手机震动服务
  105 + mVibrator = (Vibrator) getContext().getSystemService(Service.VIBRATOR_SERVICE);
99 userStepEntity = StepUtil.getUserStepData(getContext(), CommonInfo.getUserId(getContext())); 106 userStepEntity = StepUtil.getUserStepData(getContext(), CommonInfo.getUserId(getContext()));
100 currentPoints = new ArrayList<>(); 107 currentPoints = new ArrayList<>();
101 initMap(); 108 initMap();
@@ -341,8 +348,17 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -341,8 +348,17 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
341 //更新数据 348 //更新数据
342 StepUtil.updateStepData(getContext(), userStepEntity); 349 StepUtil.updateStepData(getContext(), userStepEntity);
343 } 350 }
  351 +
  352 +
344 //进行提示 353 //进行提示
345 if (null == tipDialog) { 354 if (null == tipDialog) {
  355 + ChineseToSpeechUtil.speech(getContext(), "您已到达终点附近,可以结束运动了!");
  356 + if (mVibrator != null) {
  357 + //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
  358 + //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
  359 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
  360 + }
  361 +
346 tipDialog = new TipDialog(getContext(), getContext().getResources().getString(R.string.run_race_arrive_end_tip), "好的", R.color.green_round, new TipDialog.DialogInterface() { 362 tipDialog = new TipDialog(getContext(), getContext().getResources().getString(R.string.run_race_arrive_end_tip), "好的", R.color.green_round, new TipDialog.DialogInterface() {
347 @Override 363 @Override
348 public void onClick(TipDialog dialog) { 364 public void onClick(TipDialog dialog) {
@@ -492,6 +508,10 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { @@ -492,6 +508,10 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener {
492 508
493 } 509 }
494 510
  511 + public void onStop() {
  512 + ChineseToSpeechUtil.destroy();
  513 + }
  514 +
495 /** 515 /**
496 * 设置从历史轨迹中查询到的最新点 516 * 设置从历史轨迹中查询到的最新点
497 * 517 *
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;//公司账号 4 + public static final long SERVICE_ID = 213511;//公司账号
5 // public static final long SERVICE_ID = 213553; 5 // public static final long SERVICE_ID = 213553;
6 6
7 public static final int TAG = 1; 7 public static final int TAG = 1;
@@ -15,7 +15,9 @@ public class Constant { @@ -15,7 +15,9 @@ public class Constant {
15 public static final int FRAGMENT_RUN_CHRONOMETER = 4;//同步计时器 15 public static final int FRAGMENT_RUN_CHRONOMETER = 4;//同步计时器
16 public static final int EXIT_RANGE = 5;//超出范围 16 public static final int EXIT_RANGE = 5;//超出范围
17 public static final int ENTER_RANGE = 6;//进入范围 17 public static final int ENTER_RANGE = 6;//进入范围
18 - 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个位置开始)
19 21
20 /*****************************************运营工具****************************************************/ 22 /*****************************************运营工具****************************************************/
21 public static final int COLL_SERVICE_STEP_COUNT_RESET_SPEED = 3;//重置速度 23 public static final int COLL_SERVICE_STEP_COUNT_RESET_SPEED = 3;//重置速度
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/ALLScoreDetailFragment.java
@@ -52,11 +52,16 @@ public class ALLScoreDetailFragment extends QMUIFragment&lt;ALLScoreDetailFragmentV @@ -52,11 +52,16 @@ public class ALLScoreDetailFragment extends QMUIFragment&lt;ALLScoreDetailFragmentV
52 runningFinishBean = (RunningFinishBean) getArguments().getSerializable("runningFinishBean"); 52 runningFinishBean = (RunningFinishBean) getArguments().getSerializable("runningFinishBean");
53 if (runningFinishBean != null) { 53 if (runningFinishBean != null) {
54 if (getMvpView() != null) { 54 if (getMvpView() != null) {
55 - getMvpView().initMap();  
56 - getMvpView().initView(runningFinishBean);  
57 - if (getPresenter() != null) {  
58 - getPresenter().queryHistoryTrace(getActivity(), runningFinishBean);  
59 - } 55 + getMvpView().initMap(new ALLScoreDetailFragmentView.MapCallBack() {
  56 + @Override
  57 + public void onMapLoadFinish() {
  58 + getMvpView().initView(runningFinishBean);
  59 + if (getPresenter() != null) {
  60 + getPresenter().queryHistoryTrace(getActivity(), runningFinishBean);
  61 + }
  62 + }
  63 + });
  64 +
60 } 65 }
61 } 66 }
62 } 67 }
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunMainFragment.java
@@ -186,7 +186,7 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr @@ -186,7 +186,7 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr
186 if (mVibrator != null) { 186 if (mVibrator != null) {
187 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000, 187 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
188 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始 188 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
189 - mVibrator.vibrate(new long[]{100, 1000, 100, 1000}, -1); 189 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
190 } 190 }
191 if (tipDialog != null) { 191 if (tipDialog != null) {
192 tipDialog.setTipMsg("您已偏离路径轨迹\n请您计时回归路径!"); 192 tipDialog.setTipMsg("您已偏离路径轨迹\n请您计时回归路径!");
@@ -199,7 +199,7 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr @@ -199,7 +199,7 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr
199 if (mVibrator != null) { 199 if (mVibrator != null) {
200 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000, 200 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
201 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始 201 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
202 - mVibrator.vibrate(new long[]{100, 1000, 100, 1000}, -1); 202 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
203 } 203 }
204 if (tipDialog != null) { 204 if (tipDialog != null) {
205 tipDialog.setTipMsg("您已回归轨迹\n继续参与运动吧"); 205 tipDialog.setTipMsg("您已回归轨迹\n继续参与运动吧");
@@ -208,6 +208,14 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr @@ -208,6 +208,14 @@ public class RunMainFragment extends QMUIFragment&lt;RunMainFragmentView, RunMainFr
208 } 208 }
209 } 209 }
210 210
  211 + @Override
  212 + public void onStop() {
  213 + super.onStop();
  214 + if (null != getMvpView()) {
  215 + getMvpView().onStop();
  216 + }
  217 + }
  218 +
211 /** 219 /**
212 * 屏蔽边缘返回 220 * 屏蔽边缘返回
213 * 杨帅 221 * 杨帅
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunningMapFragment.java
@@ -150,6 +150,7 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run @@ -150,6 +150,7 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run
150 if (getMvpView() != null) { 150 if (getMvpView() != null) {
151 //取消注册传感器监听 151 //取消注册传感器监听
152 mSensorManager.unregisterListener(getMvpView()); 152 mSensorManager.unregisterListener(getMvpView());
  153 + getMvpView().onStop();
153 } 154 }
154 ChineseToSpeechUtil.destroy(); 155 ChineseToSpeechUtil.destroy();
155 156
@@ -196,7 +197,7 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run @@ -196,7 +197,7 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run
196 if (mVibrator != null) { 197 if (mVibrator != null) {
197 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000, 198 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
198 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始 199 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
199 - mVibrator.vibrate(new long[]{100, 1000, 100, 1000}, -1); 200 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
200 } 201 }
201 if (tipDialog != null) { 202 if (tipDialog != null) {
202 tipDialog.setTipMsg("您已偏离路径轨迹\n请您计时回归路径!"); 203 tipDialog.setTipMsg("您已偏离路径轨迹\n请您计时回归路径!");
@@ -209,7 +210,7 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run @@ -209,7 +210,7 @@ public class RunningMapFragment extends QMUIFragment&lt;RunningMapFragmentView, Run
209 if (mVibrator != null) { 210 if (mVibrator != null) {
210 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000, 211 //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000,
211 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始 212 //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始
212 - mVibrator.vibrate(new long[]{100, 1000, 100, 1000}, -1); 213 + mVibrator.vibrate(new long[]{Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME, Constant.VIBRATOR_DELAY_TIME, Constant.VIBRATOR_RUN_TIME}, Constant.VIBRATOR_REPEAT_TIME);
213 } 214 }
214 if (tipDialog != null) { 215 if (tipDialog != null) {
215 tipDialog.setTipMsg("您已回归轨迹\n继续参与运动吧"); 216 tipDialog.setTipMsg("您已回归轨迹\n继续参与运动吧");