Commit 4993684acad9911839ac97f35c25ef0af148ed7e

Authored by 韩亚云
2 parents f2384867 76a32985

轨迹绑定接口修改2

.idea/gradle.xml
@@ -3,9 +3,6 @@ @@ -3,9 +3,6 @@
3 <component name="GradleSettings"> 3 <component name="GradleSettings">
4 <option name="linkedExternalProjectsSettings"> 4 <option name="linkedExternalProjectsSettings">
5 <GradleProjectSettings> 5 <GradleProjectSettings>
6 - <compositeConfiguration>  
7 - <compositeBuild compositeDefinitionSource="SCRIPT" />  
8 - </compositeConfiguration>  
9 <option name="distributionType" value="DEFAULT_WRAPPED" /> 6 <option name="distributionType" value="DEFAULT_WRAPPED" />
10 <option name="externalProjectPath" value="$PROJECT_DIR$" /> 7 <option name="externalProjectPath" value="$PROJECT_DIR$" />
11 <option name="modules"> 8 <option name="modules">
moudle_pedometer/src/main/AndroidManifest.xml
@@ -61,8 +61,7 @@ @@ -61,8 +61,7 @@
61 <activity android:name="com.cnlive.moudle.pedometer.ui.activity.MyRecordActivity" /> 61 <activity android:name="com.cnlive.moudle.pedometer.ui.activity.MyRecordActivity" />
62 <activity android:name="com.cnlive.moudle.pedometer.ui.activity.ShareRecordActivity" /> 62 <activity android:name="com.cnlive.moudle.pedometer.ui.activity.ShareRecordActivity" />
63 <activity android:name="com.cnlive.moudle.pedometer.ui.activity.RaceRecordActivity" /> 63 <activity android:name="com.cnlive.moudle.pedometer.ui.activity.RaceRecordActivity" />
64 - <activity  
65 - android:name="com.cnlive.moudle.pedometer.ui.activity.RegistrationInfoActivity"/> 64 + <activity android:name="com.cnlive.moudle.pedometer.ui.activity.RegistrationInfoActivity" />
66 65
67 <service 66 <service
68 android:name="com.cnlive.moudle.pedometer.service.StepService" 67 android:name="com.cnlive.moudle.pedometer.service.StepService"
@@ -117,16 +116,16 @@ @@ -117,16 +116,16 @@
117 116
118 <activity 117 <activity
119 android:name="com.cnlive.moudle.pedometer.ui.activity.PedometerMainActivity" 118 android:name="com.cnlive.moudle.pedometer.ui.activity.PedometerMainActivity"
120 - android:launchMode="singleTask"/> 119 + android:launchMode="singleTask" />
121 <activity 120 <activity
122 android:name="com.cnlive.moudle.pedometer.ui.activity.RunningMapActivity" 121 android:name="com.cnlive.moudle.pedometer.ui.activity.RunningMapActivity"
123 - android:launchMode="singleTask"/> <!-- android:theme="@style/Theme.AppCompat.Light.NoActionBar" --> 122 + android:launchMode="singleTask" /> <!-- android:theme="@style/Theme.AppCompat.Light.NoActionBar" -->
124 <activity 123 <activity
125 android:name="com.cnlive.moudle.pedometer.ui.activity.RunRaceDetailActivity" 124 android:name="com.cnlive.moudle.pedometer.ui.activity.RunRaceDetailActivity"
126 - android:launchMode="singleTask"/> 125 + android:launchMode="singleTask" />
127 <activity 126 <activity
128 android:name="com.cnlive.moudle.pedometer.ui.activity.RunningFinishActivity" 127 android:name="com.cnlive.moudle.pedometer.ui.activity.RunningFinishActivity"
129 - android:launchMode="singleTask"/> 128 + android:launchMode="singleTask" />
130 <activity 129 <activity
131 android:name="com.cnlive.moudle.pedometer.ui.activity.UploadFailDetailActivity" 130 android:name="com.cnlive.moudle.pedometer.ui.activity.UploadFailDetailActivity"
132 android:launchMode="singleTask" /> 131 android:launchMode="singleTask" />
@@ -138,6 +137,9 @@ @@ -138,6 +137,9 @@
138 <activity 137 <activity
139 android:name="com.cnlive.moudle.pedometer.ui.activity.OnGoingActivity" 138 android:name="com.cnlive.moudle.pedometer.ui.activity.OnGoingActivity"
140 android:launchMode="singleTask" /> 139 android:launchMode="singleTask" />
  140 +
  141 + <!--轨迹列表详情页-->
  142 + <activity android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollTraceListDetailActivity" />
