[6.4.6]
[fea] [添加订单过滤条件]
This commit is contained in:
@@ -11,6 +11,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListe
|
|||||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||||
|
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||||
import com.zhjt.mogo.adas.common.MessageType
|
import com.zhjt.mogo.adas.common.MessageType
|
||||||
import com.zhjt.mogo.adas.data.bean.ReceivedAck
|
import com.zhjt.mogo.adas.data.bean.ReceivedAck
|
||||||
@@ -26,8 +27,12 @@ object OchAutoPilotManager : IMoGoReceiveReceivedAckListener {
|
|||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun canStartAutoPilot(lineId: Number?): String {
|
fun canStartAutoPilot(lineId: Number?): String {
|
||||||
return TrajectoryAndDistanceManager.canStartAutopilot(lineId).apply {
|
return TrajectoryAndDistanceManager.canStartAutopilot(lineId).apply {
|
||||||
if(!isNullOrBlank()){
|
if (!isNullOrBlank()) {
|
||||||
// 去启动绘制高精地图上的轨迹
|
// 去启动绘制高精地图上的轨迹
|
||||||
|
val drawGlobalTrajectory = LineManager.drawGlobalTrajectory()
|
||||||
|
if (!drawGlobalTrajectory.first) {
|
||||||
|
ToastUtils.showLong(drawGlobalTrajectory.second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.mogo.och.common.module.manager.autopilot.line;
|
||||||
|
|
||||||
|
|
||||||
|
public interface ILineCallback {
|
||||||
|
default void clearLineSuccess(){}
|
||||||
|
default void drawLineSuccess(){}
|
||||||
|
|
||||||
|
default void drawLineFail(){}
|
||||||
|
}
|
||||||
@@ -1,21 +1,29 @@
|
|||||||
package com.mogo.och.common.module.manager.autopilot.line
|
package com.mogo.och.common.module.manager.autopilot.line
|
||||||
|
|
||||||
object LineManager {
|
import com.mogo.eagle.core.function.call.map.CallerMapGlobalTrajectoryDrawManager
|
||||||
|
import com.mogo.och.common.module.utils.CallerBase
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单中
|
||||||
|
*/
|
||||||
|
object LineManager : CallerBase<ILineCallback>() {
|
||||||
private var lineId: Int = -1
|
private var lineId: Int = -1
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun setLineId(value: Int) {
|
fun setLineId(value: Int) {
|
||||||
if (value < 0) {
|
lineId = if (value < 0) {
|
||||||
lineId = -1
|
clearGlobalTrajectory()
|
||||||
|
-1
|
||||||
} else {
|
} else {
|
||||||
lineId = value
|
value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun setLineId(value: Long) {
|
fun setLineId(value: Long) {
|
||||||
if (value < 0) {
|
lineId = if (value < 0) {
|
||||||
lineId = -1
|
clearGlobalTrajectory()
|
||||||
|
-1
|
||||||
} else {
|
} else {
|
||||||
lineId = value.toInt()
|
value.toInt()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,8 +32,44 @@ object LineManager {
|
|||||||
return lineId
|
return lineId
|
||||||
}
|
}
|
||||||
|
|
||||||
fun haveLine(): Boolean {
|
override fun doSomeAfterAddListener(tag: String, listener: ILineCallback) {
|
||||||
return lineId > 0
|
super.doSomeAfterAddListener(tag, listener)
|
||||||
|
if (hasDrawnGlobalTrajectory()) {
|
||||||
|
listener.drawLineSuccess()
|
||||||
|
}else{
|
||||||
|
listener.drawLineFail()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun hasDrawnGlobalTrajectory(): Boolean {
|
||||||
|
return CallerMapGlobalTrajectoryDrawManager.hasDrawnGlobalTrajectory()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun clearGlobalTrajectory() {
|
||||||
|
CallerMapGlobalTrajectoryDrawManager.clearGlobalTrajectory()
|
||||||
|
if (!hasDrawnGlobalTrajectory()){
|
||||||
|
M_LISTENERS.forEach {
|
||||||
|
it.value.clearLineSuccess()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun drawGlobalTrajectory(): Pair<Boolean, String> {
|
||||||
|
if(lineId<0){
|
||||||
|
return Pair(false,"请设置正确线路或订单")
|
||||||
|
}
|
||||||
|
return CallerMapGlobalTrajectoryDrawManager.drawGlobalTrajectory().apply {
|
||||||
|
if(first){
|
||||||
|
M_LISTENERS.forEach {
|
||||||
|
it.value.drawLineSuccess()
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
M_LISTENERS.forEach {
|
||||||
|
it.value.drawLineFail()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,17 +1,21 @@
|
|||||||
package com.mogo.och.common.module.wigets.map.drawline
|
package com.mogo.och.common.module.wigets.map.drawline
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import androidx.appcompat.widget.AppCompatImageView
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
import com.mogo.eagle.core.function.call.map.CallerMapGlobalTrajectoryDrawManager
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||||
import com.mogo.och.common.module.R
|
import com.mogo.och.common.module.R
|
||||||
|
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class LineView : AppCompatImageView{
|
class LineView : AppCompatImageView, LineViewModel.ILineViewCallback {
|
||||||
|
|
||||||
private val TAG = "VisualView"
|
private val TAG = "LineView"
|
||||||
|
|
||||||
constructor(context: Context) : super(context)
|
constructor(context: Context) : super(context)
|
||||||
|
|
||||||
@@ -31,19 +35,21 @@ class LineView : AppCompatImageView{
|
|||||||
super.onAttachedToWindow()
|
super.onAttachedToWindow()
|
||||||
|
|
||||||
onClick {
|
onClick {
|
||||||
if (CallerMapGlobalTrajectoryDrawManager.hasDrawnGlobalTrajectory()) {
|
if (LineManager.hasDrawnGlobalTrajectory()) {
|
||||||
CallerMapGlobalTrajectoryDrawManager.clearGlobalTrajectory()
|
LineManager.clearGlobalTrajectory()
|
||||||
setImageResource(R.drawable.common_map_line_close)
|
} else {
|
||||||
}else{
|
val drawGlobalTrajectory = LineManager.drawGlobalTrajectory()
|
||||||
val drawGlobalTrajectory = CallerMapGlobalTrajectoryDrawManager.drawGlobalTrajectory()
|
if (!drawGlobalTrajectory.first) {
|
||||||
if(drawGlobalTrajectory.first){
|
|
||||||
setImageResource(R.drawable.common_map_line_open)
|
|
||||||
}else{
|
|
||||||
setImageResource(R.drawable.common_map_line_close)
|
|
||||||
ToastUtils.showLong(drawGlobalTrajectory.second)
|
ToastUtils.showLong(drawGlobalTrajectory.second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val viewModel = findViewTreeViewModelStoreOwner()?.let {
|
||||||
|
ViewModelProvider(it).get(LineViewModel::class.java)
|
||||||
|
}
|
||||||
|
viewModel?.setDistanceCallback(this)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -55,6 +61,9 @@ class LineView : AppCompatImageView{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun setImageViewResource(name: Int) {
|
||||||
|
setImageResource(name)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.mogo.och.common.module.wigets.map.drawline
|
||||||
|
|
||||||
|
import androidx.annotation.DrawableRes
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import com.mogo.och.common.module.R
|
||||||
|
import com.mogo.och.common.module.manager.autopilot.line.ILineCallback
|
||||||
|
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||||
|
|
||||||
|
class LineViewModel : ViewModel(), ILineCallback {
|
||||||
|
|
||||||
|
private val TAG = LineViewModel::class.java.simpleName
|
||||||
|
|
||||||
|
private var viewCallback: ILineViewCallback? = null
|
||||||
|
|
||||||
|
init {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCleared() {
|
||||||
|
super.onCleared()
|
||||||
|
LineManager.removeListener(TAG)
|
||||||
|
this.viewCallback = null
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setDistanceCallback(viewCallback: ILineViewCallback) {
|
||||||
|
LineManager.addListener(TAG,this)
|
||||||
|
this.viewCallback = viewCallback
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun clearLineSuccess() {
|
||||||
|
this.viewCallback?.setImageViewResource(R.drawable.common_map_line_close)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun drawLineSuccess() {
|
||||||
|
this.viewCallback?.setImageViewResource(R.drawable.common_map_line_open)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun drawLineFail() {
|
||||||
|
this.viewCallback?.setImageViewResource(R.drawable.common_map_line_close)
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ILineViewCallback {
|
||||||
|
fun setImageViewResource(@DrawableRes name: Int)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -792,4 +792,9 @@ public class SweeperCloudTaskModel implements IMoGoSweeperFutianCloudTaskListene
|
|||||||
public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) {
|
public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFsmReceiveTimeout(boolean isTimeout) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -469,4 +469,9 @@ public class SweeperOperatePresenter extends Presenter<SweeperOperateFragment>
|
|||||||
@Override
|
@Override
|
||||||
public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) {
|
public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFsmReceiveTimeout(boolean isTimeout) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user