[sweeper-cloud]贴边显示问题修改
This commit is contained in:
@@ -44,6 +44,7 @@ import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.map.uicontroller.VisualAngleMode;
|
||||
import com.mogo.och.common.module.manager.OCHAdasAbilityManager;
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil;
|
||||
import com.mogo.och.common.module.utils.PinYinUtil;
|
||||
import com.mogo.och.sweepercloud.R;
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
@@ -107,6 +108,7 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
protected int getLayoutId() {
|
||||
return R.layout.sweeper_base_fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
return true;
|
||||
@@ -186,8 +188,14 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
SweeperCloudTaskUtils.mockQueryCurrentTaskInfo()
|
||||
);
|
||||
// 模拟 云端发送任务
|
||||
findViewById(R.id.btnSendTask).setOnClickListener(view ->
|
||||
SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask)
|
||||
findViewById(R.id.btnSendTask).setOnClickListener(view -> {
|
||||
SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask);
|
||||
UiThreadHandler.postDelayed(() -> {
|
||||
debugEndSubTask();
|
||||
}, 5000);
|
||||
|
||||
}
|
||||
|
||||
);
|
||||
// 模拟 云端发送子任务确认
|
||||
findViewById(R.id.btnSendSubTaskConfirm).setOnClickListener(view ->
|
||||
@@ -249,9 +257,11 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
mapBizView.onCreate(savedInstanceState);
|
||||
mMapWeltView.onCreateView(savedInstanceState);
|
||||
}
|
||||
public void setAutoState(int state){
|
||||
|
||||
public void setAutoState(int state) {
|
||||
mTrafficDataView.setAutoState(state);
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息盒子
|
||||
*/
|
||||
@@ -551,6 +561,7 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
public void setTaskDataToFragmentCallback(ISweeperTaskDataToFragmentCallback mTaskDataToFragmentCallback) {
|
||||
this.mTaskDataToFragmentCallback = mTaskDataToFragmentCallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束子任务
|
||||
*/
|
||||
@@ -576,26 +587,25 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
|
||||
private ArrayList<SweeperRoutePlanningUpdateReqBean.Result> tempData() {
|
||||
ArrayList<SweeperRoutePlanningUpdateReqBean.Result> results = new ArrayList<>();
|
||||
results.add(getRoute(116.41732262522, 39.974576894194));
|
||||
results.add(getRoute(116.43963532201855, 39.9752190287537));
|
||||
results.add(getRoute(116.4440910789222, 39.96469276598098));
|
||||
results.add(getRoute(116.45254030604285, 39.958762580403544));
|
||||
results.add(getRoute(116.46168616811329, 39.94668171374373));
|
||||
results.add(getRoute(112.56970669282785, 26.8175674285121));
|
||||
results.add(getRoute(112.57154905962457, 26.81762377130161));
|
||||
results.add(getRoute(112.57723562917293, 26.819769721883098));
|
||||
return results;
|
||||
}
|
||||
|
||||
private ArrayList<SweeperRoutePlanningUpdateReqBean.Result> tempData1() {
|
||||
ArrayList<SweeperRoutePlanningUpdateReqBean.Result> results = new ArrayList<>();
|
||||
results.add(getRoute(116.41732262522, 39.974576894194));
|
||||
results.add(getRoute(116.43963532201855, 39.9752190287537));
|
||||
results.add(getRoute(116.4440910789222, 39.96469276598098));
|
||||
results.add(getRoute(112.56970669282785, 26.8175674285121));
|
||||
results.add(getRoute(112.57154905962457, 26.81762377130161));
|
||||
results.add(getRoute(112.57723562917293, 26.819769721883098));
|
||||
return results;
|
||||
}
|
||||
|
||||
private SweeperRoutePlanningUpdateReqBean.Result getRoute(double longitude, double latitude) {
|
||||
LatLng latLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(AbsMogoApplication.getApp(), longitude, latitude);
|
||||
SweeperRoutePlanningUpdateReqBean.Result result = new SweeperRoutePlanningUpdateReqBean.Result();
|
||||
result.latitude = latitude;
|
||||
result.longitude = longitude;
|
||||
result.latitude = latLng.latitude;
|
||||
result.longitude = latLng.longitude;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,6 +274,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
return
|
||||
}
|
||||
if (stopTaskType == SweeperTaskStop.StopTaskType.NORMAL) {
|
||||
mPresenter?.isHasTaskInfo(false)
|
||||
mDialog = sweeperCloudTaskNormalEndDialog()
|
||||
showNotice("任务已结束")
|
||||
} else {
|
||||
@@ -343,6 +344,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
//大任务处于取消状态 异常状态pad端都显示无任务列表
|
||||
if (subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE || subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL || subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.FINISHED) {
|
||||
mPresenter?.isHasTaskInfo(false)
|
||||
//数据重复导致连续弹窗
|
||||
if (mDialog != null && mDialog!!.isShowing) {
|
||||
return
|
||||
@@ -376,22 +378,20 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
* 重置任务面板为无数据状态
|
||||
*/
|
||||
private fun resetTaskInfoPanel() {
|
||||
//清除任务缓存数据
|
||||
mPresenter?.clearRouteList()
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
//清除任务地图绘制标记和作业路线
|
||||
clearAllMarkerAndPolyline()
|
||||
//清除贴边数据缓存
|
||||
MyDataBase.getInstance().weltDataDao.deleteAllWeltData()
|
||||
}
|
||||
setShowCurrentTaskPanelView(false)
|
||||
mPresenter?.isHasTaskInfo(false)
|
||||
mTaskInfo = null
|
||||
mCurrentSubTaskInfo = null
|
||||
mSubMutableList = null
|
||||
mSubTaskType = TaskModel.DEFAULT_MODEL
|
||||
setTaskProgress("0")
|
||||
//清除任务缓存数据
|
||||
mPresenter?.clearRouteList()
|
||||
//清除任务地图绘制标记和作业路线
|
||||
clearAllMarkerAndPolyline()
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
//清除贴边数据缓存
|
||||
MyDataBase.getInstance().weltDataDao.deleteAllWeltData()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -192,6 +192,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
if (null != routeList && routeList.getWayPointsList() != null && routeList.getWayPointsList().size() > 0) {
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG,"onAutopilotRotting: "+printMessage(routeList));
|
||||
if (mCurrentLineId != mLineId) {//判断是否同一条路线
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG,"onAutopilotRotting: mCurrentLineId"+mCurrentLineId+"mLineId:"+mLineId);
|
||||
mLineId = mCurrentLineId;
|
||||
points.addAll(coordinateConverterWgsToGcjList(mContext, routeList.getWayPointsList()));
|
||||
if (mSweeperTaskCallback != null) {
|
||||
@@ -305,6 +306,11 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
if (mSweeperTaskCallback != null) {
|
||||
mSweeperTaskCallback.setRouteList(points);
|
||||
}
|
||||
//防止重新绘制轨迹时,覆盖掉原有的贴边
|
||||
if (mSweeperTaskCallback != null) {
|
||||
mSweeperTaskCallback.setWeltDataToMap((ArrayList<WeltDataBean>) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(),
|
||||
true, "0cm");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,7 +424,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
return;
|
||||
}
|
||||
mWeltDataCurrentTimeMillis = current;
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "onSweeperFutianTaskIndexData:" + printMessage(roboSweeperTaskIndex));
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "mSubTaskType:"+mSubTaskType+"+ onSweeperFutianTaskIndexData:" + printMessage(roboSweeperTaskIndex));
|
||||
handleWeltData(roboSweeperTaskIndex);
|
||||
|
||||
}
|
||||
|
||||
@@ -57,90 +57,90 @@ object SweeperCloudTaskUtils {
|
||||
subBuilder0.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
val startLocation0 = Location.newBuilder()
|
||||
startLocation0.siteName = "自动驾驶子任务起点0"
|
||||
startLocation0.wgsLongitude = 121.6421189511
|
||||
startLocation0.wgsLatitude = 37.4767125311
|
||||
startLocation0.longitude = 121.64693997741931
|
||||
startLocation0.latitude = 37.47740504453125
|
||||
startLocation0.wgsLongitude =112.56970262448544
|
||||
startLocation0.wgsLatitude = 26.817567832504274
|
||||
startLocation0.longitude = 112.57493487730413
|
||||
startLocation0.latitude = 26.81397095451884
|
||||
subBuilder0.startLocation = startLocation0.build()
|
||||
val endLocation0 = Location.newBuilder()
|
||||
endLocation0.siteName = "自动驾驶子任务终点0"
|
||||
endLocation0.wgsLongitude = 121.6392313
|
||||
endLocation0.wgsLatitude = 37.4726471
|
||||
endLocation0.longitude = 121.64404710861349
|
||||
endLocation0.latitude = 37.47333410433059
|
||||
endLocation0.wgsLongitude = 112.57723562874442
|
||||
endLocation0.wgsLatitude = 26.819769725304003
|
||||
endLocation0.longitude = 112.5824598556873
|
||||
endLocation0.latitude = 26.81616501438377
|
||||
subBuilder0.endLocation = endLocation0.build()
|
||||
subBuilder0.lineId = 123
|
||||
subBuilder0.lineName = "测试路线0"
|
||||
builder.addSubList(subBuilder0.build())
|
||||
//第二个子任务
|
||||
val subBuilder1 = SubTaskInfo.newBuilder()
|
||||
subBuilder1.subTaskId = "2"
|
||||
subBuilder1.subTaskName = "佛兴禅寺-海水浴场(前岛贴左)"
|
||||
subBuilder1.taskModel = TaskModel.AUTO
|
||||
subBuilder1.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
val startLocation1 = Location.newBuilder()
|
||||
startLocation1.siteName = "自动驾驶子任务起点1"
|
||||
startLocation1.wgsLongitude = 121.6421189511
|
||||
startLocation1.wgsLatitude = 37.47264711
|
||||
startLocation1.longitude = 121.6469395478903
|
||||
startLocation1.latitude = 37.47333856025812
|
||||
subBuilder1.startLocation = startLocation1.build()
|
||||
val endLocation1 = Location.newBuilder()
|
||||
endLocation1.siteName = "自动驾驶子任务终点1"
|
||||
endLocation1.wgsLongitude = 121.4261245286646
|
||||
endLocation1.wgsLatitude = 37.52885874483938
|
||||
endLocation1.longitude = 121.43138115208806
|
||||
endLocation1.latitude = 37.52987767688798
|
||||
subBuilder1.endLocation = endLocation1.build()
|
||||
subBuilder1.lineId = 124
|
||||
subBuilder1.lineName = "测试路线1"
|
||||
builder.addSubList(subBuilder1.build())
|
||||
//第三个子任务
|
||||
val subBuilder2 = SubTaskInfo.newBuilder()
|
||||
subBuilder2.subTaskId = "3"
|
||||
subBuilder2.subTaskName = "海水浴场-佛兴禅寺(前岛贴左)"
|
||||
subBuilder2.taskModel = TaskModel.MANUAL
|
||||
subBuilder2.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
val startLocation2 = Location.newBuilder()
|
||||
startLocation2.siteName = "人工驾驶子任务起点2"
|
||||
startLocation2.wgsLongitude = 121.31344761929978
|
||||
startLocation2.wgsLatitude = 37.53205755535642
|
||||
startLocation2.longitude = 121.3185679517558
|
||||
startLocation2.latitude = 37.5329694887952
|
||||
subBuilder2.startLocation = startLocation2.build()
|
||||
val endLocation2 = Location.newBuilder()
|
||||
endLocation2.siteName = "人工驾驶子任务终点2"
|
||||
endLocation2.wgsLongitude = 121.4551205070834
|
||||
endLocation2.wgsLatitude = 37.47936696980237
|
||||
endLocation2.longitude = 121.46030960742117
|
||||
endLocation2.latitude = 37.48032689641474
|
||||
subBuilder2.endLocation = endLocation2.build()
|
||||
subBuilder2.lineId = 125
|
||||
subBuilder2.lineName = "测试路线2"
|
||||
builder.addSubList(subBuilder2.build())
|
||||
//第四个子任务
|
||||
val subBuilder3 = SubTaskInfo.newBuilder()
|
||||
subBuilder3.subTaskId = "4"
|
||||
subBuilder3.subTaskName = "海水浴场-佛兴禅寺(前岛贴左第四个任务)"
|
||||
subBuilder3.taskModel = TaskModel.MANUAL
|
||||
subBuilder3.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
val startLocation3 = Location.newBuilder()
|
||||
startLocation3.siteName = "人工驾驶子任务起点3"
|
||||
startLocation3.wgsLongitude = 121.31344761929978
|
||||
startLocation3.wgsLatitude = 37.53205755535642
|
||||
startLocation3.longitude = 121.3185679517558
|
||||
startLocation3.latitude = 37.5329694887952
|
||||
subBuilder3.startLocation = startLocation3.build()
|
||||
val endLocation3 = Location.newBuilder()
|
||||
endLocation3.siteName = "人工驾驶子任务终点3"
|
||||
endLocation3.wgsLongitude = 121.4551205070834
|
||||
endLocation3.wgsLatitude = 37.47936696980237
|
||||
endLocation3.longitude = 121.46030960742117
|
||||
endLocation3.latitude = 37.48032689641474
|
||||
subBuilder3.endLocation = endLocation3.build()
|
||||
subBuilder3.lineId = 126
|
||||
subBuilder3.lineName = "测试路线3"
|
||||
builder.addSubList(subBuilder3.build())
|
||||
// val subBuilder1 = SubTaskInfo.newBuilder()
|
||||
// subBuilder1.subTaskId = "2"
|
||||
// subBuilder1.subTaskName = "佛兴禅寺-海水浴场(前岛贴左)"
|
||||
// subBuilder1.taskModel = TaskModel.AUTO
|
||||
// subBuilder1.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
// val startLocation1 = Location.newBuilder()
|
||||
// startLocation1.siteName = "自动驾驶子任务起点1"
|
||||
// startLocation1.wgsLongitude = 112.57723562874442
|
||||
// startLocation1.wgsLatitude = 26.819769725304003
|
||||
// startLocation1.longitude = 112.5824598556873
|
||||
// startLocation1.latitude = 26.81616501438377
|
||||
// subBuilder1.startLocation = startLocation1.build()
|
||||
// val endLocation1 = Location.newBuilder()
|
||||
// endLocation1.siteName = "自动驾驶子任务终点1"
|
||||
// endLocation1.wgsLongitude = 112.56970262448544
|
||||
// endLocation1.wgsLatitude = 26.817567832504274
|
||||
// endLocation1.longitude = 112.57493487730413
|
||||
// endLocation1.latitude = 26.81397095451884
|
||||
// subBuilder1.endLocation = endLocation1.build()
|
||||
// subBuilder1.lineId = 124
|
||||
// subBuilder1.lineName = "测试路线1"
|
||||
// builder.addSubList(subBuilder1.build())
|
||||
// //第三个子任务
|
||||
// val subBuilder2 = SubTaskInfo.newBuilder()
|
||||
// subBuilder2.subTaskId = "3"
|
||||
// subBuilder2.subTaskName = "海水浴场-佛兴禅寺(前岛贴左)"
|
||||
// subBuilder2.taskModel = TaskModel.MANUAL
|
||||
// subBuilder2.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
// val startLocation2 = Location.newBuilder()
|
||||
// startLocation2.siteName = "人工驾驶子任务起点2"
|
||||
// startLocation2.wgsLongitude = 121.31344761929978
|
||||
// startLocation2.wgsLatitude = 37.53205755535642
|
||||
// startLocation2.longitude = 121.3185679517558
|
||||
// startLocation2.latitude = 37.5329694887952
|
||||
// subBuilder2.startLocation = startLocation2.build()
|
||||
// val endLocation2 = Location.newBuilder()
|
||||
// endLocation2.siteName = "人工驾驶子任务终点2"
|
||||
// endLocation2.wgsLongitude = 121.4551205070834
|
||||
// endLocation2.wgsLatitude = 37.47936696980237
|
||||
// endLocation2.longitude = 121.46030960742117
|
||||
// endLocation2.latitude = 37.48032689641474
|
||||
// subBuilder2.endLocation = endLocation2.build()
|
||||
// subBuilder2.lineId = 125
|
||||
// subBuilder2.lineName = "测试路线2"
|
||||
// builder.addSubList(subBuilder2.build())
|
||||
// //第四个子任务
|
||||
// val subBuilder3 = SubTaskInfo.newBuilder()
|
||||
// subBuilder3.subTaskId = "4"
|
||||
// subBuilder3.subTaskName = "海水浴场-佛兴禅寺(前岛贴左第四个任务)"
|
||||
// subBuilder3.taskModel = TaskModel.MANUAL
|
||||
// subBuilder3.taskStatus = SweeperCommon.TaskStatus.TO_START
|
||||
// val startLocation3 = Location.newBuilder()
|
||||
// startLocation3.siteName = "人工驾驶子任务起点3"
|
||||
// startLocation3.wgsLongitude = 121.31344761929978
|
||||
// startLocation3.wgsLatitude = 37.53205755535642
|
||||
// startLocation3.longitude = 121.3185679517558
|
||||
// startLocation3.latitude = 37.5329694887952
|
||||
// subBuilder3.startLocation = startLocation3.build()
|
||||
// val endLocation3 = Location.newBuilder()
|
||||
// endLocation3.siteName = "人工驾驶子任务终点3"
|
||||
// endLocation3.wgsLongitude = 121.4551205070834
|
||||
// endLocation3.wgsLatitude = 37.47936696980237
|
||||
// endLocation3.longitude = 121.46030960742117
|
||||
// endLocation3.latitude = 37.48032689641474
|
||||
// subBuilder3.endLocation = endLocation3.build()
|
||||
// subBuilder3.lineId = 126
|
||||
// subBuilder3.lineName = "测试路线3"
|
||||
// builder.addSubList(subBuilder3.build())
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTask(
|
||||
messageType,
|
||||
"${System.currentTimeMillis()}",
|
||||
|
||||
@@ -58,7 +58,7 @@ class SweeperTrafficLightView @JvmOverloads constructor(
|
||||
override fun showTrafficLight(checkLightId: TrafficLightEnum, lightSource: DataSourceType) {
|
||||
mCurrentLightId = checkLightId
|
||||
updateTrafficLightIcon(checkLightId)
|
||||
CallerLogger.d(SceneConstant.M_SWEEPER + TAG,"灯态类型:"+checkLightId.name +"灯态来源:"+DataSourceType.getName(lightSource))
|
||||
CallerLogger.d(SceneConstant.M_SWEEPER + TAG,"灯态类型:"+checkLightId.name +" 灯态来源:"+DataSourceType.getName(lightSource))
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<com.amap.api.maps.TextureMapView
|
||||
android:id="@+id/sweeperTextureMapView"
|
||||
android:layout_width="match_parent"
|
||||
@@ -32,7 +33,7 @@
|
||||
android:id="@+id/taskProgressTv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
android:text="进度:60%"
|
||||
tools:text="进度:60%"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="#3f69d9"
|
||||
@@ -42,15 +43,15 @@
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp"
|
||||
android:textSize="@dimen/dp_34"
|
||||
app:layout_constraintWidth_percent="0.5"
|
||||
app:layout_constraintWidth_percent="0.3"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
<com.mogo.och.sweepercloud.view.FontAdaptionTextView
|
||||
<TextView
|
||||
android:id="@+id/taskWeltDistanceTv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
android:text="贴边:--cm"
|
||||
tools:text="贴边:--cm"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:background="#3d98c7"
|
||||
@@ -62,7 +63,7 @@
|
||||
android:paddingRight="6dp"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:gravity="center"
|
||||
app:layout_constraintWidth_percent="0.5"
|
||||
app:layout_constraintWidth_percent="0.7"
|
||||
android:visibility="gone"/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend1"
|
||||
|
||||
Reference in New Issue
Block a user