141 <!--************************************************路径工具**********************************************--> 143 <!--************************************************路径工具**********************************************-->
142 <service 144 <service
143 android:name="com.cnlive.moudle.collectionTrace.service.CollKeepLiveService" 145 android:name="com.cnlive.moudle.collectionTrace.service.CollKeepLiveService"
@@ -179,16 +181,11 @@ @@ -179,16 +181,11 @@
179 </intent-filter> 181 </intent-filter>
180 </receiver> 182 </receiver>
181 183
182 - <activity  
183 - android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollPedometerMainActivity"/>  
184 - <activity  
185 - android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollRunningFinishActivity"/> <!-- android:theme="@style/Theme.AppCompat.Light.NoActionBar" -->  
186 - <activity  
187 - android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollRunningMapActivity"/>  
188 - <activity  
189 - android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollRunRaceDetailActivity"/>  
190 - <activity  
191 - android:name="com.cnlive.moudle.collectionTrace.ui.activity.StartCollectTraceActivity"/> 184 + <activity android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollPedometerMainActivity" />
  185 + <activity android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollRunningFinishActivity" /> <!-- android:theme="@style/Theme.AppCompat.Light.NoActionBar" -->
  186 + <activity android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollRunningMapActivity" />
  187 + <activity android:name="com.cnlive.moudle.collectionTrace.ui.activity.CollRunRaceDetailActivity" />
  188 + <activity android:name="com.cnlive.moudle.collectionTrace.ui.activity.StartCollectTraceActivity" />
192 </application> 189 </application>
193 190
194 </manifest> 191 </manifest>
195 \ No newline at end of file 192 \ No newline at end of file
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunningFinishFragmentView.java
@@ -215,8 +215,8 @@ public class CollRunningFinishFragmentView implements MvpView, OnFenceListener { @@ -215,8 +215,8 @@ public class CollRunningFinishFragmentView implements MvpView, OnFenceListener {
215 @Override 215 @Override
216 public void run() { 216 public void run() {
217 if (null != collectLatLngs && collectLatLngs.size() > 1) { 217 if (null != collectLatLngs && collectLatLngs.size() > 1) {
218 -// getBaiDuSnap();  
219 - addFence(); 218 + getBaiDuSnap();
  219 +// addFence();
220 } 220 }
221 } 221 }
222 }, 1000); 222 }, 1000);
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunningMapFragmentView.java
@@ -378,6 +378,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener @@ -378,6 +378,7 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener
378 CollStepUtil.setCollEndPointData(getContext(), CollCommonInfo.getUserId(getContext()), collectPoint); 378 CollStepUtil.setCollEndPointData(getContext(), CollCommonInfo.getUserId(getContext()), collectPoint);
379 //跳转界面 379 //跳转界面
380 CollRunningFinishActivity.startActivity(fragment.getActivity()); 380 CollRunningFinishActivity.startActivity(fragment.getActivity());
  381 + fragment.getActivity().finish();
