Commit 0fe734932b8589a487a7ee167c34ffaea4e20fe4
1 parent
5cf16478
1 路径工具,完成页面逻辑
Showing
17 changed files
with
801 additions
and
75 deletions
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/commonInfo/CollCommonInfo.java
| @@ -155,6 +155,48 @@ public class CollCommonInfo { | @@ -155,6 +155,48 @@ public class CollCommonInfo { | ||
| 155 | return MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).getBoolean("CollFirstStepSendTraceTip", true); | 155 | return MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).getBoolean("CollFirstStepSendTraceTip", true); |
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | + /** | ||
| 159 | + * 设置用户昵称 | ||
| 160 | + * | ||
| 161 | + * @param context | ||
| 162 | + * @param nickName | ||
| 163 | + */ | ||
| 164 | + public static void setUserNickName(Context context, String nickName) { | ||
| 165 | + MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).putString("CollRunUserNickName", nickName); | ||
| 166 | + | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + /** | ||
| 170 | + * 获取用户昵称 | ||
| 171 | + * | ||
| 172 | + * @param context | ||
| 173 | + */ | ||
| 174 | + public static String getUserNickName(Context context) { | ||
| 175 | + return MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).getString("CollRunUserNickName", ""); | ||
| 176 | + | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + /** | ||
| 180 | + * 设置用户头像 | ||
| 181 | + * | ||
| 182 | + * @param context | ||
| 183 | + * @param userIcon | ||
| 184 | + */ | ||
| 185 | + public static void setUserIcon(Context context, String userIcon) { | ||
| 186 | + MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).putString("CollRunUserNickIcon", userIcon); | ||
| 187 | + | ||
| 188 | + } | ||
| 189 | + | ||
| 190 | + /** | ||
| 191 | + * 获取用户头像 | ||
| 192 | + * | ||
| 193 | + * @param context | ||
| 194 | + */ | ||
| 195 | + public static String getUserIcon(Context context) { | ||
| 196 | + return MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).getString("CollRunUserNickIcon", ""); | ||
| 197 | + | ||
| 198 | + } | ||
| 199 | + | ||
| 158 | /*重置 | 200 | /*重置 |
| 159 | * @param context | 201 | * @param context |
| 160 | */ | 202 | */ |
| @@ -165,7 +207,6 @@ public class CollCommonInfo { | @@ -165,7 +207,6 @@ public class CollCommonInfo { | ||
| 165 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollstepStartTime"); | 207 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollstepStartTime"); |
| 166 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollKeepAliveService"); | 208 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollKeepAliveService"); |
| 167 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollRunBaiduTraceService"); | 209 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollRunBaiduTraceService"); |
| 168 | - MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollstreetId"); | ||
| 169 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollFirstStepSendTraceTip"); | 210 | MySpHelper.getInstance(context, Context.MODE_MULTI_PROCESS).removeKey("CollFirstStepSendTraceTip"); |
| 170 | } | 211 | } |
| 171 | 212 |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunningFinishFragmentView.java
| 1 | package com.cnlive.moudle.collectionTrace.frame.view; | 1 | package com.cnlive.moudle.collectionTrace.frame.view; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | +import android.support.v7.widget.LinearLayoutManager; | ||
| 5 | +import android.text.TextUtils; | ||
| 4 | import android.view.View; | 6 | import android.view.View; |
| 5 | 7 | ||
| 8 | +import com.cnlive.moudle.collectionTrace.model.CollectPoint; | ||
| 9 | +import com.cnlive.moudle.collectionTrace.ui.adapter.CollFinishDetaiAdapter; | ||
| 6 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunningFinishFragment; | 10 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunningFinishFragment; |
| 11 | +import com.cnlive.moudle.collectionTrace.utils.CollStepUtil; | ||
| 12 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | ||
| 7 | import com.cnlive.moudle.pedometer.model.RunningFinishBean; | 13 | import com.cnlive.moudle.pedometer.model.RunningFinishBean; |
| 14 | +import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; | ||
| 8 | import com.cnlive.moudle.pedometer.ui.fragment.RunningFinishFragment; | 15 | import com.cnlive.moudle.pedometer.ui.fragment.RunningFinishFragment; |
| 16 | +import com.cnlive.moudle.pedometer.utils.GsonUtil; | ||
| 17 | +import com.cnlive.moudle.pedometer.utils.TimeUtil; | ||
| 18 | +import com.cnlive.strike.application.GlideApp; | ||
| 9 | import com.hannesdorfmann.mosby3.mvp.MvpView; | 19 | import com.hannesdorfmann.mosby3.mvp.MvpView; |
| 10 | 20 | ||
| 21 | +import java.util.ArrayList; | ||
| 22 | +import java.util.List; | ||
| 23 | + | ||
| 11 | public class CollRunningFinishFragmentView implements MvpView { | 24 | public class CollRunningFinishFragmentView implements MvpView { |
| 12 | private CollRunningFinishFragment fragment; | 25 | private CollRunningFinishFragment fragment; |
| 26 | + private CollFinishDetaiAdapter adapter; | ||
| 13 | 27 | ||
| 14 | public CollRunningFinishFragmentView(CollRunningFinishFragment fragment) { | 28 | public CollRunningFinishFragmentView(CollRunningFinishFragment fragment) { |
| 15 | this.fragment = fragment; | 29 | this.fragment = fragment; |
| @@ -19,23 +33,56 @@ public class CollRunningFinishFragmentView implements MvpView { | @@ -19,23 +33,56 @@ public class CollRunningFinishFragmentView implements MvpView { | ||
| 19 | return fragment == null ? null : fragment.getActivity(); | 33 | return fragment == null ? null : fragment.getActivity(); |
| 20 | } | 34 | } |
| 21 | 35 | ||
| 22 | - public void initView(RunningFinishBean runningFinishBean) { | 36 | + public void initView(CollUserStepEntity collUserStepEntity) { |
| 37 | + //设置用户昵称 | ||
| 38 | + String nickName = CommonInfo.getUserNickName(getContext()); | ||
| 39 | + fragment.binding.includeFinishUserInfo.tvUserNickName.setText(nickName); | ||
| 40 | + //设置用户头像 | ||
| 41 | + String faceUrl = CommonInfo.getUserIcon(getContext()); | ||
| 42 | + if (!TextUtils.isEmpty(faceUrl)) { | ||
| 43 | + GlideApp.with(getContext()).load(faceUrl).into(fragment.binding.includeFinishUserInfo.qmIvIcon); | ||
| 44 | + } | ||
| 45 | + //设置标题 | ||
| 46 | + if (!TextUtils.isEmpty(collUserStepEntity.getStreetTitle())) { | ||
| 47 | + fragment.binding.includeFinishUserInfo.tvStreetName.setText(collUserStepEntity.getStreetTitle()); | ||
| 48 | + } | ||
| 23 | //设置距离 | 49 | //设置距离 |
| 24 | - fragment.binding.includeFinishUserInfo.tvDistance.setText(runningFinishBean.getRunDistance()); | ||
| 25 | - //设置配速 | ||
| 26 | - fragment.binding.includeFinishUserInfo.tvSpeed.setText(runningFinishBean.getSpeed()); | ||
| 27 | - //设置用时 | ||
| 28 | - fragment.binding.includeFinishUserInfo.tvTimer.setText(runningFinishBean.getTime()); | ||
| 29 | - //设置日期 | ||
| 30 | - fragment.binding.includeFinishUserInfo.tvDate.setText(runningFinishBean.getDate()); | ||
| 31 | - //设置步数 | ||
| 32 | - fragment.binding.includeFinishStep.tvStep.setText(runningFinishBean.getStep()); | ||
| 33 | - //设置起点位置 | ||
| 34 | - fragment.binding.includeFinishRunRoute.tvStartPoint.setText(runningFinishBean.getStartPoint()); | ||
| 35 | - //设置终点位置 | ||
| 36 | - fragment.binding.includeFinishRunRoute.tvEndPoint.setText(runningFinishBean.getEndPoint()); | ||
| 37 | - //设置时间 | ||
| 38 | - fragment.binding.includeFinishRunRoute.tvTimer.setText(runningFinishBean.getTime()); | 50 | + if (!TextUtils.isEmpty(collUserStepEntity.getStepCount())) { |
| 51 | + fragment.binding.includeFinishUserInfo.tvDistance.setText(CollStepUtil.getWalkDistanceKM(Long.parseLong(collUserStepEntity.getStepCount())) + ""); | ||
| 52 | + } else { | ||
| 53 | + fragment.binding.includeFinishUserInfo.tvDistance.setText("0"); | ||
| 54 | + } | ||
| 55 | + if (0 != collUserStepEntity.getFinishTimeStamp()) { | ||
| 56 | + //设置日期 | ||
| 57 | + fragment.binding.includeFinishUserInfo.tvDate.setText(TimeUtil.getStampToTime(collUserStepEntity.getFinishTimeStamp() * 1000, "yyyy-MM-dd HH:mm")); | ||
| 58 | + } | ||
| 59 | + //设置适配器 | ||
| 60 | + if (!TextUtils.isEmpty(collUserStepEntity.getImportPoint())) { | ||
| 61 | + List<CollectPoint> collectPoints = GsonUtil.jsonToList(collUserStepEntity.getImportPoint(), CollectPoint.class); | ||
| 62 | + //添加起点 | ||
| 63 | + CollectPoint startPoint = null; | ||
| 64 | + if (!TextUtils.isEmpty(collUserStepEntity.getCollStartPointData())) { | ||
| 65 | + startPoint = GsonUtil.GsonToBean(collUserStepEntity.getCollStartPointData(), CollectPoint.class); | ||
| 66 | + } | ||
| 67 | + CollectPoint endPoint = null; | ||
| 68 | + if (!TextUtils.isEmpty(collUserStepEntity.getCollEndPointData())) { | ||
| 69 | + endPoint = GsonUtil.GsonToBean(collUserStepEntity.getCollEndPointData(), CollectPoint.class); | ||
| 70 | + } | ||
| 71 | + if (null == collectPoints) { | ||
| 72 | + collectPoints = new ArrayList<>(); | ||
| 73 | + } | ||
| 74 | + if (null != startPoint) { | ||
| 75 | + collectPoints.add(0, startPoint); | ||
| 76 | + } | ||
| 77 | + if (null != endPoint) { | ||
| 78 | + collectPoints.add(endPoint); | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + adapter = new CollFinishDetaiAdapter(fragment.getActivity(), collectPoints); | ||
| 82 | + //设置 | ||
| 83 | + fragment.binding.includeFinishUserInfo.rvList.setLayoutManager(new LinearLayoutManager(fragment.getActivity())); | ||
| 84 | + fragment.binding.includeFinishUserInfo.rvList.setAdapter(adapter); | ||
| 85 | + } | ||
| 39 | //返回按钮点击 | 86 | //返回按钮点击 |
| 40 | fragment.binding.flBack.setOnClickListener(new View.OnClickListener() { | 87 | fragment.binding.flBack.setOnClickListener(new View.OnClickListener() { |
| 41 | @Override | 88 | @Override |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunningMapFragmentView.java
| @@ -35,6 +35,7 @@ import com.baidu.mapapi.utils.DistanceUtil; | @@ -35,6 +35,7 @@ import com.baidu.mapapi.utils.DistanceUtil; | ||
| 35 | import com.baidu.trace.model.SortType; | 35 | import com.baidu.trace.model.SortType; |
| 36 | import com.cnlive.moudle.collectionTrace.model.CollectPoint; | 36 | import com.cnlive.moudle.collectionTrace.model.CollectPoint; |
| 37 | import com.cnlive.moudle.collectionTrace.service.CollStepService; | 37 | import com.cnlive.moudle.collectionTrace.service.CollStepService; |
| 38 | +import com.cnlive.moudle.collectionTrace.ui.activity.CollRunningFinishActivity; | ||
| 38 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunningMapFragment; | 39 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunningMapFragment; |
| 39 | import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; | 40 | import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; |
| 40 | import com.cnlive.moudle.pedometer.model.Constant; | 41 | import com.cnlive.moudle.pedometer.model.Constant; |
| @@ -46,6 +47,7 @@ import com.cnlive.moudle.pedometer.utils.ButtonAnimUtil; | @@ -46,6 +47,7 @@ import com.cnlive.moudle.pedometer.utils.ButtonAnimUtil; | ||
| 46 | import com.cnlive.moudle.collectionTrace.utils.CollStepUtil; | 47 | import com.cnlive.moudle.collectionTrace.utils.CollStepUtil; |
| 47 | import com.cnlive.moudle.pedometer.utils.GsonUtil; | 48 | import com.cnlive.moudle.pedometer.utils.GsonUtil; |
| 48 | import com.cnlive.moudle.pedometer.utils.MyMapUtil; | 49 | import com.cnlive.moudle.pedometer.utils.MyMapUtil; |
| 50 | +import com.cnlive.moudle.pedometer.utils.StepUtil; | ||
| 49 | import com.cnlive.moudle.pedometer.utils.TimeUtil; | 51 | import com.cnlive.moudle.pedometer.utils.TimeUtil; |
| 50 | import com.example.moudle_pedometer.R; | 52 | import com.example.moudle_pedometer.R; |
| 51 | import com.hannesdorfmann.mosby3.mvp.MvpView; | 53 | import com.hannesdorfmann.mosby3.mvp.MvpView; |
| @@ -81,9 +83,13 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -81,9 +83,13 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 81 | private RunRaceDetailInfo runRaceDetailInfo; | 83 | private RunRaceDetailInfo runRaceDetailInfo; |
| 82 | private List<Overlay> allMapOverlays; | 84 | private List<Overlay> allMapOverlays; |
| 83 | private SelectDialog selectDialog; | 85 | private SelectDialog selectDialog; |
| 86 | + private SelectDialog endSelectDialog; | ||
| 84 | private boolean isShowFollowAddress = false;//是否显示跟随地址 | 87 | private boolean isShowFollowAddress = false;//是否显示跟随地址 |
| 88 | + private boolean isShowEndFollowAddress = false;//是否显示结束跟随地址 | ||
| 89 | + | ||
| 85 | private String currentAddress; | 90 | private String currentAddress; |
| 86 | private LatLng currentImportLatLng; | 91 | private LatLng currentImportLatLng; |
| 92 | + private String employTime = "";//用时 | ||
| 87 | 93 | ||
| 88 | public CollRunningMapFragmentView(CollRunningMapFragment fragment) { | 94 | public CollRunningMapFragmentView(CollRunningMapFragment fragment) { |
| 89 | this.fragment = fragment; | 95 | this.fragment = fragment; |
| @@ -95,6 +101,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -95,6 +101,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 95 | 101 | ||
| 96 | public void initView(RunRaceDetailInfo runRaceDetailInfo) { | 102 | public void initView(RunRaceDetailInfo runRaceDetailInfo) { |
| 97 | initSelectDialog(); | 103 | initSelectDialog(); |
| 104 | + initFinishSelectDialog(); | ||
| 98 | this.runRaceDetailInfo = runRaceDetailInfo; | 105 | this.runRaceDetailInfo = runRaceDetailInfo; |
| 99 | uid = CollCommonInfo.getUserId(getContext()); | 106 | uid = CollCommonInfo.getUserId(getContext()); |
| 100 | userStepEntity = CollStepUtil.getCollUserStepData(getContext(), uid); | 107 | userStepEntity = CollStepUtil.getCollUserStepData(getContext(), uid); |
| @@ -106,7 +113,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -106,7 +113,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 106 | CollStepUtil.setCollStreetTitle(getContext(), CollCommonInfo.getUserId(getContext()), runRaceDetailInfo.getTitle()); | 113 | CollStepUtil.setCollStreetTitle(getContext(), CollCommonInfo.getUserId(getContext()), runRaceDetailInfo.getTitle()); |
| 107 | } | 114 | } |
| 108 | //设置开始时间和赛事id | 115 | //设置开始时间和赛事id |
| 109 | - if (0 == userStepEntity.getStartTimeStamp()) { | 116 | + if (TextUtils.isEmpty(userStepEntity.getStreetId())) { |
| 110 | CollStepUtil.setCollStepStartData(getContext(), uid, TimeUtil.getNowTimeStamp(), CollCommonInfo.getStreetId(getContext())); | 117 | CollStepUtil.setCollStepStartData(getContext(), uid, TimeUtil.getNowTimeStamp(), CollCommonInfo.getStreetId(getContext())); |
| 111 | } | 118 | } |
| 112 | //设置步数 | 119 | //设置步数 |
| @@ -125,6 +132,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -125,6 +132,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 125 | collectPoint.setLongitude(latLng.longitude); | 132 | collectPoint.setLongitude(latLng.longitude); |
| 126 | collectPoint.setPointName(runRaceDetailInfo.getCollStartLntLngName()); | 133 | collectPoint.setPointName(runRaceDetailInfo.getCollStartLntLngName()); |
| 127 | CollStepUtil.setCollStartPointData(getContext(), uid, collectPoint); | 134 | CollStepUtil.setCollStartPointData(getContext(), uid, collectPoint); |
| 135 | + | ||
| 128 | } | 136 | } |
| 129 | } | 137 | } |
| 130 | } | 138 | } |
| @@ -244,11 +252,11 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -244,11 +252,11 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 244 | //更新可打点数量 | 252 | //更新可打点数量 |
| 245 | int remainNum = updataCanTakePointCount(); | 253 | int remainNum = updataCanTakePointCount(); |
| 246 | if (remainNum != 0) { | 254 | if (remainNum != 0) { |
| 255 | + if (null != followMyLocation) { | ||
| 256 | + currentImportLatLng = new LatLng(followMyLocation.latitude, followMyLocation.longitude); | ||
| 257 | + } | ||
| 247 | //获取当前地点 | 258 | //获取当前地点 |
| 248 | if (!TextUtils.isEmpty(currentAddress)) { | 259 | if (!TextUtils.isEmpty(currentAddress)) { |
| 249 | - if (null != followMyLocation) { | ||
| 250 | - currentImportLatLng = new LatLng(followMyLocation.latitude, followMyLocation.longitude); | ||
| 251 | - } | ||
| 252 | selectDialog.setTipMessage("确定在" + "\"" + currentAddress + "\"" + "打点?"); | 260 | selectDialog.setTipMessage("确定在" + "\"" + currentAddress + "\"" + "打点?"); |
| 253 | selectDialog.show(); | 261 | selectDialog.show(); |
| 254 | } else { | 262 | } else { |
| @@ -261,6 +269,24 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -261,6 +269,24 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 261 | } | 269 | } |
| 262 | }); | 270 | }); |
| 263 | 271 | ||
| 272 | + //结束按钮点击事件 | ||
| 273 | + fragment.binding.flEndPoint.setOnClickListener(new View.OnClickListener() { | ||
| 274 | + @Override | ||
| 275 | + public void onClick(View view) { | ||
| 276 | + if (null != followMyLocation) { | ||
| 277 | + currentImportLatLng = new LatLng(followMyLocation.latitude, followMyLocation.longitude); | ||
| 278 | + //获取当前地点 | ||
| 279 | + if (!TextUtils.isEmpty(currentAddress)) { | ||
| 280 | + endSelectDialog.setTipMessage("确定将" + "\"" + currentAddress + "\"" + "设为结束地点?"); | ||
| 281 | + endSelectDialog.show(); | ||
| 282 | + } else { | ||
| 283 | + isShowEndFollowAddress = true; | ||
| 284 | + Toast.makeText(getContext(), "正在获取当前地点信息,请稍后", Toast.LENGTH_SHORT).show(); | ||
| 285 | + } | ||
| 286 | + } | ||
| 287 | + } | ||
| 288 | + }); | ||
| 289 | + | ||
| 264 | } | 290 | } |
| 265 | 291 | ||
| 266 | /** | 292 | /** |
| @@ -316,6 +342,47 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -316,6 +342,47 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 316 | } | 342 | } |
| 317 | } | 343 | } |
| 318 | 344 | ||
| 345 | + /** | ||
| 346 | + * 结束按钮 | ||
| 347 | + */ | ||
| 348 | + private void initFinishSelectDialog() { | ||
| 349 | + if (endSelectDialog == null) { | ||
| 350 | + endSelectDialog = new SelectDialog(getContext(), "标题", "否", new SelectDialog.DialogInterface() { | ||
| 351 | + @Override | ||
| 352 | + public void onClick(SelectDialog dialog) { | ||
| 353 | + dialog.dismiss(); | ||
| 354 | + isShowEndFollowAddress = false; | ||
| 355 | + } | ||
| 356 | + }, "是", new SelectDialog.DialogInterface() { | ||
| 357 | + @Override | ||
| 358 | + public void onClick(SelectDialog dialog) { | ||
| 359 | + dialog.dismiss(); | ||
| 360 | + isShowEndFollowAddress = false; | ||
| 361 | + if (null == currentImportLatLng || TextUtils.isEmpty(currentAddress)) { | ||
| 362 | + return; | ||
| 363 | + } | ||
| 364 | + //保存用户完成时间 | ||
| 365 | + CollStepUtil.setCollUserFinishTimeStamp(getContext(), CollCommonInfo.getUserId(getContext()), TimeUtil.getNowTimeStamp()); | ||
| 366 | + //设置终点信息 | ||
| 367 | + CollectPoint collectPoint = new CollectPoint(); | ||
| 368 | + collectPoint.setLatitude(currentImportLatLng.latitude); | ||
| 369 | + collectPoint.setLongitude(currentImportLatLng.longitude); | ||
| 370 | + collectPoint.setPointName(currentAddress); | ||
| 371 | + //设置用户用时 | ||
| 372 | + if (!TextUtils.isEmpty(employTime)) { | ||
| 373 | + CollStepUtil.setEmployTimeStamp(getContext(), CollCommonInfo.getUserId(getContext()), employTime); | ||
| 374 | + } | ||
| 375 | + //将终点数据保存在数据库中 | ||
| 376 | + CollStepUtil.setCollEndPointData(getContext(), CollCommonInfo.getUserId(getContext()), collectPoint); | ||
| 377 | + //跳转界面 | ||
| 378 | + CollRunningFinishActivity.startActivity(fragment.getActivity()); | ||
| 379 | + } | ||
| 380 | + }); | ||
| 381 | + endSelectDialog.setCancelable(false); | ||
| 382 | + endSelectDialog.setCanceledOnTouchOutside(false); | ||
| 383 | + } | ||
| 384 | + } | ||
| 385 | + | ||
| 319 | private void initChrom() { | 386 | private void initChrom() { |
| 320 | //设置计时监听 | 387 | //设置计时监听 |
| 321 | fragment.binding.chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { | 388 | fragment.binding.chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { |
| @@ -324,6 +391,8 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -324,6 +391,8 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 324 | int hour = (int) ((SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000 / 60 / 60); | 391 | int hour = (int) ((SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000 / 60 / 60); |
| 325 | int minute = (int) ((SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000 / 60) % 60; | 392 | int minute = (int) ((SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000 / 60) % 60; |
| 326 | int second = (int) ((SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000) % 60; | 393 | int second = (int) ((SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000) % 60; |
| 394 | + employTime = (hour * 3600 + minute * 60 + second) + ""; | ||
| 395 | + | ||
| 327 | if (hour < 1) { | 396 | if (hour < 1) { |
| 328 | if (minute == 59 && second == 59) { | 397 | if (minute == 59 && second == 59) { |
| 329 | chronometer.setFormat("0" + "%s"); | 398 | chronometer.setFormat("0" + "%s"); |
| @@ -523,8 +592,6 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -523,8 +592,6 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 523 | } | 592 | } |
| 524 | 593 | ||
| 525 | if (isShowFollowAddress && !TextUtils.isEmpty(currentAddress)) { | 594 | if (isShowFollowAddress && !TextUtils.isEmpty(currentAddress)) { |
| 526 | - //设置当前打点经纬度 | ||
| 527 | - currentImportLatLng = new LatLng(location.getLatitude(), location.getLongitude()); | ||
| 528 | if (isShowFollowAddress && selectDialog != null && !selectDialog.isShowing()) { | 595 | if (isShowFollowAddress && selectDialog != null && !selectDialog.isShowing()) { |
| 529 | if (!TextUtils.isEmpty(currentAddress)) { | 596 | if (!TextUtils.isEmpty(currentAddress)) { |
| 530 | selectDialog.setTipMessage("确定将" + "\"" + currentAddress + "\"" + "设置开始地点?"); | 597 | selectDialog.setTipMessage("确定将" + "\"" + currentAddress + "\"" + "设置开始地点?"); |
| @@ -535,6 +602,18 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | @@ -535,6 +602,18 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener | ||
| 535 | } | 602 | } |
| 536 | } | 603 | } |
| 537 | } | 604 | } |
| 605 | + //结束按钮 | ||
| 606 | + if (isShowEndFollowAddress && !TextUtils.isEmpty(currentAddress)) { | ||
| 607 | + if (isShowEndFollowAddress && endSelectDialog != null && !endSelectDialog.isShowing()) { | ||
| 608 | + if (!TextUtils.isEmpty(currentAddress)) { | ||
| 609 | + endSelectDialog.setTipMessage("确定将" + "\"" + currentAddress + "\"" + "设为结束地点?"); | ||
| 610 | + if (!endSelectDialog.isShowing()) { | ||
| 611 | + endSelectDialog.show(); | ||
| 612 | + } | ||
| 613 | + isShowEndFollowAddress = false; | ||
| 614 | + } | ||
| 615 | + } | ||
| 616 | + } | ||
| 538 | 617 | ||
| 539 | //正在搜索GPS信号 | 618 | //正在搜索GPS信号 |
| 540 | if (location.getGpsAccuracyStatus() == BDLocation.GPS_ACCURACY_UNKNOWN) { | 619 | if (location.getGpsAccuracyStatus() == BDLocation.GPS_ACCURACY_UNKNOWN) { |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/StartTraceFragmentView.java
| @@ -29,11 +29,15 @@ import com.baidu.mapapi.map.UiSettings; | @@ -29,11 +29,15 @@ import com.baidu.mapapi.map.UiSettings; | ||
| 29 | import com.baidu.mapapi.model.LatLng; | 29 | import com.baidu.mapapi.model.LatLng; |
| 30 | import com.cnlive.moudle.collectionTrace.service.CollKeepLiveService; | 30 | import com.cnlive.moudle.collectionTrace.service.CollKeepLiveService; |
| 31 | import com.cnlive.moudle.collectionTrace.service.CollStepService; | 31 | import com.cnlive.moudle.collectionTrace.service.CollStepService; |
| 32 | +import com.cnlive.moudle.collectionTrace.ui.activity.CollRunRaceDetailActivity; | ||
| 32 | import com.cnlive.moudle.collectionTrace.ui.activity.CollRunningMapActivity; | 33 | import com.cnlive.moudle.collectionTrace.ui.activity.CollRunningMapActivity; |
| 33 | import com.cnlive.moudle.collectionTrace.ui.fragment.StartTraceFragment; | 34 | import com.cnlive.moudle.collectionTrace.ui.fragment.StartTraceFragment; |
| 34 | import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; | 35 | import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; |
| 36 | +import com.cnlive.moudle.collectionTrace.utils.CollStepUtil; | ||
| 37 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | ||
| 35 | import com.cnlive.moudle.pedometer.model.Constant; | 38 | import com.cnlive.moudle.pedometer.model.Constant; |
| 36 | import com.cnlive.moudle.pedometer.net.bean.RunRaceDetailInfo; | 39 | import com.cnlive.moudle.pedometer.net.bean.RunRaceDetailInfo; |
| 40 | +import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; | ||
| 37 | import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; | 41 | import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; |
| 38 | import com.cnlive.moudle.pedometer.utils.BitmapUtil; | 42 | import com.cnlive.moudle.pedometer.utils.BitmapUtil; |
| 39 | import com.cnlive.moudle.pedometer.utils.GsonUtil; | 43 | import com.cnlive.moudle.pedometer.utils.GsonUtil; |
| @@ -122,6 +126,71 @@ public class StartTraceFragmentView implements MvpView, SensorEventListener { | @@ -122,6 +126,71 @@ public class StartTraceFragmentView implements MvpView, SensorEventListener { | ||
| 122 | } | 126 | } |
| 123 | 127 | ||
| 124 | /** | 128 | /** |
| 129 | + * 检查是否又在正在运行的活动 | ||
| 130 | + */ | ||
| 131 | + public void checkIsHasRunningRace() { | ||
| 132 | + //先判断有没有数据 | ||
| 133 | + CollUserStepEntity userStepEntity = CollStepUtil.getCollUserStepData(getContext(), CommonInfo.getUserId(getContext())); | ||
| 134 | + if (null != userStepEntity) { | ||
| 135 | + String eventId = CollCommonInfo.getStreetId(getContext()); | ||
| 136 | + //判断赛事id是否相同 | ||
| 137 | + String runStreetId = userStepEntity.getStreetId(); | ||
| 138 | + //是相同赛事id | ||
| 139 | + if (eventId.equals(runStreetId)) { | ||
| 140 | + //赛事相同(询问用户是否继续 | ||
| 141 | + SelectDialog selectDialog = new SelectDialog(getContext(), "是否继续运动", "否", new SelectDialog.DialogInterface() { | ||
| 142 | + @Override | ||
| 143 | + public void onClick(SelectDialog dialog) { | ||
| 144 | + //删除数据 | ||
| 145 | + CollStepUtil.clearRunData(getContext(), CollCommonInfo.getUserId(getContext())); | ||
| 146 | + stopStepService(); | ||
| 147 | + //清除数据 | ||
| 148 | + CollCommonInfo.reset(getContext()); | ||
| 149 | + dialog.dismiss(); | ||
| 150 | + } | ||
| 151 | + }, "是", new SelectDialog.DialogInterface() { | ||
| 152 | + @Override | ||
| 153 | + public void onClick(SelectDialog dialog) { | ||
| 154 | + //继续运动 | ||
| 155 | + dialog.dismiss(); | ||
| 156 | + //检查百度是否正在运行 | ||
| 157 | + checkBaiduServiceState(); | ||
| 158 | + } | ||
| 159 | + }); | ||
| 160 | + selectDialog.setCancelable(false); | ||
| 161 | + selectDialog.setCanceledOnTouchOutside(false); | ||
| 162 | + selectDialog.show(); | ||
| 163 | + } | ||
| 164 | + //赛事id不同,但是有正在进行的赛事 | ||
| 165 | + else { | ||
| 166 | + //询问用户 | ||
| 167 | + SelectDialog selectDialog = new SelectDialog(getContext(), "你正在进行另一赛事,是否回到该赛事?", "否", new SelectDialog.DialogInterface() { | ||
| 168 | + @Override | ||
| 169 | + public void onClick(SelectDialog dialog) { | ||
| 170 | + //删除数据 | ||
| 171 | + CollStepUtil.clearRunData(getContext(), CollCommonInfo.getUserId(getContext())); | ||
| 172 | + stopStepService(); | ||
| 173 | + //清除数据 | ||
| 174 | + CollCommonInfo.reset(getContext()); | ||
| 175 | + dialog.dismiss(); | ||
| 176 | + } | ||
| 177 | + }, "是", new SelectDialog.DialogInterface() { | ||
| 178 | + @Override | ||
| 179 | + public void onClick(SelectDialog dialog) { | ||
| 180 | + //继续运动 | ||
| 181 | + dialog.dismiss(); | ||
| 182 | + //检查百度是否正在运行 | ||
| 183 | + checkBaiduServiceState(); | ||
| 184 | + } | ||
| 185 | + }); | ||
| 186 | + selectDialog.setCancelable(false); | ||
| 187 | + selectDialog.setCanceledOnTouchOutside(false); | ||
| 188 | + selectDialog.show(); | ||
| 189 | + } | ||
| 190 | + } | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + /** | ||
| 125 | * 启动计步服务 | 194 | * 启动计步服务 |
| 126 | */ | 195 | */ |
| 127 | public void startStepService(Context context) { | 196 | public void startStepService(Context context) { |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/CollRunRaceDetailActivity.java
| @@ -11,8 +11,13 @@ import com.cnlive.libs.base.ui.QMUIFragment; | @@ -11,8 +11,13 @@ import com.cnlive.libs.base.ui.QMUIFragment; | ||
| 11 | import com.cnlive.libs.base.ui.QMUIFragmentActivity; | 11 | import com.cnlive.libs.base.ui.QMUIFragmentActivity; |
| 12 | import com.cnlive.libs.base.util.StatusBarUtil; | 12 | import com.cnlive.libs.base.util.StatusBarUtil; |
| 13 | import com.cnlive.libs.base.util.StatusBarUtil2; | 13 | import com.cnlive.libs.base.util.StatusBarUtil2; |
| 14 | +import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; | ||
| 14 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunMainFragment; | 15 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunMainFragment; |
| 15 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunRaceDetailFragment; | 16 | import com.cnlive.moudle.collectionTrace.ui.fragment.CollRunRaceDetailFragment; |
| 17 | +import com.cnlive.moudle.collectionTrace.utils.CollStepUtil; | ||
| 18 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | ||
| 19 | +import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; | ||
| 20 | +import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; | ||
| 16 | import com.cnlive.moudle.pedometer.utils.CheckUtil; | 21 | import com.cnlive.moudle.pedometer.utils.CheckUtil; |
| 17 | import com.example.moudle_pedometer.R; | 22 | import com.example.moudle_pedometer.R; |
| 18 | 23 | ||
| @@ -26,9 +31,11 @@ public class CollRunRaceDetailActivity extends QMUIFragmentActivity { | @@ -26,9 +31,11 @@ public class CollRunRaceDetailActivity extends QMUIFragmentActivity { | ||
| 26 | private final String TAG = "CollRunRaceDetail"; | 31 | private final String TAG = "CollRunRaceDetail"; |
| 27 | private QMUIFragment fragment; | 32 | private QMUIFragment fragment; |
| 28 | 33 | ||
| 29 | - public static void newInstance(Context context,String eventId){ | ||
| 30 | - Intent intent = new Intent(context,CollRunRaceDetailActivity.class); | ||
| 31 | - intent.putExtra("eventId",eventId); | 34 | + public static void newInstance(Context context, String eventId) { |
| 35 | + CollCommonInfo.setStreetId(context, eventId); | ||
| 36 | + //先判断有没有数据 | ||
| 37 | + Intent intent = new Intent(context, CollRunRaceDetailActivity.class); | ||
| 38 | + intent.putExtra("eventId", eventId); | ||
| 32 | context.startActivity(intent); | 39 | context.startActivity(intent); |
| 33 | } | 40 | } |
| 34 | 41 |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/CollRunningFinishActivity.java
| @@ -31,15 +31,13 @@ public class CollRunningFinishActivity extends QMUIFragmentActivity { | @@ -31,15 +31,13 @@ public class CollRunningFinishActivity extends QMUIFragmentActivity { | ||
| 31 | protected void onCreate(Bundle savedInstanceState) { | 31 | protected void onCreate(Bundle savedInstanceState) { |
| 32 | super.onCreate(savedInstanceState); | 32 | super.onCreate(savedInstanceState); |
| 33 | StatusBarUtil2.setColor(this, getResources().getColor(R.color.run_main_bg), 0); | 33 | StatusBarUtil2.setColor(this, getResources().getColor(R.color.run_main_bg), 0); |
| 34 | - if (getIntent().getSerializableExtra("runningFinishBean") != null) { | ||
| 35 | - addFragment((RunningFinishBean) getIntent().getSerializableExtra("runningFinishBean")); | ||
| 36 | - } | 34 | + addFragment(); |
| 37 | 35 | ||
| 38 | 36 | ||
| 39 | } | 37 | } |
| 40 | 38 | ||
| 41 | - private void addFragment(RunningFinishBean runningFinishBean) { | ||
| 42 | - QMUIFragment fragment =RunningFinishFragment.instance(runningFinishBean); | 39 | + private void addFragment() { |
| 40 | + QMUIFragment fragment =new CollRunningFinishFragment(); | ||
| 43 | getSupportFragmentManager().beginTransaction() | 41 | getSupportFragmentManager().beginTransaction() |
| 44 | .add(getContextViewId(), fragment, fragment.getClass().getSimpleName()) | 42 | .add(getContextViewId(), fragment, fragment.getClass().getSimpleName()) |
| 45 | .addToBackStack(fragment.getClass().getSimpleName()) | 43 | .addToBackStack(fragment.getClass().getSimpleName()) |
| @@ -54,9 +52,8 @@ public class CollRunningFinishActivity extends QMUIFragmentActivity { | @@ -54,9 +52,8 @@ public class CollRunningFinishActivity extends QMUIFragmentActivity { | ||
| 54 | } | 52 | } |
| 55 | } | 53 | } |
| 56 | 54 | ||
| 57 | - public static void startActivity(Activity activity, RunningFinishBean runningFinishBean) { | 55 | + public static void startActivity(Activity activity) { |
| 58 | Intent intent = new Intent(activity, CollRunningFinishActivity.class); | 56 | Intent intent = new Intent(activity, CollRunningFinishActivity.class); |
| 59 | - intent.putExtra("runningFinishBean", runningFinishBean); | ||
| 60 | activity.startActivity(intent); | 57 | activity.startActivity(intent); |
| 61 | } | 58 | } |
| 62 | } | 59 | } |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/adapter/CollFinishDetaiAdapter.java
0 → 100644
| 1 | +package com.cnlive.moudle.collectionTrace.ui.adapter; | ||
| 2 | + | ||
| 3 | +import android.app.Activity; | ||
| 4 | +import android.support.annotation.NonNull; | ||
| 5 | +import android.support.v7.widget.RecyclerView; | ||
| 6 | +import android.view.LayoutInflater; | ||
| 7 | +import android.view.View; | ||
| 8 | +import android.view.ViewGroup; | ||
| 9 | +import android.widget.TextView; | ||
| 10 | + | ||
| 11 | +import com.cnlive.moudle.collectionTrace.model.CollectPoint; | ||
| 12 | +import com.example.moudle_pedometer.R; | ||
| 13 | + | ||
| 14 | +import java.util.ArrayList; | ||
| 15 | +import java.util.List; | ||
| 16 | + | ||
| 17 | +/** | ||
| 18 | + * @author ShinnyYang | ||
| 19 | + */ | ||
| 20 | +public class CollFinishDetaiAdapter extends RecyclerView.Adapter<CollFinishDetaiAdapter.MyViewHolder> { | ||
| 21 | + | ||
| 22 | + private List<CollectPoint> list = new ArrayList<>(); | ||
| 23 | + private Activity context; | ||
| 24 | + | ||
| 25 | + public CollFinishDetaiAdapter(Activity context, List<CollectPoint> list) { | ||
| 26 | + this.list = list; | ||
| 27 | + this.context = context; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + @NonNull | ||
| 31 | + @Override | ||
| 32 | + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { | ||
| 33 | + View view = LayoutInflater.from(context).inflate(R.layout.item_coll_take_point, viewGroup, false); | ||
| 34 | + return new MyViewHolder(view); | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + @Override | ||
| 38 | + public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) { | ||
| 39 | + //设置打点名称 | ||
| 40 | + if (null == myViewHolder) { | ||
| 41 | + return; | ||
| 42 | + } | ||
| 43 | + if (0 == i) { | ||
| 44 | + //起点 | ||
| 45 | + myViewHolder.view_circle.setBackground(context.getResources().getDrawable(R.drawable.shape_circle_green)); | ||
| 46 | + myViewHolder.tv_point_type_tip.setText(context.getResources().getString(R.string.layout_street_start_point)); | ||
| 47 | + } else if (list.size() - 1 == i) { | ||
| 48 | + //终点 | ||
| 49 | + myViewHolder.view_circle.setBackground(context.getResources().getDrawable(R.drawable.shape_circle_red)); | ||
| 50 | + myViewHolder.tv_point_type_tip.setText(context.getResources().getString(R.string.layout_street_end_point)); | ||
| 51 | + myViewHolder.view_line.setVisibility(View.GONE); | ||
| 52 | + } else { | ||
| 53 | + //打点 | ||
| 54 | + myViewHolder.view_circle.setBackground(context.getResources().getDrawable(R.drawable.shape_circle_gray)); | ||
| 55 | +// myViewHolder.tv_point_type_tip.setText(context.getResources().getString(R.string.layout_coll_take_point_text)); | ||
| 56 | + if (i > 0) { | ||
| 57 | + myViewHolder.tv_point_type_tip.setText("(打点" + i + ")"); | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + } | ||
| 61 | + myViewHolder.tv_take_point.setText(list.get(i).getPointName()); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + @Override | ||
| 65 | + public int getItemCount() { | ||
| 66 | + return list.size(); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + class MyViewHolder extends RecyclerView.ViewHolder { | ||
| 70 | + | ||
| 71 | + public View view_circle; | ||
| 72 | + public TextView tv_point_type_tip; | ||
| 73 | + public TextView tv_take_point; | ||
| 74 | + public View view_line; | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + public MyViewHolder(@NonNull View itemView) { | ||
| 78 | + super(itemView); | ||
| 79 | + this.view_circle = (View) itemView.findViewById(R.id.view_circle); | ||
| 80 | + this.tv_point_type_tip = (TextView) itemView.findViewById(R.id.tv_point_type_tip); | ||
| 81 | + this.tv_take_point = (TextView) itemView.findViewById(R.id.tv_take_point); | ||
| 82 | + this.view_line = (View) itemView.findViewById(R.id.view_line); | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | +} |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/fragment/CollRunningFinishFragment.java
| @@ -7,24 +7,28 @@ import android.view.View; | @@ -7,24 +7,28 @@ import android.view.View; | ||
| 7 | import com.cnlive.libs.base.ui.QMUIFragment; | 7 | import com.cnlive.libs.base.ui.QMUIFragment; |
| 8 | import com.cnlive.moudle.collectionTrace.frame.presenter.CollRunningFinishFragmetPresenter; | 8 | import com.cnlive.moudle.collectionTrace.frame.presenter.CollRunningFinishFragmetPresenter; |
| 9 | import com.cnlive.moudle.collectionTrace.frame.view.CollRunningFinishFragmentView; | 9 | import com.cnlive.moudle.collectionTrace.frame.view.CollRunningFinishFragmentView; |
| 10 | +import com.cnlive.moudle.collectionTrace.utils.CollStepUtil; | ||
| 11 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | ||
| 10 | import com.cnlive.moudle.pedometer.frame.presenter.RunningFinishFragmetPresenter; | 12 | import com.cnlive.moudle.pedometer.frame.presenter.RunningFinishFragmetPresenter; |
| 11 | import com.cnlive.moudle.pedometer.model.RunningFinishBean; | 13 | import com.cnlive.moudle.pedometer.model.RunningFinishBean; |
| 14 | +import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; | ||
| 12 | import com.example.moudle_pedometer.R; | 15 | import com.example.moudle_pedometer.R; |
| 16 | +import com.example.moudle_pedometer.databinding.FragmentCollFinishRunMapBinding; | ||
| 13 | import com.example.moudle_pedometer.databinding.FragmentFinishRunMapBinding; | 17 | import com.example.moudle_pedometer.databinding.FragmentFinishRunMapBinding; |
| 14 | 18 | ||
| 15 | -public class CollRunningFinishFragment extends QMUIFragment<CollRunningFinishFragmentView, CollRunningFinishFragmetPresenter, FragmentFinishRunMapBinding> { | ||
| 16 | - private RunningFinishBean runningFinishBean; | 19 | +public class CollRunningFinishFragment extends QMUIFragment<CollRunningFinishFragmentView, CollRunningFinishFragmetPresenter, FragmentCollFinishRunMapBinding> { |
| 20 | +// private RunningFinishBean runningFinishBean; | ||
| 17 | 21 | ||
| 18 | - public static CollRunningFinishFragment instance(RunningFinishBean runningFinishBean) { | ||
| 19 | - CollRunningFinishFragment fragment = new CollRunningFinishFragment(); | ||
| 20 | - Bundle bundle = null; | ||
| 21 | - if (runningFinishBean != null) { | ||
| 22 | - bundle = new Bundle(); | ||
| 23 | - bundle.putSerializable("runningFinishBean", runningFinishBean); | ||
| 24 | - } | ||
| 25 | - fragment.setArguments(bundle); | ||
| 26 | - return fragment; | ||
| 27 | - } | 22 | +// public static CollRunningFinishFragment instance(RunningFinishBean runningFinishBean) { |
| 23 | +// CollRunningFinishFragment fragment = new CollRunningFinishFragment(); | ||
| 24 | +// Bundle bundle = null; | ||
| 25 | +// if (runningFinishBean != null) { | ||
| 26 | +// bundle = new Bundle(); | ||
| 27 | +// bundle.putSerializable("runningFinishBean", runningFinishBean); | ||
| 28 | +// } | ||
| 29 | +// fragment.setArguments(bundle); | ||
| 30 | +// return fragment; | ||
| 31 | +// } | ||
| 28 | 32 | ||
| 29 | @Override | 33 | @Override |
| 30 | protected int getToolbarId() { | 34 | protected int getToolbarId() { |
| @@ -38,21 +42,20 @@ public class CollRunningFinishFragment extends QMUIFragment<CollRunningFinishFra | @@ -38,21 +42,20 @@ public class CollRunningFinishFragment extends QMUIFragment<CollRunningFinishFra | ||
| 38 | 42 | ||
| 39 | @Override | 43 | @Override |
| 40 | protected int getLayoutId() { | 44 | protected int getLayoutId() { |
| 41 | - return R.layout.fragment_finish_run_map; | 45 | + return R.layout.fragment_coll_finish_run_map; |
| 42 | } | 46 | } |
| 43 | 47 | ||
| 44 | @Override | 48 | @Override |
| 45 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { | 49 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
| 46 | super.onViewCreated(view, savedInstanceState); | 50 | super.onViewCreated(view, savedInstanceState); |
| 47 | - if (getArguments() != null) { | ||
| 48 | - runningFinishBean = (RunningFinishBean) getArguments().getSerializable("runningFinishBean"); | ||
| 49 | - if (runningFinishBean != null) { | ||
| 50 | - if (getMvpView() != null) { | ||
| 51 | - getMvpView().initView(runningFinishBean); | ||
| 52 | - } | 51 | + CollUserStepEntity collUserStepEntity = CollStepUtil.getCollUserStepData(getContext(), CommonInfo.getUserId(getContext())); |
| 52 | + if (collUserStepEntity != null) { | ||
| 53 | + if (getMvpView() != null) { | ||
| 54 | + getMvpView().initView(collUserStepEntity); | ||
| 53 | } | 55 | } |
| 54 | } | 56 | } |
| 55 | } | 57 | } |
| 58 | + | ||
| 56 | /** | 59 | /** |
| 57 | * 屏蔽边缘返回 | 60 | * 屏蔽边缘返回 |
| 58 | * 杨帅 | 61 | * 杨帅 |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/fragment/StartTraceFragment.java
| @@ -77,6 +77,7 @@ public class StartTraceFragment extends QMUIFragment<StartTraceFragmentView, Sta | @@ -77,6 +77,7 @@ public class StartTraceFragment extends QMUIFragment<StartTraceFragmentView, Sta | ||
| 77 | //为系统的方向传感器注册监听器 | 77 | //为系统的方向传感器注册监听器 |
| 78 | mSensorManager.registerListener(getMvpView(), mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), | 78 | mSensorManager.registerListener(getMvpView(), mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), |
| 79 | SensorManager.SENSOR_DELAY_UI); | 79 | SensorManager.SENSOR_DELAY_UI); |
| 80 | + getMvpView().checkIsHasRunningRace(); | ||
| 80 | } | 81 | } |
| 81 | } | 82 | } |
| 82 | 83 | ||
| @@ -118,7 +119,8 @@ public class StartTraceFragment extends QMUIFragment<StartTraceFragmentView, Sta | @@ -118,7 +119,8 @@ public class StartTraceFragment extends QMUIFragment<StartTraceFragmentView, Sta | ||
| 118 | if (getMvpView() != null) { | 119 | if (getMvpView() != null) { |
| 119 | QMUITipDialogUtil.dismessDialog(); | 120 | QMUITipDialogUtil.dismessDialog(); |
| 120 | if (null != getMvpView()) { | 121 | if (null != getMvpView()) { |
| 121 | - CollRunningMapActivity.startActivity(getActivity(),getMvpView().runRaceDetailInfo); | 122 | + CollRunningMapActivity.startActivity(getActivity(), getMvpView().runRaceDetailInfo); |
| 123 | + getActivity().finish(); | ||
| 122 | } | 124 | } |
| 123 | } | 125 | } |
| 124 | } | 126 | } |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/utils/CollStepUtil.java
| @@ -12,6 +12,7 @@ import com.cnlive.moudle.pedometer.sql.db.DbCore; | @@ -12,6 +12,7 @@ import com.cnlive.moudle.pedometer.sql.db.DbCore; | ||
| 12 | import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; | 12 | import com.cnlive.moudle.pedometer.sql.entity.CollUserStepEntity; |
| 13 | import com.cnlive.moudle.pedometer.sql.entity.UserStepEntity; | 13 | import com.cnlive.moudle.pedometer.sql.entity.UserStepEntity; |
| 14 | import com.cnlive.moudle.pedometer.utils.GsonUtil; | 14 | import com.cnlive.moudle.pedometer.utils.GsonUtil; |
| 15 | +import com.cnlive.moudle.pedometer.utils.TimeUtil; | ||
| 15 | 16 | ||
| 16 | import java.text.SimpleDateFormat; | 17 | import java.text.SimpleDateFormat; |
| 17 | import java.util.ArrayList; | 18 | import java.util.ArrayList; |
| @@ -33,6 +34,66 @@ public class CollStepUtil { | @@ -33,6 +34,66 @@ public class CollStepUtil { | ||
| 33 | } | 34 | } |
| 34 | 35 | ||
| 35 | /** | 36 | /** |
| 37 | + * 设置用户整个赛事用时 | ||
| 38 | + * | ||
| 39 | + * @param context | ||
| 40 | + * @param uid | ||
| 41 | + */ | ||
| 42 | + public static void setEmployTimeStamp(Context context, String uid, String employTime) { | ||
| 43 | + //先获取有没有 | ||
| 44 | + if (getCollUserStepData(context, uid) != null) { | ||
| 45 | + CollUserStepEntity entity = getCollUserStepData(context, uid); | ||
| 46 | + if (null != entity) { | ||
| 47 | + //设置用户完成时间 | ||
| 48 | + entity.setEmployTime(employTime); | ||
| 49 | + //更新数据 | ||
| 50 | + updateCollStepData(context, entity); | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 设置用户结束地点数据 | ||
| 57 | + * | ||
| 58 | + * @param context | ||
| 59 | + * @param uid | ||
| 60 | + * @param collectPoint | ||
| 61 | + */ | ||
| 62 | + public static void setCollEndPointData(Context context, String uid, CollectPoint collectPoint) { | ||
| 63 | + //先获取有没有 | ||
| 64 | + if (getCollUserStepData(context, uid) != null) { | ||
| 65 | + CollUserStepEntity entity = getCollUserStepData(context, uid); | ||
| 66 | + if (null != entity) { | ||
| 67 | + //设置用户结束数据 | ||
| 68 | + entity.setCollEndPointData(GsonUtil.GsonString(collectPoint)); | ||
| 69 | + //更新数据 | ||
| 70 | + updateCollStepData(context, entity); | ||
| 71 | + } | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + /** | ||
| 77 | + * 设置用户结束时间 | ||
| 78 | + * | ||
| 79 | + * @param context | ||
| 80 | + * @param uid | ||
| 81 | + * @param userFinishTime | ||
| 82 | + */ | ||
| 83 | + public static void setCollUserFinishTimeStamp(Context context, String uid, long userFinishTime) { | ||
| 84 | + //先获取有没有 | ||
| 85 | + if (getCollUserStepData(context, uid) != null) { | ||
| 86 | + CollUserStepEntity entity = getCollUserStepData(context, uid); | ||
| 87 | + if (null != entity) { | ||
| 88 | + //设置用户完成时间 | ||
| 89 | + entity.setFinishTimeStamp(userFinishTime); | ||
| 90 | + //更新数据 | ||
| 91 | + updateCollStepData(context, entity); | ||
| 92 | + } | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + /** | ||
| 36 | * 获取打点详细 | 97 | * 获取打点详细 |
| 37 | * | 98 | * |
| 38 | * @param context | 99 | * @param context |
| @@ -304,7 +365,7 @@ public class CollStepUtil { | @@ -304,7 +365,7 @@ public class CollStepUtil { | ||
| 304 | public static void clearRunData(Context context, String uid) { | 365 | public static void clearRunData(Context context, String uid) { |
| 305 | DbCore.init(context, dbName); | 366 | DbCore.init(context, dbName); |
| 306 | String CURRENT_DATE = getTodayDate(); | 367 | String CURRENT_DATE = getTodayDate(); |
| 307 | - List<CollUserStepEntity> list = DbCore.getDaoSession().getCollUserStepEntityDao().queryBuilder().where(CollUserStepEntityDao.Properties.UserId.eq(uid), CollUserStepEntityDao.Properties.Date.eq(CURRENT_DATE)).list(); | 368 | + List<CollUserStepEntity> list = DbCore.getDaoSession().getCollUserStepEntityDao().queryBuilder().where(CollUserStepEntityDao.Properties.UserId.eq(uid)).list(); |
| 308 | if (list != null && list.size() > 0) { | 369 | if (list != null && list.size() > 0) { |
| 309 | Log.e(TAG, "clearRunData: " + list.size()); | 370 | Log.e(TAG, "clearRunData: " + list.size()); |
| 310 | DbCore.getDaoSession().getCollUserStepEntityDao().deleteByKey(list.get(0).getUserId()); | 371 | DbCore.getDaoSession().getCollUserStepEntityDao().deleteByKey(list.get(0).getUserId()); |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/sql/dao/CollUserStepEntityDao.java
| @@ -46,6 +46,8 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | @@ -46,6 +46,8 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | ||
| 46 | public final static Property EndLatLng = new Property(19, String.class, "endLatLng", false, "END_LAT_LNG"); | 46 | public final static Property EndLatLng = new Property(19, String.class, "endLatLng", false, "END_LAT_LNG"); |
| 47 | public final static Property IsArriveEndPoint = new Property(20, boolean.class, "isArriveEndPoint", false, "IS_ARRIVE_END_POINT"); | 47 | public final static Property IsArriveEndPoint = new Property(20, boolean.class, "isArriveEndPoint", false, "IS_ARRIVE_END_POINT"); |
| 48 | public final static Property CollStartPointData = new Property(21, String.class, "collStartPointData", false, "COLL_START_POINT_DATA"); | 48 | public final static Property CollStartPointData = new Property(21, String.class, "collStartPointData", false, "COLL_START_POINT_DATA"); |
| 49 | + public final static Property CollEndPointData = new Property(22, String.class, "collEndPointData", false, "COLL_END_POINT_DATA"); | ||
| 50 | + public final static Property EmployTime = new Property(23, String.class, "employTime", false, "EMPLOY_TIME"); | ||
| 49 | } | 51 | } |
| 50 | 52 | ||
| 51 | 53 | ||
| @@ -82,7 +84,9 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | @@ -82,7 +84,9 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | ||
| 82 | "\"STREET_TITLE\" TEXT," + // 18: streetTitle | 84 | "\"STREET_TITLE\" TEXT," + // 18: streetTitle |
| 83 | "\"END_LAT_LNG\" TEXT," + // 19: endLatLng | 85 | "\"END_LAT_LNG\" TEXT," + // 19: endLatLng |
| 84 | "\"IS_ARRIVE_END_POINT\" INTEGER NOT NULL ," + // 20: isArriveEndPoint | 86 | "\"IS_ARRIVE_END_POINT\" INTEGER NOT NULL ," + // 20: isArriveEndPoint |
| 85 | - "\"COLL_START_POINT_DATA\" TEXT);"); // 21: collStartPointData | 87 | + "\"COLL_START_POINT_DATA\" TEXT," + // 21: collStartPointData |
| 88 | + "\"COLL_END_POINT_DATA\" TEXT," + // 22: collEndPointData | ||
| 89 | + "\"EMPLOY_TIME\" TEXT);"); // 23: employTime | ||
| 86 | } | 90 | } |
| 87 | 91 | ||
| 88 | /** Drops the underlying database table. */ | 92 | /** Drops the underlying database table. */ |
| @@ -156,6 +160,16 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | @@ -156,6 +160,16 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | ||
| 156 | if (collStartPointData != null) { | 160 | if (collStartPointData != null) { |
| 157 | stmt.bindString(22, collStartPointData); | 161 | stmt.bindString(22, collStartPointData); |
| 158 | } | 162 | } |
| 163 | + | ||
| 164 | + String collEndPointData = entity.getCollEndPointData(); | ||
| 165 | + if (collEndPointData != null) { | ||
| 166 | + stmt.bindString(23, collEndPointData); | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + String employTime = entity.getEmployTime(); | ||
| 170 | + if (employTime != null) { | ||
| 171 | + stmt.bindString(24, employTime); | ||
| 172 | + } | ||
| 159 | } | 173 | } |
| 160 | 174 | ||
| 161 | @Override | 175 | @Override |
| @@ -223,6 +237,16 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | @@ -223,6 +237,16 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | ||
| 223 | if (collStartPointData != null) { | 237 | if (collStartPointData != null) { |
| 224 | stmt.bindString(22, collStartPointData); | 238 | stmt.bindString(22, collStartPointData); |
| 225 | } | 239 | } |
| 240 | + | ||
| 241 | + String collEndPointData = entity.getCollEndPointData(); | ||
| 242 | + if (collEndPointData != null) { | ||
| 243 | + stmt.bindString(23, collEndPointData); | ||
| 244 | + } | ||
| 245 | + | ||
| 246 | + String employTime = entity.getEmployTime(); | ||
| 247 | + if (employTime != null) { | ||
| 248 | + stmt.bindString(24, employTime); | ||
| 249 | + } | ||
| 226 | } | 250 | } |
| 227 | 251 | ||
| 228 | @Override | 252 | @Override |
| @@ -254,7 +278,9 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | @@ -254,7 +278,9 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | ||
| 254 | cursor.isNull(offset + 18) ? null : cursor.getString(offset + 18), // streetTitle | 278 | cursor.isNull(offset + 18) ? null : cursor.getString(offset + 18), // streetTitle |
| 255 | cursor.isNull(offset + 19) ? null : cursor.getString(offset + 19), // endLatLng | 279 | cursor.isNull(offset + 19) ? null : cursor.getString(offset + 19), // endLatLng |
| 256 | cursor.getShort(offset + 20) != 0, // isArriveEndPoint | 280 | cursor.getShort(offset + 20) != 0, // isArriveEndPoint |
| 257 | - cursor.isNull(offset + 21) ? null : cursor.getString(offset + 21) // collStartPointData | 281 | + cursor.isNull(offset + 21) ? null : cursor.getString(offset + 21), // collStartPointData |
| 282 | + cursor.isNull(offset + 22) ? null : cursor.getString(offset + 22), // collEndPointData | ||
| 283 | + cursor.isNull(offset + 23) ? null : cursor.getString(offset + 23) // employTime | ||
| 258 | ); | 284 | ); |
| 259 | return entity; | 285 | return entity; |
| 260 | } | 286 | } |
| @@ -283,6 +309,8 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | @@ -283,6 +309,8 @@ public class CollUserStepEntityDao extends AbstractDao<CollUserStepEntity, Strin | ||
| 283 | entity.setEndLatLng(cursor.isNull(offset + 19) ? null : cursor.getString(offset + 19)); | 309 | entity.setEndLatLng(cursor.isNull(offset + 19) ? null : cursor.getString(offset + 19)); |
| 284 | entity.setIsArriveEndPoint(cursor.getShort(offset + 20) != 0); | 310 | entity.setIsArriveEndPoint(cursor.getShort(offset + 20) != 0); |
| 285 | entity.setCollStartPointData(cursor.isNull(offset + 21) ? null : cursor.getString(offset + 21)); | 311 | entity.setCollStartPointData(cursor.isNull(offset + 21) ? null : cursor.getString(offset + 21)); |
| 312 | + entity.setCollEndPointData(cursor.isNull(offset + 22) ? null : cursor.getString(offset + 22)); | ||
| 313 | + entity.setEmployTime(cursor.isNull(offset + 23) ? null : cursor.getString(offset + 23)); | ||
| 286 | } | 314 | } |
| 287 | 315 | ||
| 288 | @Override | 316 | @Override |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/sql/entity/CollUserStepEntity.java
| @@ -29,13 +29,14 @@ public class CollUserStepEntity { | @@ -29,13 +29,14 @@ public class CollUserStepEntity { | ||
| 29 | private String endLatLng;//终点坐标 | 29 | private String endLatLng;//终点坐标 |
| 30 | private boolean isArriveEndPoint;//是否到达终点 | 30 | private boolean isArriveEndPoint;//是否到达终点 |
| 31 | private String collStartPointData;//运营打点名称和经纬度 | 31 | private String collStartPointData;//运营打点名称和经纬度 |
| 32 | - | ||
| 33 | - @Generated(hash = 1720877205) | ||
| 34 | - public CollUserStepEntity(String userId, String date, String stepCount, long recordTime, double caloriesCount, | ||
| 35 | - String serverTraceData, long startTimeStamp, long finishTimeStamp, String streetId, int pauseCount, | ||
| 36 | - long userPauseTimeStamp, long chronometerBase, long queryTraceStartTime, long queryTraceEndTime, | ||
| 37 | - String queryEntityName, long continueTime, long fenceId, String importPoint, String streetTitle, | ||
| 38 | - String endLatLng, boolean isArriveEndPoint, String collStartPointData) { | 32 | + private String collEndPointData;//运营结束打点名称和经纬度 |
| 33 | + private String employTime;//用时时间戳 | ||
| 34 | + | ||
| 35 | + @Generated(hash = 148375276) | ||
| 36 | + public CollUserStepEntity(String userId, String date, String stepCount, long recordTime, double caloriesCount, String serverTraceData, | ||
| 37 | + long startTimeStamp, long finishTimeStamp, String streetId, int pauseCount, long userPauseTimeStamp, long chronometerBase, | ||
| 38 | + long queryTraceStartTime, long queryTraceEndTime, String queryEntityName, long continueTime, long fenceId, String importPoint, | ||
| 39 | + String streetTitle, String endLatLng, boolean isArriveEndPoint, String collStartPointData, String collEndPointData, String employTime) { | ||
| 39 | this.userId = userId; | 40 | this.userId = userId; |
| 40 | this.date = date; | 41 | this.date = date; |
| 41 | this.stepCount = stepCount; | 42 | this.stepCount = stepCount; |
| @@ -58,6 +59,8 @@ public class CollUserStepEntity { | @@ -58,6 +59,8 @@ public class CollUserStepEntity { | ||
| 58 | this.endLatLng = endLatLng; | 59 | this.endLatLng = endLatLng; |
| 59 | this.isArriveEndPoint = isArriveEndPoint; | 60 | this.isArriveEndPoint = isArriveEndPoint; |
| 60 | this.collStartPointData = collStartPointData; | 61 | this.collStartPointData = collStartPointData; |
| 62 | + this.collEndPointData = collEndPointData; | ||
| 63 | + this.employTime = employTime; | ||
| 61 | } | 64 | } |
| 62 | 65 | ||
| 63 | @Generated(hash = 681143087) | 66 | @Generated(hash = 681143087) |
| @@ -242,8 +245,21 @@ public class CollUserStepEntity { | @@ -242,8 +245,21 @@ public class CollUserStepEntity { | ||
| 242 | this.collStartPointData = collStartPointData; | 245 | this.collStartPointData = collStartPointData; |
| 243 | } | 246 | } |
| 244 | 247 | ||
| 248 | + public String getCollEndPointData() { | ||
| 249 | + return this.collEndPointData; | ||
| 250 | + } | ||
| 251 | + | ||
| 252 | + public void setCollEndPointData(String collEndPointData) { | ||
| 253 | + this.collEndPointData = collEndPointData; | ||
| 254 | + } | ||
| 245 | 255 | ||
| 256 | + public String getEmployTime() { | ||
| 257 | + return this.employTime; | ||
| 258 | + } | ||
| 246 | 259 | ||
| 260 | + public void setEmployTime(String employTime) { | ||
| 261 | + this.employTime = employTime; | ||
| 262 | + } | ||
| 247 | 263 | ||
| 248 | 264 | ||
| 249 | } | 265 | } |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/utils/MyMapUtil.java
| @@ -258,19 +258,19 @@ public class MyMapUtil { | @@ -258,19 +258,19 @@ public class MyMapUtil { | ||
| 258 | int total = response.getTotal(); | 258 | int total = response.getTotal(); |
| 259 | Log.e(TAG, "onHistoryTrackCallback: " + response.getMessage()); | 259 | Log.e(TAG, "onHistoryTrackCallback: " + response.getMessage()); |
| 260 | if (StatusCodes.SUCCESS != response.getStatus()) { | 260 | if (StatusCodes.SUCCESS != response.getStatus()) { |
| 261 | -// if (response.getStatus() == 14004) { | ||
| 262 | - //给3次重新查询的机会 | ||
| 263 | - if (queryNum < 4) { | ||
| 264 | - //重新查询 | ||
| 265 | -// new Handler().postDelayed(new Runnable() { | ||
| 266 | -// @Override | ||
| 267 | -// public void run() { | 261 | + if (response.getStatus() == 14004) { |
| 262 | + //给3次重新查询的机会 | ||
| 263 | + if (queryNum < 4) { | ||
| 264 | + //重新查询 | ||
| 265 | + new Handler().postDelayed(new Runnable() { | ||
| 266 | + @Override | ||
| 267 | + public void run() { | ||
| 268 | // //间隔3秒查一次 | 268 | // //间隔3秒查一次 |
| 269 | - queryHistoryTrace(context, mClient, entityName, startTime, endTime, callBack); | ||
| 270 | - queryNum++; | ||
| 271 | -// } | ||
| 272 | -// }, 1000); | ||
| 273 | - | 269 | + queryHistoryTrace(context, mClient, entityName, startTime, endTime, callBack); |
| 270 | + queryNum++; | ||
| 271 | + } | ||
| 272 | + }, 1000); | ||
| 273 | + } | ||
| 274 | } else { | 274 | } else { |
| 275 | if (callBack != null) { | 275 | if (callBack != null) { |
| 276 | callBack.success(null); | 276 | callBack.success(null); |
moudle_pedometer/src/main/res/layout/fragment_coll_finish_run_map.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<layout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + xmlns:app="http://schemas.android.com/apk/res-auto"> | ||
| 4 | + | ||
| 5 | + <FrameLayout | ||
| 6 | + android:layout_width="match_parent" | ||
| 7 | + android:layout_height="match_parent"> | ||
| 8 | + | ||
| 9 | + <com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto" | ||
| 10 | + android:id="@+id/sliding_layout" | ||
| 11 | + android:layout_width="match_parent" | ||
| 12 | + android:layout_height="match_parent" | ||
| 13 | + android:gravity="bottom" | ||
| 14 | + sothree:umanoDragView="@+id/dragView" | ||
| 15 | + sothree:umanoFadeColor="@color/black_20" | ||
| 16 | + sothree:umanoOverlay="true" | ||
| 17 | + sothree:umanoPanelHeight="310dp" | ||
| 18 | + sothree:umanoParallaxOffset="0dp" | ||
| 19 | + sothree:umanoScrollableView="@+id/rv_list" | ||
| 20 | + sothree:umanoShadowHeight="0dp"> | ||
| 21 | + | ||
| 22 | + <!-- MAIN CONTENT --> | ||
| 23 | + <FrameLayout | ||
| 24 | + android:layout_width="match_parent" | ||
| 25 | + android:layout_height="match_parent"> | ||
| 26 | + | ||
| 27 | + <com.baidu.mapapi.map.MapView | ||
| 28 | + android:id="@+id/mapView" | ||
| 29 | + android:layout_width="match_parent" | ||
| 30 | + android:layout_height="match_parent"></com.baidu.mapapi.map.MapView> | ||
| 31 | + <!--地图上面加一层类似于全透明黑色蒙版--> | ||
| 32 | + <LinearLayout | ||
| 33 | + android:layout_width="match_parent" | ||
| 34 | + android:layout_height="match_parent" | ||
| 35 | + android:background="#0D000000" | ||
| 36 | + android:clickable="false" | ||
| 37 | + android:focusable="false" | ||
| 38 | + android:focusableInTouchMode="false"></LinearLayout> | ||
| 39 | + | ||
| 40 | + <FrameLayout | ||
| 41 | + android:id="@+id/fl_back" | ||
| 42 | + android:layout_width="55dp" | ||
| 43 | + android:layout_height="55dp" | ||
| 44 | + android:background="@drawable/button_fab_white" | ||
| 45 | + android:focusable="true"> | ||
| 46 | + | ||
| 47 | + <ImageView | ||
| 48 | + android:layout_width="12dp" | ||
| 49 | + android:layout_height="20dp" | ||
| 50 | + android:layout_gravity="center" | ||
| 51 | + android:layout_marginLeft="-2dp" | ||
| 52 | + android:background="@drawable/icon_back" | ||
| 53 | + android:focusable="false" /> | ||
| 54 | + </FrameLayout> | ||
| 55 | + | ||
| 56 | + <FrameLayout | ||
| 57 | + android:layout_width="55dp" | ||
| 58 | + android:layout_height="55dp" | ||
| 59 | + android:layout_gravity="right" | ||
| 60 | + android:background="@drawable/button_fab_white" | ||
| 61 | + android:focusable="true" | ||
| 62 | + android:visibility="gone"> | ||
| 63 | + | ||
| 64 | + <ImageView | ||
| 65 | + android:layout_width="19dp" | ||
| 66 | + android:layout_height="18dp" | ||
| 67 | + android:layout_gravity="center" | ||
| 68 | + android:background="@drawable/icon_share" /> | ||
| 69 | + </FrameLayout> | ||
| 70 | + <!----> | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + </FrameLayout> | ||
| 74 | + | ||
| 75 | + <!-- SLIDING LAYOUT --> | ||
| 76 | + <FrameLayout | ||
| 77 | + android:id="@+id/dragView" | ||
| 78 | + android:layout_width="match_parent" | ||
| 79 | + android:layout_height="wrap_content" | ||
| 80 | + android:clickable="true" | ||
| 81 | + android:focusable="false" | ||
| 82 | + android:orientation="vertical"> | ||
| 83 | + | ||
| 84 | + | ||
| 85 | + <LinearLayout | ||
| 86 | + android:id="@+id/ll_root" | ||
| 87 | + android:layout_width="match_parent" | ||
| 88 | + android:layout_height="wrap_content" | ||
| 89 | + android:layout_marginBottom="40dp" | ||
| 90 | + android:orientation="vertical"> | ||
| 91 | + | ||
| 92 | + | ||
| 93 | + <!--用户个人信息--> | ||
| 94 | + <include | ||
| 95 | + android:id="@+id/include_finish_user_info" | ||
| 96 | + layout="@layout/layout_coll_finish_user_info" /> | ||
| 97 | + </LinearLayout> | ||
| 98 | + | ||
| 99 | + | ||
| 100 | + </FrameLayout> | ||
| 101 | + </com.sothree.slidinguppanel.SlidingUpPanelLayout> | ||
| 102 | + <!--按钮--> | ||
| 103 | + <LinearLayout | ||
| 104 | + android:id="@+id/rl_scrollView_startBtn" | ||
| 105 | + android:layout_width="match_parent" | ||
| 106 | + android:layout_height="40sp" | ||
| 107 | + android:layout_gravity="bottom" | ||
| 108 | + android:background="@color/green_round" | ||
| 109 | + android:gravity="center" | ||
| 110 | + android:tag="0"> | ||
| 111 | + | ||
| 112 | + | ||
| 113 | + <TextView | ||
| 114 | + android:id="@+id/tv_run_now" | ||
| 115 | + android:layout_width="wrap_content" | ||
| 116 | + android:layout_height="wrap_content" | ||
| 117 | + android:layout_centerInParent="true" | ||
| 118 | + android:layout_marginLeft="5dp" | ||
| 119 | + android:clickable="false" | ||
| 120 | + android:focusableInTouchMode="false" | ||
| 121 | + android:tag="0" | ||
| 122 | + android:text="确定轨迹" | ||
| 123 | + android:textColor="@color/white" | ||
| 124 | + android:textSize="18sp" /> | ||
| 125 | + </LinearLayout> | ||
| 126 | + </FrameLayout> | ||
| 127 | +</layout> | ||
| 0 | \ No newline at end of file | 128 | \ No newline at end of file |
moudle_pedometer/src/main/res/layout/item_coll_take_point.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:layout_width="match_parent" | ||
| 4 | + android:layout_height="wrap_content" | ||
| 5 | + android:orientation="vertical"> | ||
| 6 | + | ||
| 7 | + <LinearLayout | ||
| 8 | + android:layout_width="match_parent" | ||
| 9 | + android:layout_height="wrap_content" | ||
| 10 | + android:gravity="center_vertical"> | ||
| 11 | + | ||
| 12 | + <View | ||
| 13 | + android:id="@+id/view_circle" | ||
| 14 | + android:layout_width="6dp" | ||
| 15 | + android:layout_height="6dp" | ||
| 16 | + android:layout_marginLeft="15dp" | ||
| 17 | + android:background="@drawable/shape_circle_gray" /> | ||
| 18 | + | ||
| 19 | + <TextView | ||
| 20 | + android:id="@+id/tv_point_type_tip" | ||
| 21 | + android:layout_width="wrap_content" | ||
| 22 | + android:layout_height="wrap_content" | ||
| 23 | + android:layout_marginLeft="10dp" | ||
| 24 | + android:text="@string/layout_coll_take_point_text" | ||
| 25 | + android:textColor="@color/text_gray" | ||
| 26 | + android:textSize="12sp" /> | ||
| 27 | + | ||
| 28 | + <TextView | ||
| 29 | + android:id="@+id/tv_take_point" | ||
| 30 | + android:layout_width="wrap_content" | ||
| 31 | + android:layout_height="wrap_content" | ||
| 32 | + android:layout_marginLeft="10dp" | ||
| 33 | + android:text="--" | ||
| 34 | + android:textColor="@color/black" | ||
| 35 | + android:textSize="12sp" /> | ||
| 36 | + </LinearLayout> | ||
| 37 | + <!--竖线--> | ||
| 38 | + <View | ||
| 39 | + android:id="@+id/view_line" | ||
| 40 | + android:layout_width="1dp" | ||
| 41 | + android:layout_height="18dp" | ||
| 42 | + android:layout_marginLeft="17dp" | ||
| 43 | + android:layout_marginTop="-3dp" | ||
| 44 | + android:background="@color/vertical_line" /> | ||
| 45 | +</LinearLayout> | ||
| 0 | \ No newline at end of file | 46 | \ No newline at end of file |
moudle_pedometer/src/main/res/layout/layout_coll_finish_user_info.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<layout xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 3 | + | ||
| 4 | + <FrameLayout xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| 5 | + android:layout_width="match_parent" | ||
| 6 | + android:layout_height="match_parent"> | ||
| 7 | + | ||
| 8 | + <LinearLayout | ||
| 9 | + android:layout_width="match_parent" | ||
| 10 | + android:layout_height="match_parent" | ||
| 11 | + android:layout_marginTop="30dp" | ||
| 12 | + android:background="@color/white" | ||
| 13 | + android:orientation="vertical"> | ||
| 14 | + | ||
| 15 | + <TextView | ||
| 16 | + android:id="@+id/tv_user_nickName" | ||
| 17 | + android:layout_width="wrap_content" | ||
| 18 | + android:layout_height="wrap_content" | ||
| 19 | + android:layout_marginLeft="80dp" | ||
| 20 | + android:layout_marginTop="10dp" | ||
| 21 | + android:text="--" | ||
| 22 | + android:textColor="@color/text_black" | ||
| 23 | + android:textSize="13sp" /> | ||
| 24 | + <!----> | ||
| 25 | + <LinearLayout | ||
| 26 | + android:layout_width="match_parent" | ||
| 27 | + android:layout_height="wrap_content" | ||
| 28 | + android:gravity="center_vertical"> | ||
| 29 | + | ||
| 30 | + <LinearLayout | ||
| 31 | + android:layout_width="0dp" | ||
| 32 | + android:layout_height="wrap_content" | ||
| 33 | + android:layout_weight="1" | ||
| 34 | + android:orientation="vertical"> | ||
| 35 | + | ||
| 36 | + <TextView | ||
| 37 | + android:id="@+id/tv_street_name" | ||
| 38 | + android:layout_width="wrap_content" | ||
| 39 | + android:layout_height="wrap_content" | ||
| 40 | + android:layout_marginLeft="15dp" | ||
| 41 | + android:layout_marginTop="15dp" | ||
| 42 | + android:text="--" | ||
| 43 | + android:textColor="@color/text_black" | ||
| 44 | + android:textSize="15sp" /> | ||
| 45 | + | ||
| 46 | + <TextView | ||
| 47 | + android:id="@+id/tv_date" | ||
| 48 | + android:layout_width="wrap_content" | ||
| 49 | + android:layout_height="wrap_content" | ||
| 50 | + android:layout_marginLeft="15dp" | ||
| 51 | + android:layout_marginTop="5dp" | ||
| 52 | + android:text="--" | ||
| 53 | + android:textColor="@color/text_gray" | ||
| 54 | + android:textSize="10sp" /> | ||
| 55 | + </LinearLayout> | ||
| 56 | + <!----> | ||
| 57 | + <LinearLayout | ||
| 58 | + android:layout_width="0dp" | ||
| 59 | + android:layout_height="wrap_content" | ||
| 60 | + android:layout_weight="1" | ||
| 61 | + android:gravity="right|bottom"> | ||
| 62 | + | ||
| 63 | + <TextView | ||
| 64 | + android:id="@+id/tv_distance" | ||
| 65 | + android:layout_width="wrap_content" | ||
| 66 | + android:layout_height="wrap_content" | ||
| 67 | + android:layout_marginRight="10dp" | ||
| 68 | + android:text="--" | ||
| 69 | + android:textColor="@color/text_black" | ||
| 70 | + android:textSize="45sp" | ||
| 71 | + android:textStyle="bold" /> | ||
| 72 | + | ||
| 73 | + <TextView | ||
| 74 | + android:layout_width="wrap_content" | ||
| 75 | + android:layout_height="wrap_content" | ||
| 76 | + android:layout_marginRight="15dp" | ||
| 77 | + android:text="公里" | ||
| 78 | + android:textColor="@color/text_black" | ||
| 79 | + android:textSize="15sp" /> | ||
| 80 | + </LinearLayout> | ||
| 81 | + <!----> | ||
| 82 | + </LinearLayout> | ||
| 83 | + <!--横线--> | ||
| 84 | + <View | ||
| 85 | + android:layout_width="match_parent" | ||
| 86 | + android:layout_height="1dp" | ||
| 87 | + android:layout_marginLeft="10dp" | ||
| 88 | + android:layout_marginTop="10dp" | ||
| 89 | + android:layout_marginRight="10dp" | ||
| 90 | + android:background="@color/line" /> | ||
| 91 | + <!--起点--> | ||
| 92 | + <!--打点--> | ||
| 93 | + <LinearLayout | ||
| 94 | + android:layout_width="match_parent" | ||
| 95 | + android:layout_height="wrap_content" | ||
| 96 | + android:layout_marginTop="-3dp" | ||
| 97 | + android:gravity="center_vertical"> | ||
| 98 | + | ||
| 99 | + <android.support.v7.widget.RecyclerView | ||
| 100 | + android:id="@+id/rv_list" | ||
| 101 | + android:layout_width="match_parent" | ||
| 102 | + android:layout_height="wrap_content" | ||
| 103 | + android:paddingTop="10dp" | ||
| 104 | + android:paddingBottom="10dp"></android.support.v7.widget.RecyclerView> | ||
| 105 | + </LinearLayout> | ||
| 106 | + <!----> | ||
| 107 | + </LinearLayout> | ||
| 108 | + | ||
| 109 | + <com.qmuiteam.qmui.widget.QMUIRadiusImageView | ||
| 110 | + android:id="@+id/qm_iv_icon" | ||
| 111 | + android:layout_width="60dp" | ||
| 112 | + android:layout_height="60dp" | ||
| 113 | + android:layout_marginLeft="10dp" | ||
| 114 | + android:background="@drawable/tc_ic_workout_level_adjust_coach" | ||
| 115 | + app:qmui_corner_radius="100dp" /> | ||
| 116 | + </FrameLayout> | ||
| 117 | +</layout> | ||
| 0 | \ No newline at end of file | 118 | \ No newline at end of file |
moudle_pedometer/src/main/res/values/strings.xml
| @@ -90,6 +90,7 @@ | @@ -90,6 +90,7 @@ | ||
| 90 | <string name="no_fail_line_text_tip">没有上传失败的路线哦</string> | 90 | <string name="no_fail_line_text_tip">没有上传失败的路线哦</string> |
| 91 | <string name="run_race_far_tip">您距离起点较远\n请到达起点附近再开始</string> | 91 | <string name="run_race_far_tip">您距离起点较远\n请到达起点附近再开始</string> |
| 92 | <string name="run_race_arrive_end_tip">您已到达终点附近\n可以结束运动了</string> | 92 | <string name="run_race_arrive_end_tip">您已到达终点附近\n可以结束运动了</string> |
| 93 | + <string name="layout_coll_take_point_text">(打点)</string> | ||
| 93 | 94 | ||
| 94 | 95 | ||
| 95 | </resources> | 96 | </resources> |