From d8999c50ee28a00fff22da1149653bc2f2dd0c6e Mon Sep 17 00:00:00 2001 From: bxb Date: Tue, 7 Mar 2023 20:44:17 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B8=85=E6=89=AB=E8=BD=A6]WeltMapOverViewFra?= =?UTF-8?q?gment:=20could=20not=20find=20Fragment=20constructor=20?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=B7=B2=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fragment/WeltMapOverViewFragment.kt | 10 ++-- .../sweeper/presenter/SweeperPresenter.java | 49 ++++++++++++------- 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/WeltMapOverViewFragment.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/WeltMapOverViewFragment.kt index ab83288386..051bb545ab 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/WeltMapOverViewFragment.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/WeltMapOverViewFragment.kt @@ -22,7 +22,8 @@ import org.greenrobot.eventbus.ThreadMode /** * 作业任务全览图 */ -class WeltMapOverViewFragment(var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback?) : BaseFragment() { +class WeltMapOverViewFragment() : BaseFragment() { + private var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback? = null override fun getLayoutId(): Int = R.layout.fragment_welt_map_overview override fun getTagName(): String { return "WeltMapOverViewFragment" @@ -31,7 +32,9 @@ class WeltMapOverViewFragment(var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitch override fun initViews() { } - + fun setWeltMapSwitchToSmallCallBack(iWeltMapSwitchToSmallCallback: IWeltMapSwitchToSmallCallback){ + this.mIWeltMapSwitchToSmallCallBack=iWeltMapSwitchToSmallCallback + } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { EventBus.getDefault().register(this) return super.onCreateView(inflater, container, savedInstanceState) @@ -76,7 +79,8 @@ class WeltMapOverViewFragment(var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitch args.putSerializable("weltDataList", weltDataList) args.putSerializable("startAndEndPoint", latLngs) args.putString("progress", progress) - val fragment = WeltMapOverViewFragment(mIWeltMapSwitchToSmallCallBack) + val fragment = WeltMapOverViewFragment() + fragment.setWeltMapSwitchToSmallCallBack(mIWeltMapSwitchToSmallCallBack) fragment.arguments = args return fragment } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java index 5a81e3ec39..dcc0b93cb7 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java @@ -16,6 +16,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; +import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.sweeper.bean.SweeperMainTaskBean; import com.mogo.och.sweeper.bean.SweeperSubTaskBean; import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean; @@ -67,10 +68,13 @@ public class SweeperPresenter extends Presenter private long mVehicleStateCurrentTimeMillis; // 贴边数据回调时间间隔 - private static final long WELT_DATA_INTERVAL_MILLIS = 2000L; + private static final long WELT_DATA_INTERVAL_MILLIS = 1000L; // 贴边数据当前时间戳 private long mWeltDataCurrentTimeMillis; + private String longitude;//经度 + private String latitude;//纬度 + public SweeperPresenter(SweeperFragment view) { super(view); //2021.11.1 鹰眼架构整合,由IMoGoAutopilotStatusListener逐步替代IMogoAdasOCHCallback接口 @@ -298,14 +302,14 @@ public class SweeperPresenter extends Presenter @Override public void onSweeperFutianTaskIndexData(@NonNull RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex roboSweeperTaskIndex) { + if (roboSweeperTaskIndex == null) { + return; + } long current = System.currentTimeMillis(); if (current - mWeltDataCurrentTimeMillis <= WELT_DATA_INTERVAL_MILLIS) { return; } mWeltDataCurrentTimeMillis = current; - if (roboSweeperTaskIndex == null) { - return; - } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("清扫模式:") .append(roboSweeperTaskIndex.getCleanMode()) @@ -320,21 +324,28 @@ public class SweeperPresenter extends Presenter .append("纬度:") .append(roboSweeperTaskIndex.getLocLat()); CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "onSweeperFutianTaskIndexData:" + stringBuilder); - //保存贴边数据到数据库中 - WeltDataBean weltDataBean = new WeltDataBean(); - //把wgs坐标系坐标转换成gcj坐标 - LatLng latLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(AbsMogoApplication.getApp(), roboSweeperTaskIndex.getLocLon(), - roboSweeperTaskIndex.getLocLat()); - weltDataBean.setLocLon(latLng.longitude); - weltDataBean.setLocLat(latLng.latitude); - weltDataBean.setWeltDistance(roboSweeperTaskIndex.getDistToRefEdgePoint()); - weltDataBean.setCleanMode(roboSweeperTaskIndex.getCleanMode()); - weltDataBean.setCleanDirection(roboSweeperTaskIndex.getCleanDirection()); - weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity()); - weltDataBean.setSubTaskId(mSubTaskId); - MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean); - String distance = format(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100); - mView.setWeltDataToMap((ArrayList) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(), true, distance); + String tempLongitude=NumberFormatUtil.cutOutNumber(roboSweeperTaskIndex.getLocLon(), 6); + String tempLatitude=NumberFormatUtil.cutOutNumber(roboSweeperTaskIndex.getLocLat(), 6); + //用于过滤车是否停在原地,经纬度相同的情况 + if (!tempLongitude.equals(longitude)&&!tempLatitude.equals(latitude)){ + latitude = NumberFormatUtil.cutOutNumber(roboSweeperTaskIndex.getLocLat(), 6); + longitude = NumberFormatUtil.cutOutNumber(roboSweeperTaskIndex.getLocLon(), 6); + //保存贴边数据到数据库中 + WeltDataBean weltDataBean = new WeltDataBean(); + //把wgs坐标系坐标转换成gcj坐标 + LatLng latLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(AbsMogoApplication.getApp(), roboSweeperTaskIndex.getLocLon(), + roboSweeperTaskIndex.getLocLat()); + weltDataBean.setLocLon(latLng.longitude); + weltDataBean.setLocLat(latLng.latitude); + weltDataBean.setWeltDistance(roboSweeperTaskIndex.getDistToRefEdgePoint()); + weltDataBean.setCleanMode(roboSweeperTaskIndex.getCleanMode()); + weltDataBean.setCleanDirection(roboSweeperTaskIndex.getCleanDirection()); + weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity()); + weltDataBean.setSubTaskId(mSubTaskId); + MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean); + String distance = format(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100); + mView.setWeltDataToMap((ArrayList) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(), true, distance); + } } public static String format(double value) {