Commit 72e6704226c9a01f335862f4a5ee5315e1d06fd3

Authored by 杨帅
1 parent 14c61e0f

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.4.2", 24 + version: "0.4.3",
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/pedometer/frame/view/RunRaceDetailFragmentView.java
@@ -87,7 +87,7 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -87,7 +87,7 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
87 private MarkerOptions endMark; 87 private MarkerOptions endMark;
88 private MarkerOptions startMark; 88 private MarkerOptions startMark;
89 89
90 - private LatLng firstLatLng; 90 + private LatLng userCurrentLatLng;
91 private Double lastX = 0.0; 91 private Double lastX = 0.0;
92 private int mCurrentDirection = 0; 92 private int mCurrentDirection = 0;
93 // private double mCurrentLat = 0.0; 93 // private double mCurrentLat = 0.0;
@@ -432,7 +432,7 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -432,7 +432,7 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
432 fragment.binding.includeRank.tvFirstTime.setText(TimeUtil.stampToChronometer(Long.parseLong(runRaceDetailInfo.getFirstEmployTime()))); 432 fragment.binding.includeRank.tvFirstTime.setText(TimeUtil.stampToChronometer(Long.parseLong(runRaceDetailInfo.getFirstEmployTime())));
433 } 433 }
434 //设置完成人数 434 //设置完成人数
435 - if (!TextUtils.isEmpty(runRaceDetailInfo.getFinishNum())){ 435 + if (!TextUtils.isEmpty(runRaceDetailInfo.getFinishNum())) {
436 fragment.binding.includeRank.tvFinishPerson.setText(runRaceDetailInfo.getFinishNum()); 436 fragment.binding.includeRank.tvFinishPerson.setText(runRaceDetailInfo.getFinishNum());
437 } 437 }
438 } else { 438 } else {
@@ -481,8 +481,8 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -481,8 +481,8 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
481 // RegistrationInfoActivity.newInstance(fragment.getActivity(), 1001); 481 // RegistrationInfoActivity.newInstance(fragment.getActivity(), 1001);
482 // } else { 482 // } else {
483 // //计算当前位置与起点坐标距离 483 // //计算当前位置与起点坐标距离
484 -// if (firstLatLng != null && trackPoints != null && trackPoints.size() > 0) {  
485 -// double distance = DistanceUtil.getDistance(firstLatLng, trackPoints.get(0)); 484 +// if (userCurrentLatLng != null && trackPoints != null && trackPoints.size() > 0) {
  485 +// double distance = DistanceUtil.getDistance(userCurrentLatLng, trackPoints.get(0));
486 // if (distance < 20) { 486 // if (distance < 20) {
487 // //开始运动 487 // //开始运动
488 // fragment.binding.includeStreet.rlStartBtn.setTag("0"); 488 // fragment.binding.includeStreet.rlStartBtn.setTag("0");
@@ -521,8 +521,8 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -521,8 +521,8 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
521 //先判断是否从百度查询到赛事轨迹 521 //先判断是否从百度查询到赛事轨迹
522 if (null != endLatLng && null != startLatLng) { 522 if (null != endLatLng && null != startLatLng) {
523 //开始比较距离 523 //开始比较距离
524 - if (null != firstLatLng) {  
525 - double currentDiatance = DistanceUtil.getDistance(firstLatLng, startLatLng); 524 + if (null != userCurrentLatLng) {
  525 + double currentDiatance = DistanceUtil.getDistance(userCurrentLatLng, startLatLng);
526 if (currentDiatance < Constant.LOCA_START_POINT_ACCURACY) { 526 if (currentDiatance < Constant.LOCA_START_POINT_ACCURACY) {
527 //设置终点坐标 527 //设置终点坐标
528 runRaceDetailInfo.setEndLatLng(GsonUtil.GsonString(endLatLng)); 528 runRaceDetailInfo.setEndLatLng(GsonUtil.GsonString(endLatLng));
@@ -945,12 +945,12 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -945,12 +945,12 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
945 double x = sensorEvent.values[SensorManager.DATA_X]; 945 double x = sensorEvent.values[SensorManager.DATA_X];
946 if (Math.abs(x - lastX) > 1.0) { 946 if (Math.abs(x - lastX) > 1.0) {
947 mCurrentDirection = (int) x; 947 mCurrentDirection = (int) x;
948 - if (firstLatLng != null) { 948 + if (userCurrentLatLng != null) {
949 followMyLocation = new MyLocationData.Builder() 949 followMyLocation = new MyLocationData.Builder()
950 .accuracy(mCurrentAccracy) 950 .accuracy(mCurrentAccracy)
951 // 此处设置开发者获取到的方向信息,顺时针0-360 951 // 此处设置开发者获取到的方向信息,顺时针0-360
952 - .direction(mCurrentDirection).latitude(firstLatLng.latitude)  
953 - .longitude(firstLatLng.longitude).build(); 952 + .direction(mCurrentDirection).latitude(userCurrentLatLng.latitude)
  953 + .longitude(userCurrentLatLng.longitude).build();
954 baiduMap.setMyLocationData(followMyLocation); 954 baiduMap.setMyLocationData(followMyLocation);
955 } 955 }
956 } 956 }
@@ -1031,23 +1031,23 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -1031,23 +1031,23 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
1031 else { 1031 else {
1032 isDifferentStreet = true; 1032 isDifferentStreet = true;
1033 } 1033 }
1034 -  
1035 - }  
1036 -  
1037 - if (null == runRaceDetailInfo) {  
1038 - return;  
1039 - }  
1040 - if (runRaceDetailInfo.isSignResult()) {  
1041 - fragment.binding.rlScrollViewStartBtn.setTag("1");  
1042 - fragment.binding.tvRunNow.setText("现在开始");  
1043 - fragment.binding.tvGoTip.setVisibility(View.VISIBLE); 1034 + //判断赛事是否已经结束
  1035 + checkTheRaceIsEnd();
1044 } else { 1036 } else {
1045 - fragment.binding.rlScrollViewStartBtn.setTag("0");  
1046 - fragment.binding.tvRunNow.setText("立即报名");  
1047 - fragment.binding.tvGoTip.setVisibility(View.GONE); 1037 + if (null == runRaceDetailInfo) {
  1038 + return;
  1039 + }
  1040 + if (runRaceDetailInfo.isSignResult()) {
  1041 + fragment.binding.rlScrollViewStartBtn.setTag("1");
  1042 + fragment.binding.tvRunNow.setText("现在开始");
  1043 + fragment.binding.tvGoTip.setVisibility(View.VISIBLE);
  1044 + } else {
  1045 + fragment.binding.rlScrollViewStartBtn.setTag("0");
  1046 + fragment.binding.tvRunNow.setText("立即报名");
  1047 + fragment.binding.tvGoTip.setVisibility(View.GONE);
  1048 + }
1048 } 1049 }
1049 - //判断赛事是否已经结束  
1050 - checkTheRaceIsEnd(); 1050 +
1051 1051
1052 } 1052 }
1053 1053
@@ -1150,19 +1150,19 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { @@ -1150,19 +1150,19 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener {
1150 } 1150 }
1151 1151
1152 MapStatus.Builder builder = new MapStatus.Builder(); 1152 MapStatus.Builder builder = new MapStatus.Builder();
1153 - firstLatLng = new LatLng(location.getLatitude(), 1153 + userCurrentLatLng = new LatLng(location.getLatitude(),
1154 location.getLongitude()); 1154 location.getLongitude());
1155 baiduMap.setMyLocationData(followMyLocation); 1155 baiduMap.setMyLocationData(followMyLocation);
1156 //没有获取到轨迹 1156 //没有获取到轨迹
1157 - if ((null == queryResultPoints || queryResultPoints.size() < 1) && null != firstLatLng) {  
1158 - builder.target(firstLatLng).zoom(DEFULT_ZOOM); 1157 + if ((null == queryResultPoints || queryResultPoints.size() < 1) && null != userCurrentLatLng) {
  1158 + builder.target(userCurrentLatLng).zoom(DEFULT_ZOOM);
1159 baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); 1159 baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
1160 } 1160 }
1161 // 1161 //
1162 1162
1163 // //显示当前位置图标 1163 // //显示当前位置图标
1164 // Bitmap pointBitmap = BitmapUtil.getBitmapFromDp(getContext(), BitmapFactory.decodeResource(getContext().getResources(), R.drawable.rt_ic_location), 40, 40); 1164 // Bitmap pointBitmap = BitmapUtil.getBitmapFromDp(getContext(), BitmapFactory.decodeResource(getContext().getResources(), R.drawable.rt_ic_location), 40, 40);
1165 -// currentMark = new MarkerOptions().position(firstLatLng).icon(BitmapDescriptorFactory.fromBitmap(pointBitmap)); 1165 +// currentMark = new MarkerOptions().position(userCurrentLatLng).icon(BitmapDescriptorFactory.fromBitmap(pointBitmap));
1166 // baiduMap.addOverlay(currentMark); 1166 // baiduMap.addOverlay(currentMark);
1167 1167
1168 //根据几个关键点进行步行路径规划 1168 //根据几个关键点进行步行路径规划
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/service/KeepLiveService.java
@@ -230,7 +230,6 @@ public class KeepLiveService extends Service implements MediaPlayer.OnCompletion @@ -230,7 +230,6 @@ public class KeepLiveService extends Service implements MediaPlayer.OnCompletion
230 .build(); 230 .build();
231 // 0 隐藏前台服务通知 231 // 0 隐藏前台服务通知
232 startForeground(100, notification); 232 startForeground(100, notification);
233 -// stopForeground(true);  
234 } 233 }
235 234
236 @Override 235 @Override