381 } 382 }
382 }); 383 });
383 endSelectDialog.setCancelable(false); 384 endSelectDialog.setCancelable(false);
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollTraceListDetailFragmentView.java
1 package com.cnlive.moudle.collectionTrace.frame.view; 1 package com.cnlive.moudle.collectionTrace.frame.view;
2 2
  3 +import android.app.Activity;
  4 +import android.content.Context;
3 import android.os.Handler; 5 import android.os.Handler;
4 import android.support.v7.widget.LinearLayoutManager; 6 import android.support.v7.widget.LinearLayoutManager;
5 import android.text.TextUtils; 7 import android.text.TextUtils;
@@ -12,6 +14,7 @@ import com.baidu.mapapi.map.Overlay; @@ -12,6 +14,7 @@ import com.baidu.mapapi.map.Overlay;
12 import com.baidu.mapapi.map.UiSettings; 14 import com.baidu.mapapi.map.UiSettings;
13 import com.baidu.mapapi.model.LatLng; 15 import com.baidu.mapapi.model.LatLng;
14 import com.baidu.trace.LBSTraceClient; 16 import com.baidu.trace.LBSTraceClient;
  17 +import com.bumptech.glide.Glide;
15 import com.cnlive.moudle.collectionTrace.model.CollectPoint; 18 import com.cnlive.moudle.collectionTrace.model.CollectPoint;
16 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo; 19 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo;
17 import com.cnlive.moudle.collectionTrace.ui.adapter.CollFinishDetaiAdapter; 20 import com.cnlive.moudle.collectionTrace.ui.adapter.CollFinishDetaiAdapter;
@@ -47,6 +50,9 @@ public class CollTraceListDetailFragmentView implements MvpView { @@ -47,6 +50,9 @@ public class CollTraceListDetailFragmentView implements MvpView {
47 this.fragment = fragment; 50 this.fragment = fragment;
48 } 51 }
49 52
  53 + public Context getContext() {
  54 + return fragment == null ? null : fragment.getActivity();
  55 + }
50 56
51 public void initView(RaceNameListInfo.EventShoeLinesBean eventShoeLinesBean) { 57 public void initView(RaceNameListInfo.EventShoeLinesBean eventShoeLinesBean) {
52 if (mClient == null) { 58 if (mClient == null) {
@@ -59,8 +65,20 @@ public class CollTraceListDetailFragmentView implements MvpView { @@ -59,8 +65,20 @@ public class CollTraceListDetailFragmentView implements MvpView {
59 //添加起点 65 //添加起点
60 CollectPoint startPoint = null; 66 CollectPoint startPoint = null;
61 List<CollectPoint> resultCollectPoints = null; 67 List<CollectPoint> resultCollectPoints = null;
  68 + List<CollectPoint> allCollectPoints = null;
62 if (!TextUtils.isEmpty(eventShoeLinesBean.getLatLongitude())) { 69 if (!TextUtils.isEmpty(eventShoeLinesBean.getLatLongitude())) {
63 resultCollectPoints = GsonUtil.jsonToList(eventShoeLinesBean.getLatLongitude(), CollectPoint.class); 70 resultCollectPoints = GsonUtil.jsonToList(eventShoeLinesBean.getLatLongitude(), CollectPoint.class);
  71 + allCollectPoints = GsonUtil.jsonToList(eventShoeLinesBean.getLatLongitude(), CollectPoint.class);
  72 +
  73 + }
  74 + //设置打点liebiao
  75 + if (null != allCollectPoints && allCollectPoints.size() > 1) {
  76 + //设置适配器
  77 + adapter = new CollFinishDetaiAdapter(fragment.getActivity(), allCollectPoints);
  78 + fragment.binding.includeFinishUserInfo.rvList.setLayoutManager(new LinearLayoutManager(fragment.getActivity()));
  79 + fragment.binding.includeFinishUserInfo.rvList.setAdapter(adapter);
  80 + } else {
  81 + fragment.binding.includeFinishUserInfo.rvList.setVisibility(View.GONE);
64 } 82 }
65 //获取打点不为空 83 //获取打点不为空
66 if (null != resultCollectPoints && resultCollectPoints.size() > 1) { 84 if (null != resultCollectPoints && resultCollectPoints.size() > 1) {
@@ -68,6 +86,29 @@ public class CollTraceListDetailFragmentView implements MvpView { @@ -68,6 +86,29 @@ public class CollTraceListDetailFragmentView implements MvpView {
68 resultCollectPoints.remove(0); 86 resultCollectPoints.remove(0);
69 //移除终点 87 //移除终点
70 resultCollectPoints.remove(resultCollectPoints.size() - 1); 88 resultCollectPoints.remove(resultCollectPoints.size() - 1);
  89 + //开始在地图上绘制打点信息
  90 + for (int i = 0; i < resultCollectPoints.size(); i++) {
  91 + LatLng latLng = new LatLng(resultCollectPoints.get(i).getLatitude(), resultCollectPoints.get(i).getLongitude());
  92 + MyMapUtil.setMapMarker(getContext(), baiduMap, latLng, R.drawable.icon_map_import);
  93 + }
  94 +
  95 + }
  96 +
  97 + //设置用户头像
  98 + if (!TextUtils.isEmpty(eventShoeLinesBean.getUserMsg().getNickName())) {
  99 + fragment.binding.includeFinishUserInfo.tvUserNickName.setText(eventShoeLinesBean.getUserMsg().getNickName());
  100 + }
  101 + //设置用户头像
  102 + if (!TextUtils.isEmpty(eventShoeLinesBean.getUserMsg().getImage())) {
  103 + Glide.with(getContext()).load(eventShoeLinesBean.getUserMsg().getImage()).into(fragment.binding.includeFinishUserInfo.qmIvIcon);
  104 + }
  105 + //设置用户行走公里
  106 + if (!TextUtils.isEmpty(eventShoeLinesBean.getMileage())) {
  107 + fragment.binding.includeFinishUserInfo.tvDistance.setText(eventShoeLinesBean.getMileage());
  108 + }
  109 + //设置日期
  110 + if (!TextUtils.isEmpty(eventShoeLinesBean.getEndTime())) {
  111 + fragment.binding.includeFinishUserInfo.tvDate.setText(TimeUtil.getStampToTime(Long.parseLong(eventShoeLinesBean.getEndTime()) * 1000, "yyyy-MM-dd HH:mm"));
71 } 112 }
72 113
73 // //查询用户历史轨迹 114 // //查询用户历史轨迹
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/RaceNameListView.java
@@ -22,6 +22,7 @@ import com.cnlive.libs.base.util.AlertUtil; @@ -22,6 +22,7 @@ import com.cnlive.libs.base.util.AlertUtil;
22 import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo; 22 import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo;
23 import com.cnlive.moudle.collectionTrace.model.BindingShoeInfo; 23 import com.cnlive.moudle.collectionTrace.model.BindingShoeInfo;
24 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo; 24 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo;
  25 +import com.cnlive.moudle.collectionTrace.ui.activity.CollTraceListDetailActivity;
25 import com.cnlive.moudle.collectionTrace.ui.activity.StartCollectTraceActivity; 26 import com.cnlive.moudle.collectionTrace.ui.activity.StartCollectTraceActivity;
26 import com.cnlive.moudle.collectionTrace.ui.adapter.RaceNameListAdapter; 27 import com.cnlive.moudle.collectionTrace.ui.adapter.RaceNameListAdapter;
27 import com.cnlive.moudle.collectionTrace.ui.fragment.RaceNameListFragment; 28 import com.cnlive.moudle.collectionTrace.ui.fragment.RaceNameListFragment;
@@ -110,7 +111,7 @@ public class RaceNameListView implements MvpView, OnFenceListener { @@ -110,7 +111,7 @@ public class RaceNameListView implements MvpView, OnFenceListener {
110 adapter.setOnItemClick(new RaceNameListAdapter.OnItemClick() { 111 adapter.setOnItemClick(new RaceNameListAdapter.OnItemClick() {
111 @Override 112 @Override
112 public void onItemClickListener(RaceNameListInfo.EventShoeLinesBean eventShoeLinesBean, int position) { 113 public void onItemClickListener(RaceNameListInfo.EventShoeLinesBean eventShoeLinesBean, int position) {
113 - 114 + CollTraceListDetailActivity.startActivity(fragment.getActivity(), eventShoeLinesBean);
114 } 115 }
115 }); 116 });
116 adapter.setOnAddShoeLineClick(new RaceNameListAdapter.OnAddShoeLineClick() { 117 adapter.setOnAddShoeLineClick(new RaceNameListAdapter.OnAddShoeLineClick() {
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/CollTraceListDetailActivity.java
1 package com.cnlive.moudle.collectionTrace.ui.activity; 1 package com.cnlive.moudle.collectionTrace.ui.activity;
2 2
  3 +import android.app.Activity;
  4 +import android.content.Intent;
3 import android.os.Bundle; 5 import android.os.Bundle;
4 6
  7 +import com.cnlive.libs.base.ui.QMUIFragment;
5 import com.cnlive.libs.base.ui.QMUIFragmentActivity; 8 import com.cnlive.libs.base.ui.QMUIFragmentActivity;
6 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo; 9 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo;
  10 +import com.cnlive.moudle.collectionTrace.ui.fragment.CollTraceListDetailFragment;
7 import com.example.moudle_pedometer.R; 11 import com.example.moudle_pedometer.R;
8 12
9 /** 13 /**
@@ -23,5 +27,21 @@ public class CollTraceListDetailActivity extends QMUIFragmentActivity { @@ -23,5 +27,21 @@ public class CollTraceListDetailActivity extends QMUIFragmentActivity {
23 protected void onCreate(Bundle savedInstanceState) { 27 protected void onCreate(Bundle savedInstanceState) {
24 super.onCreate(savedInstanceState); 28 super.onCreate(savedInstanceState);
25 eventShoeLinesBean = (RaceNameListInfo.EventShoeLinesBean) getIntent().getExtras().get("eventShoeLinesBean"); 29 eventShoeLinesBean = (RaceNameListInfo.EventShoeLinesBean) getIntent().getExtras().get("eventShoeLinesBean");
  30 + if (null != eventShoeLinesBean) {
  31 + addFragment(CollTraceListDetailFragment.newInstance(eventShoeLinesBean));
  32 + }
  33 + }
  34 +
  35 + private void addFragment(QMUIFragment fragment) {
  36 + getSupportFragmentManager().beginTransaction()
  37 + .add(getContextViewId(), fragment, fragment.getClass().getSimpleName())
  38 + .addToBackStack(fragment.getClass().getSimpleName())
  39 + .commit();
  40 + }
  41 +
  42 + public static void startActivity(Activity activity, RaceNameListInfo.EventShoeLinesBean eventShoeLinesBean) {
  43 + Intent intent = new Intent(activity, CollTraceListDetailActivity.class);
  44 + intent.putExtra("eventShoeLinesBean", eventShoeLinesBean);
  45 + activity.startActivity(intent);
26 } 46 }
27 } 47 }
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/adapter/RunListAdapter.java
@@ -59,7 +59,7 @@ public class RunListAdapter extends RecyclerView.Adapter&lt;RunListAdapter.MyViewHo @@ -59,7 +59,7 @@ public class RunListAdapter extends RecyclerView.Adapter&lt;RunListAdapter.MyViewHo
59 public void onClick(View view) { 59 public void onClick(View view) {
60 RunRaceDetailInfo runRaceDetailInfo = new RunRaceDetailInfo(); 60 RunRaceDetailInfo runRaceDetailInfo = new RunRaceDetailInfo();
61 runRaceDetailInfo.setTitle(list.get(i).getTitle()); 61 runRaceDetailInfo.setTitle(list.get(i).getTitle());
62 - RaceNameListActivity.newInstance(context, list.get(i).getId() + "",runRaceDetailInfo); 62 + RaceNameListActivity.newInstance(context, list.get(i).getId() + "", runRaceDetailInfo);
63 63
64 } 64 }
65 }); 65 });
@@ -91,4 +91,8 @@ public class RunListAdapter extends RecyclerView.Adapter&lt;RunListAdapter.MyViewHo @@ -91,4 +91,8 @@ public class RunListAdapter extends RecyclerView.Adapter&lt;RunListAdapter.MyViewHo
91 item_ly = itemView.findViewById(R.id.item_ly); 91 item_ly = itemView.findViewById(R.id.item_ly);
92 } 92 }
93 } 93 }
  94 +
  95 + public interface OnItemClickListener {
  96 + void onClickItem(RunLineInfo.ListBean bean, int position);
  97 + }
94 } 98 }
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/fragment/CollTraceListDetailFragment.java
@@ -5,6 +5,7 @@ import android.support.annotation.Nullable; @@ -5,6 +5,7 @@ import android.support.annotation.Nullable;
5 import android.view.View; 5 import android.view.View;
6 6
7 import com.cnlive.libs.base.ui.QMUIFragment; 7 import com.cnlive.libs.base.ui.QMUIFragment;
  8 +import com.cnlive.libs.base.util.StatusBarUtil2;
8 import com.cnlive.moudle.collectionTrace.frame.presenter.CollTraceListDetailFragmentPresenter; 9 import com.cnlive.moudle.collectionTrace.frame.presenter.CollTraceListDetailFragmentPresenter;
9 import com.cnlive.moudle.collectionTrace.frame.view.CollTraceListDetailFragmentView; 10 import com.cnlive.moudle.collectionTrace.frame.view.CollTraceListDetailFragmentView;
10 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo; 11 import com.cnlive.moudle.collectionTrace.model.RaceNameListInfo;
@@ -45,10 +46,14 @@ public class CollTraceListDetailFragment extends QMUIFragment&lt;CollTraceListDetai @@ -45,10 +46,14 @@ public class CollTraceListDetailFragment extends QMUIFragment&lt;CollTraceListDetai
45 @Override 46 @Override
46 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 47 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
47 super.onViewCreated(view, savedInstanceState); 48 super.onViewCreated(view, savedInstanceState);
  49 + StatusBarUtil2.setColor(getActivity(), getResources().getColor(R.color.white), 0);
  50 +
48 if (null != getArguments()) { 51 if (null != getArguments()) {
49 eventShoeLinesBean = (RaceNameListInfo.EventShoeLinesBean) getArguments().get("eventShoeLinesBean"); 52 eventShoeLinesBean = (RaceNameListInfo.EventShoeLinesBean) getArguments().get("eventShoeLinesBean");
50 if (null != eventShoeLinesBean) { 53 if (null != eventShoeLinesBean) {
51 - 54 + if (null != getMvpView()) {
  55 + getMvpView().initView(eventShoeLinesBean);
  56 + }
52 } 57 }
53 } 58 }
54 } 59 }
moudle_pedometer/src/main/res/layout/layout_coll_finish_user_info.xml
@@ -93,6 +93,7 @@ @@ -93,6 +93,7 @@
93 <LinearLayout 93 <LinearLayout
94 android:layout_width="match_parent" 94 android:layout_width="match_parent"
95 android:layout_height="wrap_content" 95 android:layout_height="wrap_content"
  96 + android:background="@color/white"
96 android:layout_marginTop="-3dp" 97 android:layout_marginTop="-3dp"
97 android:gravity="center_vertical"> 98 android:gravity="center_vertical">
98 99