[sweeper运营&云控合并]refactor: 合并Sweeper&SweeperCloud模块,使用不同包名区分,删除SweeperCloud模块,编译通过;
This commit is contained in:
@@ -1,86 +0,0 @@
|
||||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 1,
|
||||
"identityHash": "0897ef4b7b6a43fccf8bcf4b2144dafa",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "welt_data_table",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `subTaskId` INTEGER NOT NULL, `locLon` REAL NOT NULL, `locLat` REAL NOT NULL, `weltDistance` REAL NOT NULL, `cleanMode` INTEGER NOT NULL, `cleanDirection` INTEGER NOT NULL, `cleanIntensity` INTEGER NOT NULL)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "subTaskId",
|
||||
"columnName": "subTaskId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "locLon",
|
||||
"columnName": "locLon",
|
||||
"affinity": "REAL",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "locLat",
|
||||
"columnName": "locLat",
|
||||
"affinity": "REAL",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "weltDistance",
|
||||
"columnName": "weltDistance",
|
||||
"affinity": "REAL",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "cleanMode",
|
||||
"columnName": "cleanMode",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "cleanDirection",
|
||||
"columnName": "cleanDirection",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "cleanIntensity",
|
||||
"columnName": "cleanIntensity",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"id"
|
||||
],
|
||||
"autoGenerate": true
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_welt_data_table_id",
|
||||
"unique": true,
|
||||
"columnNames": [
|
||||
"id"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_welt_data_table_id` ON `${TABLE_NAME}` (`id`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"views": [],
|
||||
"setupQueries": [
|
||||
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
||||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '0897ef4b7b6a43fccf8bcf4b2144dafa')"
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,24 +0,0 @@
|
||||
package com.mogo.och.sweepercloud;
|
||||
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider;
|
||||
|
||||
public
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2021/1/15
|
||||
*
|
||||
* 网约车抽象接口
|
||||
*/
|
||||
interface IMogoOCH extends IMoGoFunctionProvider {
|
||||
|
||||
/**
|
||||
* 初始化网约车容器
|
||||
*
|
||||
* @param activity
|
||||
* @param containerId 容器ID
|
||||
*/
|
||||
void createCoverage(FragmentActivity activity, @IdRes int containerId);
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
package com.mogo.och.sweepercloud;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst;
|
||||
import com.mogo.och.sweepercloud.fragment.SweeperFragment;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* 清扫车业务实现入口
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
@Route(path = SweeperConst.PATH)
|
||||
public class SweeperProvider implements IMogoOCH {
|
||||
|
||||
private static final String TAG = "SweeperProvider";
|
||||
|
||||
private SweeperFragment sweeperFragment;
|
||||
private int containerId;
|
||||
private FragmentActivity activity;
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
}
|
||||
private void showFragment() {
|
||||
FragmentManager supportFragmentManager = activity.getSupportFragmentManager();
|
||||
if (sweeperFragment == null) {
|
||||
CallerLogger.d(TAG, "准备add fragment======");
|
||||
Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(sweeperFragment.TAG);
|
||||
if (fragmentByTag instanceof SweeperFragment) {
|
||||
sweeperFragment = (SweeperFragment) fragmentByTag;
|
||||
} else {
|
||||
sweeperFragment = new SweeperFragment();
|
||||
}
|
||||
if(!sweeperFragment.isAdded()) {
|
||||
supportFragmentManager.beginTransaction().add(containerId, sweeperFragment, sweeperFragment.TAG).commitAllowingStateLoss();
|
||||
}
|
||||
return;
|
||||
}
|
||||
CallerLogger.d(TAG, "准备show fragment");
|
||||
supportFragmentManager.beginTransaction().show(sweeperFragment).commitAllowingStateLoss();
|
||||
}
|
||||
private void hideFragment() {
|
||||
if (sweeperFragment != null) {
|
||||
CallerLogger.d(TAG, "准备hide fragment");
|
||||
activity.getSupportFragmentManager().beginTransaction().hide(sweeperFragment).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createCoverage(FragmentActivity activity, int containerId) {
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getFunctionName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Fragment createCoverage(@Nullable FragmentActivity fragmentActivity, @Nullable Integer integer) {
|
||||
this.containerId = integer;
|
||||
this.activity = fragmentActivity;
|
||||
showFragment();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
//若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
|
||||
if (activity == null) return;
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by pangfan on 2021/8/19
|
||||
*
|
||||
* 订单状态更新请求数据结构
|
||||
*/
|
||||
public class SweeperRoutePlanningUpdateReqBean implements Serializable {
|
||||
public String sn;
|
||||
public int lineId;
|
||||
public int startSiteId;
|
||||
public int endSiteId;
|
||||
public ArrayList<Result> points;
|
||||
|
||||
public static class Result implements Serializable{
|
||||
public Double latitude;
|
||||
public Double longitude;
|
||||
}
|
||||
|
||||
public SweeperRoutePlanningUpdateReqBean(String sn, int lineId, int startSiteId
|
||||
, int endSiteId, ArrayList<Result> points) {
|
||||
this.sn = sn;
|
||||
this.lineId = lineId;
|
||||
this.startSiteId = startSiteId;
|
||||
this.endSiteId = endSiteId;
|
||||
this.points = points;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.callback
|
||||
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ISweeperTaskRouteCallback {
|
||||
fun setRouteList(routeList:ArrayList<SweeperRoutePlanningUpdateReqBean.Result>)
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.database;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweepercloud.database.dao.WeltDataDao;
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweepercloud.database.dao.WeltDataDao;
|
||||
|
||||
import androidx.room.Database;
|
||||
import androidx.room.Room;
|
||||
import androidx.room.RoomDatabase;
|
||||
|
||||
//注解Database告诉系统这是Room数据库对象
|
||||
//entities指定该数据库有哪些表,多张表就逗号分隔
|
||||
//version指定数据库版本号,升级时需要用到
|
||||
//数据库继承自RoomDatabase
|
||||
@Database(entities = {WeltDataBean.class}, version = 1)
|
||||
public abstract class MyDataBase extends RoomDatabase {
|
||||
private static final String DATABASE_NAME = "weltData_db";
|
||||
|
||||
//结合单例模式完成数据库实例创建
|
||||
public static MyDataBase getInstance() {
|
||||
return SingleTon.instance;
|
||||
}
|
||||
|
||||
private static class SingleTon {
|
||||
private static final MyDataBase instance =
|
||||
Room.databaseBuilder(AbsMogoApplication.getApp().getApplicationContext(), MyDataBase.class, DATABASE_NAME).build();
|
||||
}
|
||||
public abstract WeltDataDao getWeltDataDao();
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.receiver;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst;
|
||||
|
||||
/**
|
||||
* 测试小巴车的场景
|
||||
*
|
||||
* @author donghongyu
|
||||
* @date 4/26/21 12:08 PM
|
||||
*/
|
||||
public class TestSweeperBroadcastReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = "TestBusBroadcastReceiver";
|
||||
|
||||
private Context mContext;
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
try {
|
||||
this.mContext = context;
|
||||
int sceneType = intent.getIntExtra(SweeperConst.BROADCAST_TEST_SWEEPER_CONTROL_TYPE_EXTRA_KEY, 0);
|
||||
CallerLogger.d(M_BUS + TAG, "sceneType:" + sceneType);
|
||||
|
||||
// 分发场景
|
||||
dispatchSceneTest(sceneType);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void dispatchSceneTest(int sceneType) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import kotlinx.android.synthetic.main.sweeper_item_legend.view.*
|
||||
|
||||
/**
|
||||
* 任务路线全览图图例
|
||||
*/
|
||||
class LegendItemView:LinearLayout {
|
||||
constructor(context: Context) : super(context) {}
|
||||
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
|
||||
initView(context)
|
||||
}
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {}
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {}
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_item_legend, this)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置数据
|
||||
*/
|
||||
fun setData(resId:Int,text:String){
|
||||
sweeperLegendIcon.setImageResource(resId)
|
||||
sweeperLegendText.text = text
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import com.mogo.eagle.core.data.enums.DataSourceType
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.LimitingVelocityView_TAG
|
||||
import com.mogo.eagle.core.function.api.datacenter.union.ILimitingVelocityListener
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import kotlinx.android.synthetic.main.sweeper_limiting_speed.view.*
|
||||
|
||||
class SweeperLimitingVelocityView(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
) : LinearLayout(context, attrs), ILimitingVelocityListener, IViewControlListener {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "SweeperLimitingVelocityView"
|
||||
}
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_limiting_speed, this, true)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerLimitingVelocityListenerManager.addListener(TAG, this)
|
||||
CallerHmiViewControlListenerManager.addListener(LimitingVelocityView_TAG, this)
|
||||
}
|
||||
|
||||
override fun onLimitingVelocityChange(limitingVelocity: Int, sourceType: DataSourceType) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
if (limitingVelocity > 0) {
|
||||
this.visibility = View.VISIBLE
|
||||
tvLimitingVelocity.text = "$limitingVelocity"
|
||||
} else {
|
||||
this.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visible(v: Int) {
|
||||
super.visible(v)
|
||||
this.visibility = v
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
CallerLimitingVelocityListenerManager.removeListener(TAG)
|
||||
CallerHmiViewControlListenerManager.removeListener(LimitingVelocityView_TAG)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
|
||||
import android.animation.AnimatorSet
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import chassis.Chassis
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import kotlinx.android.synthetic.main.sweeper_turn_signal.view.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class TurnSignalView : LinearLayout {
|
||||
constructor(context: Context?) : super(context) {}
|
||||
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
|
||||
initView(context)
|
||||
}
|
||||
|
||||
private var init: Boolean = false
|
||||
|
||||
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
||||
context,
|
||||
attrs,
|
||||
defStyleAttr
|
||||
) {
|
||||
}
|
||||
|
||||
constructor(
|
||||
context: Context?,
|
||||
attrs: AttributeSet?,
|
||||
defStyleAttr: Int,
|
||||
defStyleRes: Int
|
||||
) : super(context, attrs, defStyleAttr, defStyleRes) {
|
||||
}
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_turn_signal, this)
|
||||
init = true
|
||||
}
|
||||
|
||||
/**
|
||||
* 转向灯动画
|
||||
*/
|
||||
fun setTurnLight(directionLight: Chassis.LightSwitch?) {
|
||||
GlobalScope.launch(Dispatchers.Main) {
|
||||
if (!init) {
|
||||
return@launch
|
||||
}
|
||||
//根据左右进行显示和隐藏,实际要判断每个来的时间和频度
|
||||
when (directionLight) {
|
||||
Chassis.LightSwitch.LIGHT_LEFT -> { //左转向
|
||||
leftSelectImage.visibility = View.VISIBLE
|
||||
rightSelectImage.visibility = View.GONE
|
||||
rightSelectImage.clearAnimation()
|
||||
setAnimation(leftSelectImage)
|
||||
}
|
||||
Chassis.LightSwitch.LIGHT_RIGHT -> { //右转向
|
||||
leftSelectImage.visibility = View.GONE
|
||||
rightSelectImage.visibility = View.VISIBLE
|
||||
leftSelectImage.clearAnimation()
|
||||
setAnimation(rightSelectImage)
|
||||
}
|
||||
else -> { //消失
|
||||
leftSelectImage.clearAnimation()
|
||||
rightSelectImage.clearAnimation()
|
||||
leftSelectImage.visibility = View.GONE
|
||||
rightSelectImage.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//实现图片闪烁效果
|
||||
private fun setAnimation(imageView: ImageView) {
|
||||
val animationSet = AnimatorSet()
|
||||
val valueAnimator = ObjectAnimator.ofFloat(imageView, "alpha", 0f, 1.0f)
|
||||
val valueAnimatorDisappare = ObjectAnimator.ofFloat(imageView, "alpha", 1.0f, 0f)
|
||||
valueAnimator.duration = 1000
|
||||
valueAnimatorDisappare.duration = 800
|
||||
valueAnimator.repeatCount = -1
|
||||
valueAnimatorDisappare.repeatCount = -1
|
||||
animationSet.playTogether(valueAnimatorDisappare, valueAnimator)
|
||||
animationSet.start()
|
||||
}
|
||||
}
|
||||
@@ -1,342 +0,0 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.amap.api.maps.AMap
|
||||
import com.amap.api.maps.CameraUpdateFactory
|
||||
import com.amap.api.maps.model.*
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweepercloud.util.SweeperMapAssetStyleUtil
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_map_overview.view.*
|
||||
|
||||
|
||||
/**
|
||||
* 作业任务全览图
|
||||
*/
|
||||
class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
private var mTaskCoordinatesLatLng: MutableList<LatLng> = mutableListOf() //当前大任务的所有起终点集合
|
||||
private var mCarMarker: Marker? = null
|
||||
private var mAMap: AMap? = null
|
||||
private var mWeltPolylines: Polyline? = null
|
||||
private var mRoutePolylines: Polyline?=null
|
||||
// private val mLineMarkers: MutableList<Marker?> = mutableListOf()
|
||||
private var mEndStationMarker: Marker? = null
|
||||
private var mFirst: Boolean = false
|
||||
|
||||
//清扫车任务地图
|
||||
private val TAG = "WeltMapOverView"
|
||||
|
||||
constructor(context: Context) : super(context) {}
|
||||
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
|
||||
initView(context)
|
||||
}
|
||||
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {}
|
||||
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {}
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_welt_map_overview, this)
|
||||
initAMapView()
|
||||
// 注册定位监听
|
||||
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this)
|
||||
CallerChassisLocationGCJ02ListenerManager.setListenerHz(TAG,5)
|
||||
}
|
||||
|
||||
private fun initAMapView() {
|
||||
mAMap = sweeperTextureMapView.map
|
||||
// 地图文字标注
|
||||
mAMap?.showMapText(true)
|
||||
//显示3D建筑物
|
||||
mAMap?.showBuildings(true)
|
||||
// 设置导航地图模式,aMap是地图控制器对象。
|
||||
mAMap?.mapType = AMap.MAP_TYPE_NIGHT
|
||||
// 关闭显示实时路况图层,aMap是地图控制器对象。
|
||||
mAMap?.isTrafficEnabled = false
|
||||
// 设置 锚点 图标
|
||||
mCarMarker = mAMap?.addMarker(
|
||||
MarkerOptions()
|
||||
.icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_car_big))
|
||||
.anchor(0.5f, 0.5f)
|
||||
)
|
||||
// 设置地图的样式
|
||||
val uiSettings = mAMap?.uiSettings
|
||||
uiSettings?.isZoomControlsEnabled = false // 地图缩放级别的交换按钮
|
||||
uiSettings?.setAllGesturesEnabled(false) // 所有手势
|
||||
uiSettings?.isMyLocationButtonEnabled = false // 显示默认的定位按钮
|
||||
uiSettings?.setLogoBottomMargin(-150) //设置Logo下边界距离屏幕底部的边距,设置为负值即可
|
||||
// 加载自定义样式
|
||||
val customMapStyleOptions = CustomMapStyleOptions()
|
||||
.setEnable(true)
|
||||
.setStyleData(SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
|
||||
.setStyleExtraData(SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data"))
|
||||
// 设置自定义样式
|
||||
mAMap?.setCustomMapStyle(customMapStyleOptions)
|
||||
//mAMap?.moveCamera(CameraUpdateFactory.zoomTo(15f))
|
||||
mAMap?.setOnMapLoadedListener(AMap.OnMapLoadedListener {
|
||||
//mAMap?.moveCamera(CameraUpdateFactory.zoomTo(15f))
|
||||
CallerLogger.d(SceneConstant.M_SWEEPER + TAG, "WeltView---onMapLoaded")
|
||||
// 加载自定义样式
|
||||
val customMapStyleOptions = CustomMapStyleOptions()
|
||||
.setEnable(true)
|
||||
.setStyleData(SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
|
||||
.setStyleExtraData(SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data"))
|
||||
// 设置自定义样式
|
||||
mAMap?.setCustomMapStyle(customMapStyleOptions)
|
||||
// 实时路况图层关闭,必须添加在loaded结束之后,其他位置不生效
|
||||
mAMap?.isTrafficEnabled = false
|
||||
mAMap?.showBuildings(true)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加画线颜色值
|
||||
*/
|
||||
private fun getRouteColorList(weltData: MutableList<WeltDataBean>):MutableList<Int> {
|
||||
val colorList= mutableListOf<Int>()
|
||||
var nextWeltDataBean:WeltDataBean?=null
|
||||
for (i in weltData.indices) {
|
||||
val weltDataBean = weltData[i]
|
||||
if(i+1<weltData.size){
|
||||
nextWeltDataBean = weltData[i+1]
|
||||
val calculateLineDistance = CoordinateUtils.calculateLineDistance(
|
||||
nextWeltDataBean.locLon, nextWeltDataBean.locLat,
|
||||
weltDataBean.locLon, weltDataBean.locLat
|
||||
)
|
||||
// 大于10m
|
||||
if(calculateLineDistance>10){
|
||||
colorList.add(Color.TRANSPARENT)
|
||||
continue
|
||||
}
|
||||
}
|
||||
if (weltDataBean.weltDistance == SweeperConst.NONWELT) {//非贴边
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299))
|
||||
} else if (weltDataBean.weltDistance < 0) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101))
|
||||
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 0.1) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_4dffa4))
|
||||
} else if (weltDataBean.weltDistance >= 0.1 && weltDataBean.weltDistance < 0.2) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ffdd4d))
|
||||
} else if (weltDataBean.weltDistance >= 0.2) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ff912b))
|
||||
}
|
||||
}
|
||||
return colorList
|
||||
}
|
||||
|
||||
override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) {
|
||||
ThreadUtils.getSinglePool().run {
|
||||
mogoLocation?.let { gnssInfo ->
|
||||
val currentLatLng = LatLng(gnssInfo.latitude, gnssInfo.longitude)
|
||||
//更新车辆位置
|
||||
mCarMarker?.rotateAngle = (360 - gnssInfo.heading).toFloat()
|
||||
mCarMarker?.position = currentLatLng
|
||||
mCarMarker?.setToTop()
|
||||
//圈定地图显示范围
|
||||
val boundsBuilder = LatLngBounds.Builder()
|
||||
if (mTaskCoordinatesLatLng.size > 0) {
|
||||
//存放经纬度
|
||||
for (i in mTaskCoordinatesLatLng.indices) {
|
||||
val latLng = mTaskCoordinatesLatLng[i]
|
||||
boundsBuilder.include(latLng)
|
||||
}
|
||||
}
|
||||
mRoutePolylines?.points?.forEach {latLng->
|
||||
boundsBuilder.include(latLng)
|
||||
}
|
||||
boundsBuilder.include(currentLatLng)
|
||||
mAMap?.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(), 100, 100, 100, 100))
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据贴边数据绘制任务路线
|
||||
*/
|
||||
fun drawablePolyline(weltDatas: MutableList<WeltDataBean>?) {
|
||||
weltDatas?.let {
|
||||
val colorList=getRouteColorList(it)
|
||||
val coordinatesLatLngs= mutableListOf<LatLng>()
|
||||
for (i in it.indices) {
|
||||
coordinatesLatLngs.add(LatLng(it[i].locLat,it[i].locLon))
|
||||
}
|
||||
if (coordinatesLatLngs.size > 2) {
|
||||
//设置线段纹理
|
||||
mWeltPolylines?.remove()
|
||||
val polylineOptions = PolylineOptions()
|
||||
polylineOptions.addAll(coordinatesLatLngs)
|
||||
polylineOptions.width(14f) //线段宽度
|
||||
polylineOptions.isUseTexture = false
|
||||
polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapSquare)
|
||||
polylineOptions.colorValues(colorList)
|
||||
polylineOptions.visible(true)
|
||||
// 绘制线
|
||||
mWeltPolylines = mAMap?.addPolyline(polylineOptions)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 绘制起点和终点的marker
|
||||
*/
|
||||
private fun drawStartAndEndMarker(startPoint: LatLng, endPoint: LatLng) {
|
||||
// val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_start_maker_icon)))
|
||||
// startMarker?.position = startPoint
|
||||
// mLineMarkers.add(startMarker)
|
||||
// val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
|
||||
// endMarker?.position = endPoint
|
||||
// mLineMarkers.add(endMarker)
|
||||
}
|
||||
|
||||
private fun drawEndMarker(endPoint: LatLng){
|
||||
mEndStationMarker?.remove()
|
||||
mEndStationMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
|
||||
mEndStationMarker?.position = endPoint
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除所有标记和路线
|
||||
*/
|
||||
fun clearAllMarkerAndPolyline() {
|
||||
// for (i in mLineMarkers.indices) {
|
||||
// mLineMarkers[i]?.isVisible = false
|
||||
// mLineMarkers[i]?.remove()
|
||||
// }
|
||||
mEndStationMarker?.remove()
|
||||
mWeltPolylines?.remove()
|
||||
mRoutePolylines?.remove()
|
||||
// mLineMarkers.clear()
|
||||
//mFirst = false
|
||||
//showOrHiddenLegendData(false)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置贴边数据
|
||||
*/
|
||||
fun setWeltData(weltDatas: MutableList<WeltDataBean>?, isWeltData: Boolean, distance: String?) {
|
||||
drawablePolyline(weltDatas)
|
||||
ThreadUtils.runOnUiThread {
|
||||
distance?.let {
|
||||
setDistance(it)
|
||||
}
|
||||
}
|
||||
//if (!mFirst && isWeltData) {
|
||||
// mFirst = true
|
||||
// showOrHiddenLegendData(true)
|
||||
//}
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务轨迹数据
|
||||
*/
|
||||
fun setRouteList(routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
val routeCoordinatesLatLngs= mutableListOf<LatLng>()
|
||||
for (i in routeList.indices) {
|
||||
routeCoordinatesLatLngs.add(LatLng(routeList[i].latitude,routeList[i].longitude))
|
||||
}
|
||||
ThreadUtils.runOnUiThread {
|
||||
drawRouteListPolyline(routeCoordinatesLatLngs)
|
||||
}
|
||||
}
|
||||
|
||||
private fun drawRouteListPolyline(routeList: MutableList<LatLng>) {
|
||||
mRoutePolylines?.remove()
|
||||
val polylineOptions = PolylineOptions()
|
||||
polylineOptions.width(14f) //线段宽度
|
||||
polylineOptions.isUseTexture = false
|
||||
polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapSquare)
|
||||
polylineOptions.color(ContextCompat.getColor(context,R.color.sweeper_3ba1cc))
|
||||
polylineOptions.addAll(routeList)
|
||||
polylineOptions.visible(true)
|
||||
mRoutePolylines=mAMap?.addPolyline(polylineOptions)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前大任务的所有子任务起终点集合
|
||||
*/
|
||||
fun setTaskListCoordinatesLatLng(coordinatesLatLng: MutableList<LatLng>) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
this.mTaskCoordinatesLatLng = coordinatesLatLng
|
||||
if (mTaskCoordinatesLatLng.size > 0) {
|
||||
drawStartAndEndMarker(mTaskCoordinatesLatLng[0], mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1])
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 设置当前任务终点
|
||||
*/
|
||||
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
drawEndMarker(coordinatesLatLng)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置图例数据
|
||||
*/
|
||||
private fun showOrHiddenLegendData(isShow: Boolean) {
|
||||
groupLegend.visibility = if (isShow) View.VISIBLE else View.GONE
|
||||
sweeperLegend1.setData(R.drawable.sweeper_legend1, "a<0")
|
||||
sweeperLegend2.setData(R.drawable.sweeper_legend2, "0≤a<10")
|
||||
sweeperLegend3.setData(R.drawable.sweeper_legend3, "10≤a<20")
|
||||
sweeperLegend4.setData(R.drawable.sweeper_legend4, "a≥20")
|
||||
sweeperLegend5.setData(R.drawable.sweeper_legend5, "非贴边")
|
||||
sweeperLegend6.setData(R.drawable.sweeper_legend6, "未经过")
|
||||
}
|
||||
|
||||
private fun setDistance(distance: String) {
|
||||
taskWeltDistanceTv.text="贴边:${distance}"
|
||||
}
|
||||
|
||||
fun setProgress(progress: String?) {
|
||||
progress?.let {
|
||||
if ("0" == progress) {
|
||||
taskProgressTv.visibility = View.GONE
|
||||
taskWeltDistanceTv.visibility = View.GONE
|
||||
showOrHiddenLegendData(false)
|
||||
} else {
|
||||
taskProgressTv.visibility = View.VISIBLE
|
||||
taskWeltDistanceTv.visibility = View.VISIBLE
|
||||
taskProgressTv.text = it
|
||||
showOrHiddenLegendData(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
fun onCreateView(savedInstanceState: Bundle?) {
|
||||
sweeperTextureMapView.onCreate(savedInstanceState)
|
||||
}
|
||||
|
||||
fun onResume() {
|
||||
sweeperTextureMapView.onResume()
|
||||
}
|
||||
|
||||
fun onPause() {
|
||||
sweeperTextureMapView.onPause()
|
||||
}
|
||||
|
||||
fun onDestroy() {
|
||||
sweeperTextureMapView.onDestroy()
|
||||
}
|
||||
|
||||
fun getSweeperSwitchToSmall(): ImageView {
|
||||
return sweeperSwitchToSmall
|
||||
}
|
||||
}
|
||||
@@ -1,298 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.mogo.och.sweepercloud.view.NoTouchConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="@dimen/dp_957"
|
||||
android:layout_height="@dimen/dp_758"
|
||||
android:background="@drawable/bg_sweeper_operate_panel"
|
||||
android:id="@+id/work_mode_panel_root_view">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/hint_clean_open"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_48"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:text="车辆准备"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_work_open_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="打开"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_open" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/hint_clean_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_48"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:paddingStart="@dimen/dp_90"
|
||||
android:text="作业模式"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/btn_clean_work_open_close" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_mode_pure_sweep"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="纯扫"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_mode" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_mode_pure_wash"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_46"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="纯洗"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toEndOf="@+id/btn_clean_mode_pure_sweep"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_mode" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_mode_sweep_wash"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_46"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="洗扫"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toEndOf="@+id/btn_clean_mode_pure_wash"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_mode" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_mode_pure_absorption"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_46"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="纯吸"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toEndOf="@+id/btn_clean_mode_sweep_wash"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_mode" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/clean_mode_barrier"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="bottom"
|
||||
app:constraint_referenced_ids="hint_clean_mode, btn_clean_mode_pure_sweep, btn_clean_mode_pure_wash, btn_clean_mode_sweep_wash, btn_clean_mode_pure_absorption" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/hint_clean_direction"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_48"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:text="清扫方向"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/clean_mode_barrier" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_direction_left_side"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="左侧"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/hint_clean_direction" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_direction_right_side"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="右侧"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toEndOf="@+id/btn_clean_direction_left_side"
|
||||
app:layout_constraintTop_toBottomOf="@+id/hint_clean_direction" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_direction_both_side"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="两侧"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toEndOf="@+id/btn_clean_direction_right_side"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_direction" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/clean_direction_barrier"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="bottom"
|
||||
app:constraint_referenced_ids="hint_clean_direction, btn_clean_direction_left_side, btn_clean_direction_right_side, btn_clean_direction_both_side" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/hint_clean_intensity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_48"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:text="作业强度"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/clean_direction_barrier" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_intensity_standard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="标准"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_intensity" />
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/btn_clean_intensity_strong"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:layout_marginTop="@dimen/dp_17"
|
||||
android:background="@drawable/sweeper_operate_panel_btn2_bg_selector"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/dp_48"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_48"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="强力"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size"
|
||||
app:layout_constraintLeft_toRightOf="@id/btn_clean_intensity_standard"
|
||||
app:layout_constraintTop_toBottomOf="@id/hint_clean_intensity" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/loading_hint_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/bg_sweeper_operate_panel"
|
||||
app:tint="#88000000"
|
||||
android:scaleType="fitXY"/>
|
||||
<TextView
|
||||
android:id="@+id/loading_hint"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:text="30s"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="@dimen/sweeper_operate_panel_btn_text_size" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/loading_view"
|
||||
android:layout_width="@dimen/dp_140"
|
||||
android:layout_height="@dimen/dp_140"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/sweeper_loading_nor" />
|
||||
</FrameLayout>
|
||||
</com.mogo.och.sweepercloud.view.NoTouchConstraintLayout>
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.mogo.och.sweepercloud.ui.SweeperOperatePanelView
|
||||
android:id="@+id/SweeperOperatePanelView"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
</com.mogo.och.sweepercloud.ui.SweeperOperatePanelView>
|
||||
@@ -1,114 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-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:tools="http://schemas.android.com/tools">
|
||||
<com.amap.api.maps.TextureMapView
|
||||
android:id="@+id/sweeperTextureMapView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperSwitchToSmall"
|
||||
android:layout_width="@dimen/dp_127"
|
||||
android:layout_height="@dimen/dp_127"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:src="@drawable/sweeper_full_screen_icon"
|
||||
android:layout_marginEnd="@dimen/dp_23"
|
||||
android:layout_marginTop="@dimen/dp_23"
|
||||
android:padding="@dimen/dp_27"/>
|
||||
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout
|
||||
android:id="@+id/groupLegend"
|
||||
android:layout_width="@dimen/dp_380"
|
||||
android:layout_height="@dimen/dp_573"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_80"
|
||||
android:layout_marginEnd="@dimen/dp_80"
|
||||
app:roundLayoutRadius="@dimen/dp_16"
|
||||
android:background="#0E1D38"
|
||||
android:visibility="gone">
|
||||
<TextView
|
||||
android:id="@+id/taskProgressTv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
tools:text="进度:60%"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="#3f69d9"
|
||||
android:textColor="@android:color/white"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp"
|
||||
android:textSize="@dimen/dp_34"
|
||||
app:layout_constraintWidth_percent="0.3"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/taskWeltDistanceTv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
tools:text="贴边:--cm"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:background="#3d98c7"
|
||||
android:textColor="@android:color/white"
|
||||
app:layout_constraintStart_toEndOf="@+id/taskProgressTv"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:gravity="center"
|
||||
app:layout_constraintWidth_percent="0.7"
|
||||
android:visibility="gone"/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
app:layout_constraintTop_toBottomOf="@+id/taskProgressTv"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperLegend1"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperLegend2"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend4"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperLegend3"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperLegend4"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
<com.mogo.och.sweepercloud.view.LegendItemView
|
||||
android:id="@+id/sweeperLegend6"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperLegend5"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
</com.mogo.och.common.module.wigets.OCHRoundConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.mogo.och.common.module.wigets.OCHBorderShadowLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/clWorkMode"
|
||||
android:layout_width="@dimen/dp_616"
|
||||
android:layout_height="@dimen/dp_207"
|
||||
app:bgColor="#00000000"
|
||||
app:blurRadius="@dimen/dp_28"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:shadowColor="#80121526"
|
||||
app:shadowRadius="@dimen/dp_30"
|
||||
app:shadow_position="outer"
|
||||
app:xOffset="0dp"
|
||||
app:yOffset="0dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_shape_task_panel">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_36"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:text="当前上装模式:"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/groupWorkModelPanel"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="@+id/tvTitle"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTitle">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCleaningMode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_10"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:paddingBottom="@dimen/dp_2"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_34"
|
||||
tools:text="纯扫模式" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCleaningDirection"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_10"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:paddingBottom="@dimen/dp_2"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_34"
|
||||
tools:text="左侧" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCleaningIntensity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_10"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:paddingBottom="@dimen/dp_2"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_34"
|
||||
tools:text="标准" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivOpenOperatePanel"
|
||||
android:layout_width="@dimen/dp_54"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:src="@drawable/sweeper_clean_mode_icon"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvNoDataDesc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_36"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTitle"
|
||||
tools:text="暂无" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.mogo.och.common.module.wigets.OCHBorderShadowLayout>
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<application>
|
||||
<!--这里是为了测试增加的广播-->
|
||||
<receiver android:name=".receiver.TestSweeperBroadcastReceiver">
|
||||
<receiver android:name=".common.receiver.TestSweeperBroadcastReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="com.bus.test_control" />
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.sweeper.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.fragment.SweeperFragment;
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.operate.fragment.SweeperFragment;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package com.mogo.och.sweeper.callback;
|
||||
|
||||
import com.mogo.och.sweeper.constant.OperateStateEnum;
|
||||
|
||||
import chassis.ChassisStatesOuterClass;
|
||||
|
||||
/**
|
||||
* 上装状态回调
|
||||
*/
|
||||
public interface ICleaningModeStateCallback {
|
||||
void cleaningModeState(OperateStateEnum cleaningModeState, ChassisStatesOuterClass.SweeperFuTianTaskSystemStates cleanSystemState,boolean isSelectPureSweepMode);
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package com.mogo.och.sweeper.callback;
|
||||
|
||||
/**
|
||||
* Created on 2021/9/8
|
||||
*
|
||||
* Model->Presenter回调:ADAS相关(自动驾驶状态回调,到达终点等等)
|
||||
*/
|
||||
public interface ISweeperADASStatusCallback {
|
||||
//自驾返回失败
|
||||
void onStartAdasFailure();
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.mogo.och.sweeper.callback
|
||||
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ISweeperTaskDataToFragmentCallback {
|
||||
fun setRouteList(routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>)
|
||||
fun setWeltData(weltDatas: ArrayList<WeltDataBean>?, distance: String)
|
||||
fun clearAllMarkerAndPolyline()
|
||||
fun setProgress(progress:String)
|
||||
fun setTaskListCoordinatesLatLng(coordinatesLatLng: ArrayList<LatLng>)
|
||||
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng)
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package com.mogo.och.sweeper.callback
|
||||
|
||||
interface IWeltMapSwitchToSmallCallback {
|
||||
fun onWeltMapSwitchToSmall()
|
||||
}
|
||||
@@ -1,17 +1,13 @@
|
||||
package com.mogo.och.sweepercloud.callback
|
||||
package com.mogo.och.sweeper.cloud.callback
|
||||
|
||||
import chassis.ChassisStatesOuterClass
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootableResp
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.Code
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.ActionType
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionPush
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop.StopTaskType
|
||||
|
||||
/**
|
||||
@@ -62,7 +58,7 @@ interface ISweeperCloudTaskCallback {
|
||||
/**
|
||||
* 设置轨迹坐标点集合
|
||||
*/
|
||||
fun setRouteList(routeList: java.util.ArrayList<SweeperRoutePlanningUpdateReqBean.Result>)
|
||||
fun setRouteList(routeList: java.util.ArrayList<com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean.Result>)
|
||||
/**
|
||||
* 贴边数据回传
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.callback;
|
||||
package com.mogo.och.sweeper.cloud.callback;
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.callback
|
||||
package com.mogo.och.sweeper.cloud.callback
|
||||
|
||||
interface SweeperCloudDialogClickListener {
|
||||
fun onConfirm()
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.fragment;
|
||||
package com.mogo.och.sweeper.cloud.fragment;
|
||||
|
||||
import static com.mogo.map.MogoMap.DEFAULT;
|
||||
|
||||
@@ -41,15 +41,15 @@ import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.map.uicontroller.VisualAngleMode;
|
||||
import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager;
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil;
|
||||
import com.mogo.och.sweepercloud.R;
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperTaskDataToFragmentCallback;
|
||||
import com.mogo.och.sweepercloud.callback.IWeltMapSwitchToSmallCallback;
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweepercloud.util.AutopilotModeConfigManager;
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils;
|
||||
import com.mogo.och.sweepercloud.view.SweeperTrafficDataView;
|
||||
import com.mogo.och.sweepercloud.view.WeltSmallMapView;
|
||||
import com.mogo.och.sweeper.R;
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback;
|
||||
import com.mogo.och.sweeper.operate.callback.IWeltMapSwitchToSmallCallback;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.cloud.util.AutopilotModeConfigManager;
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils;
|
||||
import com.mogo.och.sweeper.cloud.view.SweeperTrafficDataView;
|
||||
import com.mogo.och.sweeper.common.view.WeltSmallMapView;
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -101,7 +101,7 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.sweeper_base_fragment;
|
||||
return R.layout.sweeper_cloud_base_fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.fragment;
|
||||
package com.mogo.och.sweeper.cloud.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.fragment;
|
||||
package com.mogo.och.sweeper.cloud.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@@ -43,21 +43,21 @@ public class SweeperAmapNaviFragment extends BaseSweeperUIFragment implements AM
|
||||
protected void initViews(Bundle savedInstanceState) {
|
||||
super.initViews(savedInstanceState);
|
||||
if (mAMapNaviView != null)
|
||||
mAMapNaviView.onCreate(savedInstanceState);
|
||||
mAMapNaviView.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (mAMapNaviView != null)
|
||||
mAMapNaviView.onResume();
|
||||
mAMapNaviView.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
if (mAMapNaviView != null)
|
||||
mAMapNaviView.onPause();
|
||||
mAMapNaviView.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.fragment
|
||||
package com.mogo.och.sweeper.cloud.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
@@ -16,24 +16,22 @@ import com.mogo.map.overlay.core.Level
|
||||
import com.mogo.map.overlay.point.Point
|
||||
import com.mogo.och.common.module.utils.OCHThreadPoolManager
|
||||
import com.mogo.och.common.module.voice.VoiceNotice.showNotice
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst.Companion.TYPE_MARKER_SWEEPER_SUBTASK_START_END
|
||||
import com.mogo.och.sweepercloud.database.MyDataBase
|
||||
import com.mogo.och.sweepercloud.presenter.SweeperPresenter
|
||||
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog
|
||||
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudLoadingDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createConfirmStartSubTaskDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createReceivedBigTaskInfoDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskEndDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskExceptionEndDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskNormalEndDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskResumeDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskSuspendDialog
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.printMessage
|
||||
import com.mogo.och.sweepercloud.view.SweeperCurrentTaskInfoView
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst.Companion.TYPE_MARKER_SWEEPER_SUBTASK_START_END
|
||||
import com.mogo.och.sweeper.common.database.MyDataBase
|
||||
import com.mogo.och.sweeper.cloud.presenter.SweeperPresenter
|
||||
import com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog
|
||||
import com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudLoadingDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createConfirmStartSubTaskDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createReceivedBigTaskInfoDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createSweeperTaskEndDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createSweeperTaskExceptionEndDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createSweeperTaskNormalEndDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createSweeperTaskResumeDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.createSweeperTaskSuspendDialog
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.printMessage
|
||||
import com.mogo.och.sweeper.cloud.view.SweeperCurrentTaskInfoView
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||
@@ -44,8 +42,8 @@ import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskModel
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop
|
||||
import kotlinx.android.synthetic.main.fragment_och_sweeper.*
|
||||
import kotlinx.android.synthetic.main.sweeper_no_data_common_view.*
|
||||
import kotlinx.android.synthetic.main.fragment_och_sweeper_cloud.*
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_no_data_common_view.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@@ -92,7 +90,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
|
||||
override fun getTaskListPanelViewId(): Int {
|
||||
return R.layout.fragment_och_sweeper
|
||||
return R.layout.fragment_och_sweeper_cloud
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -378,7 +376,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
ToastUtils.showLong("任务已结束")
|
||||
} else {
|
||||
// 产品确认有弹框时不需要同步弹toast, 只需有TTS
|
||||
mDialog = createSweeperTaskEndDialog(context, object : SweeperCloudDialogClickListener {
|
||||
mDialog = createSweeperTaskEndDialog(context, object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_CONFIRM)
|
||||
// mLoadingDialog.showLoading()
|
||||
@@ -420,7 +418,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
* 大任务结束弹窗
|
||||
*/
|
||||
private fun sweeperCloudTaskNormalEndDialog(): SweeperCloudDialog? {
|
||||
return createSweeperTaskNormalEndDialog(context, object : SweeperCloudDialogClickListener {
|
||||
return createSweeperTaskNormalEndDialog(context, object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// ToastUtils.showLong("任务已结束")
|
||||
// resetTaskInfoPanel()
|
||||
@@ -447,7 +445,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
private fun sweeperCloudTaskExceptionEndDialog(isCancel: Boolean): SweeperCloudDialog? {
|
||||
return createSweeperTaskExceptionEndDialog(
|
||||
context,
|
||||
object : SweeperCloudDialogClickListener {
|
||||
object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// ToastUtils.showLong("任务已结束")
|
||||
// resetTaskInfoPanel()
|
||||
@@ -691,7 +689,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
/**
|
||||
* 设置路线轨迹
|
||||
*/
|
||||
override fun setTaskRouteList(routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
override fun setTaskRouteList(routeList: ArrayList<com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
super.setTaskRouteList(routeList)
|
||||
}
|
||||
|
||||
@@ -733,7 +731,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
return
|
||||
}
|
||||
mDialog =
|
||||
createConfirmStartSubTaskDialog(context, object : SweeperCloudDialogClickListener {
|
||||
createConfirmStartSubTaskDialog(context, object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// //ToastUtils.showLong("确认")
|
||||
// mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_CONFIRM)
|
||||
@@ -791,7 +789,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
return
|
||||
}
|
||||
mDialog =
|
||||
createReceivedBigTaskInfoDialog(context, object : SweeperCloudDialogClickListener {
|
||||
createReceivedBigTaskInfoDialog(context, object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// ToastUtils.showLong("确认")
|
||||
// mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_CONFIRM)
|
||||
@@ -839,7 +837,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
* 大任务暂停弹框
|
||||
*/
|
||||
private fun sweeperCloudTaskSuspendDialog(taskId: String): SweeperCloudDialog? {
|
||||
return createSweeperTaskSuspendDialog(context, object : SweeperCloudDialogClickListener {
|
||||
return createSweeperTaskSuspendDialog(context, object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// 发送接收到信息的ACK回执
|
||||
mPresenter?.sendSweeperSuspendResumeTaskResp(
|
||||
@@ -873,7 +871,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
contentStr: String,
|
||||
taskId: String
|
||||
): SweeperCloudDialog? {
|
||||
return createSweeperTaskResumeDialog(context, object : SweeperCloudDialogClickListener {
|
||||
return createSweeperTaskResumeDialog(context, object : com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// 发送接收到信息的ACK回执
|
||||
mPresenter?.sendSweeperSuspendResumeTaskResp(
|
||||
@@ -1,13 +1,12 @@
|
||||
package com.mogo.och.sweepercloud.fragment
|
||||
package com.mogo.och.sweeper.cloud.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.commons.mvp.BaseFragment
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperTaskDataToFragmentCallback
|
||||
import com.mogo.och.sweepercloud.callback.IWeltMapSwitchToSmallCallback
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.operate.callback.IWeltMapSwitchToSmallCallback
|
||||
import kotlinx.android.synthetic.main.fragment_welt_map_overview.*
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_map_overview.*
|
||||
|
||||
@@ -43,7 +42,7 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba
|
||||
val latLngs = bundle.getSerializable("subTaskCoordinates") as? ArrayList<LatLng>
|
||||
val latLng = bundle.getParcelable<LatLng>("subTaskEndCoordinates")
|
||||
val weltDataList = bundle.getSerializable("weltDataList") as? ArrayList<WeltDataBean>
|
||||
val routeList = bundle.getSerializable("routeList") as? ArrayList<SweeperRoutePlanningUpdateReqBean.Result>
|
||||
val routeList = bundle.getSerializable("routeList") as? ArrayList<com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean.Result>
|
||||
val progress = bundle.getString("progress")
|
||||
routeList?.let {
|
||||
weltMapOverView?.setRouteList(it)
|
||||
@@ -67,13 +66,13 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun newInstance(
|
||||
mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback,
|
||||
mCurrentTaskEndStation:LatLng?,
|
||||
weltDataList: ArrayList<WeltDataBean>?,
|
||||
latLngs: ArrayList<LatLng>?,
|
||||
routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>?,
|
||||
progress:String?,
|
||||
sweeperFragment: SweeperFragment
|
||||
mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback,
|
||||
mCurrentTaskEndStation:LatLng?,
|
||||
weltDataList: ArrayList<WeltDataBean>?,
|
||||
latLngs: ArrayList<LatLng>?,
|
||||
routeList: ArrayList<com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean.Result>?,
|
||||
progress:String?,
|
||||
sweeperFragment: SweeperFragment
|
||||
): WeltMapOverViewFragment {
|
||||
val args = Bundle()
|
||||
args.putSerializable("weltDataList", weltDataList)
|
||||
@@ -119,7 +118,7 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba
|
||||
weltMapOverView?.setProgress(progress)
|
||||
}
|
||||
|
||||
override fun setRouteList(routeList: java.util.ArrayList<SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
override fun setRouteList(routeList: java.util.ArrayList<com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
weltMapOverView?.setRouteList(routeList)
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.sweepercloud.model;
|
||||
package com.mogo.och.sweeper.cloud.model;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.printMessage;
|
||||
import static com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils.printMessage;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@@ -32,13 +32,13 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager;
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil;
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil;
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperCloudTaskCallback;
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst;
|
||||
import com.mogo.och.sweepercloud.database.MyDataBase;
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils;
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.cloud.callback.ISweeperCloudTaskCallback;
|
||||
import com.mogo.och.sweeper.cloud.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.common.database.MyDataBase;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.cloud.util.SweeperCloudTaskUtils;
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask;
|
||||
@@ -197,7 +197,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
@Override
|
||||
public void onAutopilotRotting(MessagePad.GlobalPathResp routeList) {
|
||||
if (null != routeList && routeList.getWayPointsList() != null && routeList.getWayPointsList().size() > 0) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "onAutopilotRotting: " + printMessage(routeList));
|
||||
CallerLogger.d(M_SWEEPER + TAG, "onAutopilotRotting: " + SweeperCloudTaskUtils.printMessage(routeList));
|
||||
|
||||
// MAP返回路线信息,在1秒内返回了2次,这里加上数据过滤
|
||||
long current = System.currentTimeMillis();
|
||||
@@ -336,7 +336,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
SweeperTask.TaskInfo taskInfo) {
|
||||
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " onSweeperFutianCloudTask:" + (taskInfo == null ? "null" : printMessage(taskInfo)) + " mSweeperTaskCallback:" + mSweeperTaskCallback);
|
||||
"messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " onSweeperFutianCloudTask:" + (taskInfo == null ? "null" : SweeperCloudTaskUtils.printMessage(taskInfo)) + " mSweeperTaskCallback:" + mSweeperTaskCallback);
|
||||
if (mSweeperTaskCallback != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudTask(messageType, taskInfo);
|
||||
@@ -348,7 +348,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
SweeperTaskConfirm.TaskConfirm taskConfirm) {
|
||||
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudTaskConfirm:" + printMessage(taskConfirm));
|
||||
"onSweeperFutianCloudTaskConfirm:" + SweeperCloudTaskUtils.printMessage(taskConfirm));
|
||||
if (mSweeperTaskCallback != null && taskConfirm != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudTaskConfirm(taskConfirm.getTaskId(), taskConfirm.getSubTaskId(), taskConfirm.getIsPop());
|
||||
@@ -359,7 +359,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
public void onSweeperFutianCloudTaskStatus(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||
SweeperTaskStatus.TaskStatusPush taskStatusPush) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudTaskStatus:" + printMessage(taskStatusPush));
|
||||
"onSweeperFutianCloudTaskStatus:" + SweeperCloudTaskUtils.printMessage(taskStatusPush));
|
||||
if (mSweeperTaskCallback != null && taskStatusPush != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudTaskStatus(taskStatusPush.getTaskId(), taskStatusPush.getSubTaskId(), taskStatusPush.getTaskStatus());
|
||||
@@ -370,7 +370,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
public void onSweeperFutianCloudTaskStop(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||
SweeperTaskStop.StopTaskReq stopTaskReq) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudTaskStop:" + printMessage(stopTaskReq));
|
||||
"onSweeperFutianCloudTaskStop:" + SweeperCloudTaskUtils.printMessage(stopTaskReq));
|
||||
if (mSweeperTaskCallback != null && stopTaskReq != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudTaskStop(stopTaskReq.getTaskId(), stopTaskReq.getType(), stopTaskReq.getIsPop());
|
||||
@@ -381,7 +381,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
public void onSweeperFutianCloudTaskSuspendResume(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudTaskSuspendResume:" + printMessage(suspendResumeTaskResp));
|
||||
"onSweeperFutianCloudTaskSuspendResume:" + SweeperCloudTaskUtils.printMessage(suspendResumeTaskResp));
|
||||
if (mSweeperTaskCallback != null && suspendResumeTaskResp != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudTaskSuspendResume(messageType, suspendResumeTaskResp.getTaskId(),
|
||||
@@ -393,7 +393,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
public void onSweeperFutianCloudBootable(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||
SweeperBootable.IsBootableResp isBootableResp) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudBootable:" + printMessage(isBootableResp));
|
||||
"onSweeperFutianCloudBootable:" + SweeperCloudTaskUtils.printMessage(isBootableResp));
|
||||
if (mSweeperTaskCallback != null && isBootableResp != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudBootable(isBootableResp.getTaskId(), isBootableResp.getSubTaskId(), isBootableResp);
|
||||
@@ -404,7 +404,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
public void onSweeperFutianCloudBigTaskStatus(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudBigTaskStatus:" + printMessage(bigTaskStatusPush));
|
||||
"onSweeperFutianCloudBigTaskStatus:" + SweeperCloudTaskUtils.printMessage(bigTaskStatusPush));
|
||||
if (mSweeperTaskCallback != null && bigTaskStatusPush != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudBigTaskStatus(bigTaskStatusPush.getTaskId(), bigTaskStatusPush.getTaskStatus(), bigTaskStatusPush.getIsPop());
|
||||
@@ -415,7 +415,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
public void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime,
|
||||
@Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush) {
|
||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||
"onSweeperFutianCloudTaskCloudSuspendResume:" + printMessage(bigTaskActionPush));
|
||||
"onSweeperFutianCloudTaskCloudSuspendResume:" + SweeperCloudTaskUtils.printMessage(bigTaskActionPush));
|
||||
if (mSweeperTaskCallback != null && bigTaskActionPush != null) {
|
||||
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
|
||||
mSweeperTaskCallback.onSweeperCloudBigTaskSuspendResume(bigTaskActionPush.getTaskId(), bigTaskActionPush.getAction(), bigTaskActionPush.getIsPop());
|
||||
@@ -521,7 +521,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
SweeperTask.GetTaskReq getTaskReq = builder.build();
|
||||
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"getCurrentTask:" + printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendGetTaskReq.getNumber());
|
||||
"getCurrentTask:" + SweeperCloudTaskUtils.printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendGetTaskReq.getNumber());
|
||||
getAutoPilotControlManager().sendSweeperGetTaskReq(reqNo, getTaskReq);
|
||||
}
|
||||
|
||||
@@ -538,7 +538,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
|
||||
getAutoPilotControlManager().sendSweeperStartTaskResp(reqNo, startTaskResp);
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"sendSweeperStartTaskResp:" + printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTask.getNumber());
|
||||
"sendSweeperStartTaskResp:" + SweeperCloudTaskUtils.printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTask.getNumber());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -553,7 +553,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
SweeperTaskConfirm.TaskConfirmResp taskConfirmResp = builder.build();
|
||||
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"sendSweeperTaskConfirmResp" + printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
||||
"sendSweeperTaskConfirmResp" + SweeperCloudTaskUtils.printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
||||
getAutoPilotControlManager().sendSweeperTaskConfirmResp(reqNo, taskConfirmResp);
|
||||
}
|
||||
|
||||
@@ -572,7 +572,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
||||
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"sendSweeperStopTaskResp" + printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
||||
"sendSweeperStopTaskResp" + SweeperCloudTaskUtils.printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
||||
getAutoPilotControlManager().sendSweeperStopTaskResp(reqNo, stopTaskResp);
|
||||
}
|
||||
|
||||
@@ -593,7 +593,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
String reqNo = SweeperCloudTaskUtils.getRequestId();
|
||||
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"sendSweeperAutopilotBootable" + printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendBootable.getNumber());
|
||||
"sendSweeperAutopilotBootable" + SweeperCloudTaskUtils.printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendBootable.getNumber());
|
||||
getAutoPilotControlManager().sendSweeperAutopilotBootable(reqNo, isBootable);
|
||||
//SweeperCloudTaskUtils.mockSendCloudBootable();
|
||||
}
|
||||
@@ -612,7 +612,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
||||
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskSuspendResume.getNumber());
|
||||
|
||||
CallerLogger.d(M_SWEEPER + TAG,
|
||||
"sendSweeperSuspendResumeTaskResp" + printMessage(resp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskSuspendResume);
|
||||
"sendSweeperSuspendResumeTaskResp" + SweeperCloudTaskUtils.printMessage(resp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskSuspendResume);
|
||||
getAutoPilotControlManager().sendSweeperCloudSuspendResumeTaskResp(reqNo, resp);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.presenter;
|
||||
package com.mogo.och.sweeper.cloud.presenter;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -10,13 +10,13 @@ import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
|
||||
import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager;
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperCloudTaskCallback;
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweepercloud.callback.ISweeperTaskRouteCallback;
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweepercloud.fragment.SweeperFragment;
|
||||
import com.mogo.och.sweepercloud.model.SweeperTaskModel;
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.cloud.callback.ISweeperCloudTaskCallback;
|
||||
import com.mogo.och.sweeper.cloud.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperTaskRouteCallback;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.cloud.fragment.SweeperFragment;
|
||||
import com.mogo.och.sweeper.cloud.model.SweeperTaskModel;
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon;
|
||||
@@ -1,14 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.ui;
|
||||
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_BOTH_SIDE;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_LEFT_SIDE;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_RIGHT_SIDE;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRAND;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRONG;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_DRAW;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_SWEEP;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_WASH;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_WASH_SWEEP;
|
||||
package com.mogo.och.sweeper.cloud.ui;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
@@ -31,14 +21,11 @@ import androidx.annotation.Nullable;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener;
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils;
|
||||
import com.mogo.och.sweepercloud.R;
|
||||
import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback;
|
||||
import com.mogo.och.sweepercloud.constant.OperateStateEnum;
|
||||
import com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweepercloud.view.NoTouchConstraintLayout;
|
||||
import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback;
|
||||
import com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweepercloud.view.NoTouchConstraintLayout;
|
||||
import com.mogo.och.sweeper.common.callback.ICleaningModeStateCallback;
|
||||
import com.mogo.och.sweeper.R;
|
||||
import com.mogo.och.sweeper.common.constant.OperateStateEnum;
|
||||
import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweeper.common.view.NoTouchConstraintLayout;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -47,11 +34,6 @@ import java.util.List;
|
||||
import chassis.ChassisStatesOuterClass;
|
||||
import chassis.SpecialVehicleTaskCmdOuterClass;
|
||||
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_CLOSE;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_CLOSE;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_WORK_CLOSE;
|
||||
import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_WORK_OPEN;
|
||||
|
||||
/**
|
||||
* 清扫车操作面板View
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.ui.dialog
|
||||
package com.mogo.och.sweeper.cloud.ui.dialog
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.animation.ValueAnimator
|
||||
@@ -10,9 +10,8 @@ import android.widget.TextView
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener
|
||||
import com.mogo.och.sweepercloud.view.CountDownView
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.cloud.view.CountDownView
|
||||
|
||||
/**
|
||||
* 清扫车云控任务dialog基类
|
||||
@@ -115,7 +114,7 @@ import com.mogo.och.sweepercloud.view.CountDownView
|
||||
var middleStr: String = ""
|
||||
var rightStr: String = ""
|
||||
var countDownTime: Int = 0
|
||||
var listener: SweeperCloudDialogClickListener? = null
|
||||
var listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener? = null
|
||||
fun build(context: Context): SweeperCloudDialog {
|
||||
return SweeperCloudDialog(this, context)
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.ui.dialog
|
||||
package com.mogo.och.sweeper.cloud.ui.dialog
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
@@ -7,7 +7,7 @@ import androidx.lifecycle.LifecycleObserver
|
||||
import com.elegant.utils.UiThreadHandler
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
import kotlinx.android.synthetic.main.dialog_sweeper_cloud_loading.*
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.ui.dialog
|
||||
package com.mogo.och.sweeper.cloud.ui.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
@@ -16,7 +16,7 @@ class SweeperManualDrivingDialog: BaseFloatDialog, LifecycleObserver {
|
||||
|
||||
private var clickListener: ClickListener? = null
|
||||
|
||||
constructor(builder: Builder,context: Context) : super(context) {
|
||||
constructor(builder: Builder, context: Context) : super(context) {
|
||||
commonTips?.text = builder.tipsStr
|
||||
commonConfirm?.text = builder.confirmStr
|
||||
}
|
||||
@@ -53,12 +53,12 @@ class SweeperManualDrivingDialog: BaseFloatDialog, LifecycleObserver {
|
||||
class Builder{
|
||||
var tipsStr:String = ""
|
||||
var confirmStr:String = ""
|
||||
fun tips(tips: String) : Builder{
|
||||
fun tips(tips: String) : Builder {
|
||||
this.tipsStr = tips
|
||||
return this
|
||||
}
|
||||
|
||||
fun confirmStr(commit: String) : Builder{
|
||||
fun confirmStr(commit: String) : Builder {
|
||||
this.confirmStr = commit
|
||||
return this
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.ui.dialog
|
||||
package com.mogo.och.sweeper.cloud.ui.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
@@ -17,7 +17,7 @@ class SweeperNoTitleCommonDialog: BaseFloatDialog, LifecycleObserver {
|
||||
|
||||
private var clickListener: ClickListener? = null
|
||||
|
||||
constructor(builder: Builder,context: Context) : super(context) {
|
||||
constructor(builder: Builder, context: Context) : super(context) {
|
||||
commonTips?.text = builder.tipsStr
|
||||
commonCancel?.text = builder.cancelStr
|
||||
commonConfirm?.text = builder.confirmStr
|
||||
@@ -62,17 +62,17 @@ class SweeperNoTitleCommonDialog: BaseFloatDialog, LifecycleObserver {
|
||||
var tipsStr:String = ""
|
||||
var confirmStr:String = ""
|
||||
var cancelStr:String = ""
|
||||
fun tips(tips: String) : Builder{
|
||||
fun tips(tips: String) : Builder {
|
||||
this.tipsStr = tips
|
||||
return this
|
||||
}
|
||||
|
||||
fun confirmStr(commit: String) : Builder{
|
||||
fun confirmStr(commit: String) : Builder {
|
||||
this.confirmStr = commit
|
||||
return this
|
||||
}
|
||||
|
||||
fun cancelStr(cancel: String) : Builder{
|
||||
fun cancelStr(cancel: String) : Builder {
|
||||
this.cancelStr = cancel
|
||||
return this
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.ui.popwindow
|
||||
package com.mogo.och.sweeper.cloud.ui.popwindow
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
@@ -7,10 +7,10 @@ import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import android.widget.PopupWindow
|
||||
import chassis.ChassisStatesOuterClass
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback
|
||||
import com.mogo.och.sweepercloud.constant.OperateStateEnum
|
||||
import com.mogo.och.sweepercloud.ui.SweeperOperatePanelView
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.common.constant.OperateStateEnum
|
||||
import com.mogo.och.sweeper.cloud.ui.SweeperOperatePanelView
|
||||
import com.mogo.och.sweeper.common.callback.ICleaningModeStateCallback
|
||||
|
||||
/**
|
||||
* 清扫车面板浮窗
|
||||
@@ -24,7 +24,7 @@ class SweeperOperatePanelPopWindow : PopupWindow{
|
||||
}
|
||||
private fun init(context: Context) {
|
||||
setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
mOperatePanelView = LayoutInflater.from(context).inflate(R.layout.sweeper_popwindow_operate_panel, null) as SweeperOperatePanelView?
|
||||
mOperatePanelView = LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_popwindow_operate_panel, null) as SweeperOperatePanelView?
|
||||
width = ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
height = ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
contentView = mOperatePanelView
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.util;
|
||||
package com.mogo.och.sweeper.cloud.util;
|
||||
|
||||
import android.os.Environment;
|
||||
import android.text.TextUtils;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.util;
|
||||
package com.mogo.och.sweeper.cloud.util;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER;
|
||||
|
||||
@@ -14,7 +14,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.util
|
||||
package com.mogo.och.sweeper.cloud.util
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
@@ -14,11 +14,11 @@ import com.mogo.map.overlay.point.Point
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.OCHThreadPoolManager
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst
|
||||
import com.mogo.och.sweepercloud.model.SweeperTaskModel
|
||||
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst
|
||||
import com.mogo.och.sweeper.cloud.model.SweeperTaskModel
|
||||
import com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||
@@ -43,7 +43,7 @@ object SweeperCloudTaskUtils {
|
||||
// UiThreadHandler.getsUiHandler().postDelayed({
|
||||
// mockSendCloudTaskInfo(MessageType.PadSendGetTaskReq)
|
||||
// },1000)
|
||||
SweeperTaskModel.getInstance().getCurrentTask()
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().getCurrentTask()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -150,7 +150,7 @@ object SweeperCloudTaskUtils {
|
||||
// subBuilder3.lineId = 126
|
||||
// subBuilder3.lineName = "测试路线3"
|
||||
// builder.addSubList(subBuilder3.build())
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTask(
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().onSweeperFutianCloudTask(
|
||||
messageType,
|
||||
"${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(),
|
||||
@@ -171,7 +171,7 @@ object SweeperCloudTaskUtils {
|
||||
builder.sn = getDriverSn()
|
||||
builder.taskId = "10"
|
||||
builder.subTaskId = "1"
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskConfirm(
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().onSweeperFutianCloudTaskConfirm(
|
||||
AiCloudTask.MessageType.CloudPushTaskConfirm, "${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(), builder.build()
|
||||
)
|
||||
@@ -187,7 +187,7 @@ object SweeperCloudTaskUtils {
|
||||
builder.taskId = "10"
|
||||
builder.subTaskId = "1"
|
||||
builder.taskStatus = SweeperCommon.TaskStatus.RUNNING
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStatus(
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStatus(
|
||||
AiCloudTask.MessageType.CloudPushTaskStatus, "${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(), builder.build()
|
||||
)
|
||||
@@ -202,7 +202,7 @@ object SweeperCloudTaskUtils {
|
||||
builder.sn = getDriverSn()
|
||||
builder.taskId = "10"
|
||||
builder.type = SweeperTaskStop.StopTaskType.ADVANCE
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStop(
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStop(
|
||||
AiCloudTask.MessageType.CloudPushTaskStop, "${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(), builder.build()
|
||||
)
|
||||
@@ -218,7 +218,7 @@ object SweeperCloudTaskUtils {
|
||||
builder.taskId = "10"
|
||||
builder.taskStatus = SweeperCommon.TaskStatus.FINISHED
|
||||
builder.systemTime = System.currentTimeMillis()
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus(
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus(
|
||||
AiCloudTask.MessageType.CloudPushBigTaskStatus, "${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(), builder.build()
|
||||
)
|
||||
@@ -235,7 +235,7 @@ object SweeperCloudTaskUtils {
|
||||
builder.subTaskId = "1"
|
||||
builder.code = SweeperCommon.Code.SUCCEED
|
||||
UiThreadHandler.getsUiHandler().postDelayed({
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudBootable(
|
||||
com.mogo.och.sweeper.cloud.model.SweeperTaskModel.getInstance().onSweeperFutianCloudBootable(
|
||||
AiCloudTask.MessageType.PadSendBootable, "${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(), builder.build()
|
||||
)
|
||||
@@ -251,7 +251,7 @@ object SweeperCloudTaskUtils {
|
||||
val setMapMarkerRunnable = Runnable {
|
||||
val builder =
|
||||
Point.Options.Builder(
|
||||
SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END,
|
||||
com.mogo.och.sweeper.common.constant.SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END,
|
||||
Level.MAP_MARKER
|
||||
)
|
||||
.setId(uuid)
|
||||
@@ -277,7 +277,7 @@ object SweeperCloudTaskUtils {
|
||||
//开启线程移除起终点marker设置
|
||||
val removeMapMarkerRunnable = Runnable {
|
||||
val overlayManager = CallerMapUIServiceManager.getOverlayManager()
|
||||
overlayManager?.removeAllPointsInOwner(SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END)
|
||||
overlayManager?.removeAllPointsInOwner(com.mogo.och.sweeper.common.constant.SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END)
|
||||
}
|
||||
OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable)
|
||||
}
|
||||
@@ -291,11 +291,11 @@ object SweeperCloudTaskUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun createReceivedBigTaskInfoDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?,
|
||||
taskInfo: TaskInfo
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
context: Context?,
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?,
|
||||
taskInfo: TaskInfo
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
val startCalendar = DateTimeUtil.formatLongToCalendar(taskInfo.taskStartTime)
|
||||
val endCalendar = DateTimeUtil.formatLongToCalendar(taskInfo.taskEndTime)
|
||||
builder.titleStr = "任务接取"
|
||||
@@ -320,11 +320,11 @@ object SweeperCloudTaskUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun createConfirmStartSubTaskDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?,
|
||||
subTaskInfo: SubTaskInfo
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
context: Context?,
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?,
|
||||
subTaskInfo: SubTaskInfo
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "子任务确认"
|
||||
builder.contentStr = "请确认并执行子任务 ${subTaskInfo.subTaskName}"
|
||||
builder.tipStr =
|
||||
@@ -342,12 +342,12 @@ object SweeperCloudTaskUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun createSweeperTaskEndDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?,
|
||||
stopTaskType: SweeperTaskStop.StopTaskType,
|
||||
timeoutStr: String
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
context: Context?,
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?,
|
||||
stopTaskType: SweeperTaskStop.StopTaskType,
|
||||
timeoutStr: String
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
val titleStr = when (stopTaskType) {
|
||||
SweeperTaskStop.StopTaskType.ADVANCE -> "任务中止"
|
||||
SweeperTaskStop.StopTaskType.EXCEPTION -> "任务异常结束"
|
||||
@@ -385,9 +385,9 @@ object SweeperCloudTaskUtils {
|
||||
@JvmStatic
|
||||
fun createSweeperTaskNormalEndDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "任务结束"
|
||||
builder.contentStr = "任务已完成,干的漂亮!"
|
||||
builder.tipStr = ""
|
||||
@@ -404,11 +404,11 @@ object SweeperCloudTaskUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun createSweeperTaskExceptionEndDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?,
|
||||
isCancel: Boolean
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
context: Context?,
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?,
|
||||
isCancel: Boolean
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "任务结束"
|
||||
builder.contentStr = if (isCancel) "任务已取消!" else "任务已异常结束!"
|
||||
builder.tipStr = ""
|
||||
@@ -423,9 +423,9 @@ object SweeperCloudTaskUtils {
|
||||
@JvmStatic
|
||||
fun createSweeperTaskSuspendDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "任务暂停"
|
||||
builder.contentStr = "云端暂停任务,注意车辆即将停车!"
|
||||
builder.tipStr = "【云端任务恢复前不可启动自动驾驶】"
|
||||
@@ -439,11 +439,11 @@ object SweeperCloudTaskUtils {
|
||||
|
||||
@JvmStatic
|
||||
fun createSweeperTaskResumeDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?,
|
||||
contentStr: String
|
||||
): SweeperCloudDialog? {
|
||||
val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
context: Context?,
|
||||
listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?,
|
||||
contentStr: String
|
||||
): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? {
|
||||
val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "任务恢复"
|
||||
builder.contentStr = contentStr
|
||||
builder.tipStr = "【注意安全,坐稳扶好】"
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.cloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Handler
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view;
|
||||
package com.mogo.och.sweeper.cloud.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.cloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
@@ -6,11 +6,11 @@ import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.SubTaskInfo
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskModel
|
||||
import kotlinx.android.synthetic.main.sweeper_subtask_view.view.*
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_subtask_view.view.*
|
||||
|
||||
/**
|
||||
* 子任务View
|
||||
@@ -24,7 +24,7 @@ class SubTaskView : ConstraintLayout {
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {}
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_subtask_view, this)
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_subtask_view, this)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.cloud.view
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@@ -10,18 +10,18 @@ import android.widget.TextView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.TaskStatus
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.SubTaskInfo
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskInfo
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.currentSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.lastSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.preSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvStartAuto
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskName
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskState
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskTime
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.currentSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.lastSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.preSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvStartAuto
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvTaskName
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvTaskState
|
||||
import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvTaskTime
|
||||
|
||||
/**
|
||||
* 清扫车当前任务信息展示
|
||||
@@ -53,7 +53,7 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
}
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_current_task_info, this)
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_current_task_info, this)
|
||||
updateTaskStateText(TaskStatus.TO_START)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.cloud.view
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@@ -18,7 +18,7 @@ import com.mogo.eagle.core.function.hmi.ui.widget.TapPositionView
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
import planning.RoboSweeperTaskIndexOuterClass
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
@@ -64,7 +64,7 @@ class SweeperTrafficDataView : ConstraintLayout,
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {}
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_traffic_data, this)
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_traffic_data, this)
|
||||
tapPositionView = findViewById(R.id.sweeperTrafficPosition)
|
||||
speedImage = findViewById(R.id.sweeperSpeedImage)
|
||||
speedTextView = findViewById(R.id.sweeperSpeedText)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.cloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@@ -11,7 +11,7 @@ import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
import kotlinx.android.synthetic.main.sweeper_traffic_light_view.view.*
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.cloud.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@@ -9,23 +9,21 @@ import chassis.ChassisStatesOuterClass.SweeperFuTianTaskSystemStates
|
||||
import com.elegant.utils.UiThreadHandler
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback
|
||||
import com.mogo.och.sweepercloud.constant.OperateStateEnum
|
||||
import com.mogo.och.sweepercloud.ui.popwindow.SweeperOperatePanelPopWindow
|
||||
import com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.common.constant.OperateStateEnum
|
||||
import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskModel
|
||||
import kotlinx.android.synthetic.main.sweeper_work_mode.view.*
|
||||
|
||||
/**
|
||||
* 清扫车模式信息展示
|
||||
*/
|
||||
class SweeperWorkModeView : ConstraintLayout,ICleaningModeStateCallback {
|
||||
class SweeperWorkModeView : ConstraintLayout {
|
||||
|
||||
private var isSelectPureSweepMode: Boolean = false
|
||||
private val TAG = "SweeperWorkModeView"
|
||||
//清扫模式选择面板
|
||||
private var mOperatePanelPopWindow: SweeperOperatePanelPopWindow? = null
|
||||
private var mOperatePanelPopWindow: com.mogo.och.sweeper.cloud.ui.popwindow.SweeperOperatePanelPopWindow? = null
|
||||
|
||||
private var operateState: OperateStateEnum=OperateStateEnum.SYNCING_STATUS
|
||||
|
||||
@@ -39,14 +37,14 @@ class SweeperWorkModeView : ConstraintLayout,ICleaningModeStateCallback {
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.sweeper_work_mode, this)
|
||||
mOperatePanelPopWindow = SweeperOperatePanelPopWindow(context)
|
||||
mOperatePanelPopWindow = com.mogo.och.sweeper.cloud.ui.popwindow.SweeperOperatePanelPopWindow(context)
|
||||
setShowOrHideCleanSystemState(OperateStateEnum.SYNCING_STATUS,null)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置view
|
||||
*/
|
||||
fun setTrafficDataView(trafficDataView: SweeperTrafficDataView){
|
||||
fun setTrafficDataView(trafficDataView: com.mogo.och.sweeper.cloud.view.SweeperTrafficDataView){
|
||||
//清扫模式选择面板打开关闭处理
|
||||
ivOpenOperatePanel.setOnClickListener {
|
||||
if (mOperatePanelPopWindow?.isShowing != true) {
|
||||
@@ -126,7 +124,7 @@ class SweeperWorkModeView : ConstraintLayout,ICleaningModeStateCallback {
|
||||
}
|
||||
}
|
||||
|
||||
override fun cleaningModeState(operateState: OperateStateEnum, cleanSystemState: SweeperFuTianTaskSystemStates?, isSelectPureSweepMode: Boolean) {
|
||||
fun cleaningModeState(operateState: OperateStateEnum, cleanSystemState: SweeperFuTianTaskSystemStates?, isSelectPureSweepMode: Boolean) {
|
||||
this.isSelectPureSweepMode = isSelectPureSweepMode
|
||||
this.operateState=operateState
|
||||
setShowOrHideCleanSystemState(operateState, cleanSystemState)
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.mogo.och.sweeper.bean;
|
||||
package com.mogo.och.sweeper.common.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by pangfan on 2021/8/19
|
||||
*
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.mogo.och.sweepercloud.callback;
|
||||
package com.mogo.och.sweeper.common.callback;
|
||||
|
||||
import com.mogo.och.sweepercloud.constant.OperateStateEnum;
|
||||
import com.mogo.och.sweeper.common.constant.OperateStateEnum;
|
||||
|
||||
import chassis.ChassisStatesOuterClass;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.callback;
|
||||
package com.mogo.och.sweeper.common.callback;
|
||||
|
||||
/**
|
||||
* Created on 2021/9/8
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.mogo.och.sweepercloud.callback
|
||||
package com.mogo.och.sweeper.common.callback
|
||||
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ISweeperTaskDataToFragmentCallback {
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.mogo.och.sweeper.callback
|
||||
package com.mogo.och.sweeper.common.callback
|
||||
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ISweeperTaskRouteCallback {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.constant
|
||||
package com.mogo.och.sweeper.common.constant
|
||||
|
||||
/**
|
||||
* 上装面板操作状态
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.constant
|
||||
package com.mogo.och.sweeper.common.constant
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.mogo.och.sweeper.database;
|
||||
package com.mogo.och.sweeper.common.database;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.database.dao.WeltDataDao;
|
||||
import com.mogo.och.sweeper.common.database.dao.WeltDataDao;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
|
||||
import androidx.room.Database;
|
||||
import androidx.room.Room;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.database.bean;
|
||||
package com.mogo.och.sweeper.common.database.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.mogo.och.sweepercloud.database.dao;
|
||||
package com.mogo.och.sweeper.common.database.dao;
|
||||
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -10,7 +9,7 @@ import androidx.room.Insert;
|
||||
import androidx.room.OnConflictStrategy;
|
||||
import androidx.room.Query;
|
||||
|
||||
import static com.mogo.och.sweepercloud.database.bean.WeltDataBean.WeltDataTable;
|
||||
import static com.mogo.och.sweeper.common.database.bean.WeltDataBean.WeltDataTable;
|
||||
|
||||
@Dao
|
||||
public interface WeltDataDao {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.receiver;
|
||||
package com.mogo.och.sweeper.common.receiver;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
@@ -7,7 +7,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.sweeper.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst;
|
||||
|
||||
/**
|
||||
* 测试小巴车的场景
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.util;
|
||||
package com.mogo.och.sweeper.common.util;
|
||||
|
||||
import chassis.ChassisStatesOuterClass;
|
||||
import chassis.SpecialVehicleTaskCmdOuterClass;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.util;
|
||||
package com.mogo.och.sweeper.common.util;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.view
|
||||
package com.mogo.och.sweeper.common.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view;
|
||||
package com.mogo.och.sweeper.common.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view;
|
||||
package com.mogo.och.sweeper.common.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.view
|
||||
package com.mogo.och.sweeper.common.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.view
|
||||
package com.mogo.och.sweeper.common.view
|
||||
|
||||
import android.animation.AnimatorSet
|
||||
import android.animation.ObjectAnimator
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view;
|
||||
package com.mogo.och.sweeper.common.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.view
|
||||
package com.mogo.och.sweeper.common.view
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
@@ -20,10 +20,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.constant.SweeperConst
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.util.SweeperMapAssetStyleUtil
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_map_overview.view.*
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
package com.mogo.och.sweeper.common.view
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
@@ -19,11 +19,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst
|
||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweepercloud.util.SweeperMapAssetStyleUtil
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.R
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_small_map_view.view.*
|
||||
|
||||
|
||||
@@ -120,8 +117,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
// 加载自定义样式
|
||||
val customMapStyleOptions = CustomMapStyleOptions()
|
||||
.setEnable(true)
|
||||
.setStyleData(SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
|
||||
.setStyleExtraData(SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data"))
|
||||
.setStyleData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
|
||||
.setStyleExtraData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data"))
|
||||
// 设置自定义样式
|
||||
mAMap?.setCustomMapStyle(customMapStyleOptions)
|
||||
mAMap?.setOnMapLoadedListener(AMap.OnMapLoadedListener {
|
||||
@@ -129,8 +126,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
// 加载自定义样式
|
||||
val customMapStyleOptions = CustomMapStyleOptions()
|
||||
.setEnable(true)
|
||||
.setStyleData(SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
|
||||
.setStyleExtraData(SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data"))
|
||||
.setStyleData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data"))
|
||||
.setStyleExtraData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data"))
|
||||
// 设置自定义样式
|
||||
mAMap?.setCustomMapStyle(customMapStyleOptions)
|
||||
mAMap?.setPointToCenter(sweeperSmallTextureMapView.width / 2, sweeperSmallTextureMapView.height / 2)
|
||||
@@ -184,7 +181,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
}
|
||||
}
|
||||
|
||||
if (weltDataBean.weltDistance == SweeperConst.NONWELT) {//非贴边
|
||||
if (weltDataBean.weltDistance == com.mogo.och.sweeper.common.constant.SweeperConst.NONWELT) {//非贴边
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299))
|
||||
} else if (weltDataBean.weltDistance < 0) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101))
|
||||
@@ -249,7 +246,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
/**
|
||||
* 设置任务轨迹数据
|
||||
*/
|
||||
fun setRouteList(routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
fun setRouteList(routeList: ArrayList<com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean.Result>) {
|
||||
val routeCoordinatesLatLngs = mutableListOf<LatLng>()
|
||||
for (i in routeList.indices) {
|
||||
routeCoordinatesLatLngs.add(LatLng(routeList[i].latitude, routeList[i].longitude))
|
||||
@@ -1,12 +0,0 @@
|
||||
package com.mogo.och.sweeper.constant
|
||||
|
||||
/**
|
||||
* 上装面板操作状态
|
||||
*/
|
||||
enum class OperateStateEnum(val code: Int) {
|
||||
SYNCING_STATUS( 1),//清扫车底盘状态同步中
|
||||
STARTING_STATUS( 2),//上装中
|
||||
FAIL_STATUS( 3),//上装失败
|
||||
SUCCESS_STATUS(4),//上装成功
|
||||
NO_STATUS(-1);//暂无模式
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
package com.mogo.och.sweeper.constant
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
|
||||
/**
|
||||
* Created on 2021/12/6
|
||||
*/
|
||||
class SweeperConst {
|
||||
companion object {
|
||||
|
||||
// OCH arouter 路由path
|
||||
const val PATH = "/driver/api"
|
||||
|
||||
// 测试用的广播
|
||||
const val BROADCAST_TEST_SWEEPER_CONTROL_TYPE_EXTRA_KEY = "sceneType"
|
||||
|
||||
// 上报心跳轮询ms
|
||||
const val LOOP_PERIOD_60S = 60 * 1000L
|
||||
|
||||
// 开始服务启动自动驾驶等待时间(埋点上传)
|
||||
const val LOOP_PERIOD_15S = 15 * 1000L
|
||||
const val LOOP_PERIOD_1S = 1 * 1000L
|
||||
const val LOOP_DELAY = 100L
|
||||
|
||||
// 下发给MEC轨迹信息间隔时间 10秒
|
||||
const val LOOP_PERIOD_10S = 10 * 1000L
|
||||
|
||||
// 尝试下发给MEC轨迹最多10次
|
||||
const val LOOP_SEND_TRAJ_TIMES = 10
|
||||
|
||||
//起点UUID
|
||||
const val SWEEPER_START_MAP_MAKER = "sweeper_start_map_maker";
|
||||
|
||||
//终点UUID
|
||||
const val SWEEPER_END_MAP_MAKER = "sweeper_end_map_maker";
|
||||
|
||||
// 埋点key:接管后点击'自动驾驶'按钮启动
|
||||
const val EVENT_KEY_RESTART_AUTOPILOT = "event_key_och_sweeper_restart_autopilot"
|
||||
|
||||
// 埋点key:开始服务开启自动驾驶(成功/失败)
|
||||
const val EVENT_KEY_START_SERVICE = "event_key_och_sweeper_start_service"
|
||||
const val EVENT_PARAM_SN = "sn"
|
||||
const val EVENT_PARAM_TIME = "time"
|
||||
const val EVENT_PARAM_START_NAME = "start_name"
|
||||
const val EVENT_PARAM_END_NAME = "end_name"
|
||||
const val EVENT_PARAM_LINE_ID = "line_id"
|
||||
const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false
|
||||
const val EVENT_PARAM_START_FAILURE_CODE = "start_autopilot_failure_code" // 启动自驾失败code
|
||||
const val EVENT_PARAM_START_FAILURE_MSG = "start_autopilot_failure_msg" // 启动自驾失败原因
|
||||
const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号
|
||||
const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false
|
||||
|
||||
// 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾
|
||||
const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_bus_ap_unable_start_reason"
|
||||
const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason";
|
||||
|
||||
/**
|
||||
* 订单起终点Marker类型
|
||||
*/
|
||||
const val TYPE_MARKER_SWEEPER_ORDER = "TYPE_MARKER_SWEEPER_ORDER"
|
||||
|
||||
const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L
|
||||
|
||||
//围栏到站 暂定10米
|
||||
const val ARRIVE_AT_END_STATION_DISTANCE = 10
|
||||
|
||||
//非贴边
|
||||
const val NONWELT = -10000.0
|
||||
}
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
package com.mogo.och.sweeper.database.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
@Entity(tableName = WeltDataBean.WeltDataTable, indices = {@Index(value = "id", unique = true)})
|
||||
public class WeltDataBean implements Serializable {
|
||||
|
||||
public static final String WeltDataTable = "welt_data_table";
|
||||
//ColumnInfo用于指定该字段存储在表中的名字,并指定类型
|
||||
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
|
||||
@ColumnInfo(name = "id", typeAffinity = ColumnInfo.INTEGER)
|
||||
|
||||
private int id;
|
||||
|
||||
@ColumnInfo(name = "subTaskId", typeAffinity = ColumnInfo.INTEGER)//子任务id
|
||||
|
||||
private int subTaskId;
|
||||
|
||||
@ColumnInfo(name = "locLon", typeAffinity = ColumnInfo.REAL)
|
||||
|
||||
private double locLon;//自车RTK定位经度
|
||||
|
||||
@ColumnInfo(name = "locLat", typeAffinity = ColumnInfo.REAL)
|
||||
|
||||
private double locLat;//自车RTK定位纬度
|
||||
|
||||
@ColumnInfo(name = "weltDistance", typeAffinity = ColumnInfo.REAL)
|
||||
|
||||
private double weltDistance;//贴边距离
|
||||
|
||||
@ColumnInfo(name = "cleanMode", typeAffinity = ColumnInfo.INTEGER)
|
||||
|
||||
private int cleanMode;//清扫作业模式 1–纯扫 2--洗扫, 3--纯洗, 4--纯吸
|
||||
|
||||
@ColumnInfo(name = "cleanDirection", typeAffinity = ColumnInfo.INTEGER)
|
||||
|
||||
private int cleanDirection;//清扫方向 1--两侧, 2--左侧, 3--右侧
|
||||
|
||||
@ColumnInfo(name = "cleanIntensity", typeAffinity = ColumnInfo.INTEGER)
|
||||
|
||||
private int cleanIntensity;//清扫强度 1--两侧, 2--左侧, 3--右侧
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getSubTaskId() {
|
||||
return subTaskId;
|
||||
}
|
||||
|
||||
public void setSubTaskId(int subTaskId) {
|
||||
this.subTaskId = subTaskId;
|
||||
}
|
||||
|
||||
public double getLocLon() {
|
||||
return locLon;
|
||||
}
|
||||
|
||||
public void setLocLon(double locLon) {
|
||||
this.locLon = locLon;
|
||||
}
|
||||
|
||||
public double getLocLat() {
|
||||
return locLat;
|
||||
}
|
||||
|
||||
public void setLocLat(double locLat) {
|
||||
this.locLat = locLat;
|
||||
}
|
||||
|
||||
public double getWeltDistance() {
|
||||
return weltDistance;
|
||||
}
|
||||
|
||||
public void setWeltDistance(double weltDistance) {
|
||||
this.weltDistance = weltDistance;
|
||||
}
|
||||
|
||||
public int getCleanMode() {
|
||||
return cleanMode;
|
||||
}
|
||||
|
||||
public void setCleanMode(int cleanMode) {
|
||||
this.cleanMode = cleanMode;
|
||||
}
|
||||
|
||||
public int getCleanDirection() {
|
||||
return cleanDirection;
|
||||
}
|
||||
|
||||
public void setCleanDirection(int cleanDirection) {
|
||||
this.cleanDirection = cleanDirection;
|
||||
}
|
||||
|
||||
public int getCleanIntensity() {
|
||||
return cleanIntensity;
|
||||
}
|
||||
|
||||
public void setCleanIntensity(int cleanIntensity) {
|
||||
this.cleanIntensity = cleanIntensity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "WeltDataBean{" +
|
||||
"id=" + id +
|
||||
", subTaskId='" + subTaskId + '\'' +
|
||||
", locLon=" + locLon +
|
||||
", locLat=" + locLat +
|
||||
", weltDistance=" + weltDistance +
|
||||
", cleanMode=" + cleanMode +
|
||||
", cleanDirection=" + cleanDirection +
|
||||
", cleanIntensity=" + cleanIntensity +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package com.mogo.och.sweeper.database.dao;
|
||||
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.OnConflictStrategy;
|
||||
import androidx.room.Query;
|
||||
|
||||
import static com.mogo.och.sweeper.database.bean.WeltDataBean.WeltDataTable;
|
||||
|
||||
@Dao
|
||||
public interface WeltDataDao {
|
||||
//插入数据
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
void insert(WeltDataBean fileInfo);
|
||||
|
||||
//删除所有数据
|
||||
@Query("DELETE FROM " + WeltDataTable)
|
||||
int deleteAllWeltData();
|
||||
|
||||
//查询所有数据
|
||||
@Query("SELECT * FROM " + WeltDataTable)
|
||||
List<WeltDataBean> loadAllWeltDataInfo();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.bean;
|
||||
package com.mogo.och.sweeper.operate.bean;
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.bean
|
||||
package com.mogo.och.sweeper.operate.bean
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.bean
|
||||
package com.mogo.och.sweeper.operate.bean
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.bean
|
||||
package com.mogo.och.sweeper.operate.bean
|
||||
|
||||
/**
|
||||
* 子任务信息
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.bean;
|
||||
package com.mogo.och.sweeper.operate.bean;
|
||||
|
||||
public class SweeperSubTaskDetailBean {
|
||||
private int id; //子任务id
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.callback;
|
||||
package com.mogo.och.sweeper.operate.callback;
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.mogo.och.sweeper.callback
|
||||
package com.mogo.och.sweeper.operate.callback
|
||||
|
||||
import com.mogo.och.sweeper.bean.SweeperMainTaskBean
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskBean
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean
|
||||
import com.mogo.och.sweeper.constant.SubTaskTypeEnum
|
||||
import com.mogo.och.sweeper.constant.TaskStatusEnum
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean
|
||||
import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum
|
||||
import com.mogo.och.sweeper.operate.constant.TaskStatusEnum
|
||||
import java.util.ArrayList
|
||||
|
||||
/**
|
||||
@@ -16,12 +16,12 @@ interface ISweeperTaskCallback {
|
||||
/**
|
||||
* 获取主任务列表
|
||||
*/
|
||||
fun setMainTaskList(mainTaskBeanList: MutableList<SweeperMainTaskBean>?,refresh:Boolean)
|
||||
fun setMainTaskList(mainTaskBeanList: MutableList<SweeperMainTaskBean>?, refresh:Boolean)
|
||||
|
||||
/**
|
||||
* 获取子任务列表
|
||||
*/
|
||||
fun setSubTaskBean(subTaskBean: SweeperSubTaskBean,isWorkingSubTask:Boolean)
|
||||
fun setSubTaskBean(subTaskBean: SweeperSubTaskBean, isWorkingSubTask:Boolean)
|
||||
|
||||
/**
|
||||
* 更新子任务状态
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.callback
|
||||
package com.mogo.och.sweeper.operate.callback
|
||||
|
||||
interface IWeltMapSwitchToSmallCallback {
|
||||
fun onWeltMapSwitchToSmall()
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.constant
|
||||
package com.mogo.och.sweeper.operate.constant
|
||||
|
||||
/**
|
||||
* 任务类型
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.constant
|
||||
package com.mogo.och.sweeper.operate.constant
|
||||
|
||||
/**
|
||||
* 当前任务操作菜单
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.sweeper.event;
|
||||
package com.mogo.och.sweeper.operate.event;
|
||||
|
||||
import com.amap.api.maps.model.LatLng;
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.fragment;
|
||||
package com.mogo.och.sweeper.operate.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -29,12 +29,12 @@ import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.map.uicontroller.VisualAngleMode;
|
||||
import com.mogo.och.common.module.map.AmapNaviToDestinationModel;
|
||||
import com.mogo.och.sweeper.R;
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.callback.ISweeperTaskDataToFragmentCallback;
|
||||
import com.mogo.och.sweeper.callback.IWeltMapSwitchToSmallCallback;
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.view.SweeperTrafficDataView;
|
||||
import com.mogo.och.sweeper.view.WeltSmallMapView;
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback;
|
||||
import com.mogo.och.sweeper.operate.callback.IWeltMapSwitchToSmallCallback;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.operate.view.SweeperTrafficDataView;
|
||||
import com.mogo.och.sweeper.common.view.WeltSmallMapView;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.fragment;
|
||||
package com.mogo.och.sweeper.operate.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweepercloud.fragment;
|
||||
package com.mogo.och.sweeper.operate.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@@ -8,7 +8,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.common.module.map.AmapNaviToDestinationModel;
|
||||
import com.mogo.och.common.module.map.CommonAmapNaviVIew;
|
||||
import com.mogo.och.common.module.map.ICommonNaviChangedCallback;
|
||||
import com.mogo.och.sweepercloud.R;
|
||||
import com.mogo.och.sweeper.R;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
@@ -43,21 +43,21 @@ public class SweeperAmapNaviFragment extends BaseSweeperUIFragment implements AM
|
||||
protected void initViews(Bundle savedInstanceState) {
|
||||
super.initViews(savedInstanceState);
|
||||
if (mAMapNaviView != null)
|
||||
mAMapNaviView.onCreate(savedInstanceState);
|
||||
mAMapNaviView.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (mAMapNaviView != null)
|
||||
mAMapNaviView.onResume();
|
||||
mAMapNaviView.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
if (mAMapNaviView != null)
|
||||
mAMapNaviView.onPause();
|
||||
mAMapNaviView.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.fragment
|
||||
package com.mogo.och.sweeper.operate.fragment
|
||||
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
@@ -17,15 +17,19 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.bean.*
|
||||
import com.mogo.och.sweeper.constant.SubTaskTypeEnum
|
||||
import com.mogo.och.sweeper.constant.TaskStatusEnum
|
||||
import com.mogo.och.sweeper.database.MyDataBase
|
||||
import com.mogo.och.sweeper.presenter.SweeperPresenter
|
||||
import com.mogo.och.sweeper.ui.adapter.TaskListAdapter
|
||||
import com.mogo.och.sweeper.ui.dialog.SweeperManualDrivingDialog
|
||||
import com.mogo.och.sweeper.ui.dialog.SweeperNoTitleCommonDialog
|
||||
import com.mogo.och.sweeper.ui.popwindow.MenuPopWindow
|
||||
import com.mogo.och.sweeper.operate.bean.*
|
||||
import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum
|
||||
import com.mogo.och.sweeper.operate.constant.TaskStatusEnum
|
||||
import com.mogo.och.sweeper.common.database.MyDataBase
|
||||
import com.mogo.och.sweeper.operate.bean.SubInfo
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean
|
||||
import com.mogo.och.sweeper.operate.presenter.SweeperPresenter
|
||||
import com.mogo.och.sweeper.operate.ui.adapter.TaskListAdapter
|
||||
import com.mogo.och.sweeper.operate.ui.dialog.SweeperManualDrivingDialog
|
||||
import com.mogo.och.sweeper.operate.ui.dialog.SweeperNoTitleCommonDialog
|
||||
import com.mogo.och.sweeper.operate.ui.popwindow.MenuPopWindow
|
||||
import kotlinx.android.synthetic.main.fragment_och_sweeper.*
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.*
|
||||
import kotlinx.android.synthetic.main.sweeper_no_data_common_view.*
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.mogo.och.sweeper.fragment
|
||||
package com.mogo.och.sweeper.operate.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.commons.mvp.BaseFragment
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.callback.ISweeperTaskDataToFragmentCallback
|
||||
import com.mogo.och.sweeper.callback.IWeltMapSwitchToSmallCallback
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback
|
||||
import com.mogo.och.sweeper.operate.callback.IWeltMapSwitchToSmallCallback
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean
|
||||
import kotlinx.android.synthetic.main.fragment_welt_map_overview.*
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_map_overview.*
|
||||
|
||||
@@ -67,13 +67,13 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun newInstance(
|
||||
mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback,
|
||||
mCurrentTaskEndStation:LatLng?,
|
||||
weltDataList: ArrayList<WeltDataBean>?,
|
||||
latLngs: ArrayList<LatLng>?,
|
||||
routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>?,
|
||||
progress:String?,
|
||||
sweeperFragment: SweeperFragment
|
||||
mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback,
|
||||
mCurrentTaskEndStation:LatLng?,
|
||||
weltDataList: ArrayList<WeltDataBean>?,
|
||||
latLngs: ArrayList<LatLng>?,
|
||||
routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>?,
|
||||
progress:String?,
|
||||
sweeperFragment: SweeperFragment
|
||||
): WeltMapOverViewFragment {
|
||||
val args = Bundle()
|
||||
args.putSerializable("weltDataList", weltDataList)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.model;
|
||||
package com.mogo.och.sweeper.operate.model;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER;
|
||||
|
||||
@@ -40,21 +40,21 @@ import com.mogo.och.common.module.utils.PinYinUtil;
|
||||
import com.mogo.och.common.module.utils.ToastUtilsOch;
|
||||
import com.mogo.och.common.module.voice.VoiceNotice;
|
||||
import com.mogo.och.sweeper.R;
|
||||
import com.mogo.och.sweeper.bean.BaseResponse;
|
||||
import com.mogo.och.sweeper.bean.SubInfo;
|
||||
import com.mogo.och.sweeper.bean.SweeperMainTaskBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean;
|
||||
import com.mogo.och.sweeper.callback.ISweeperADASStatusCallback;
|
||||
import com.mogo.och.sweeper.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweeper.callback.ISweeperTaskCallback;
|
||||
import com.mogo.och.sweeper.constant.SubTaskTypeEnum;
|
||||
import com.mogo.och.sweeper.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.constant.TaskStatusEnum;
|
||||
import com.mogo.och.sweeper.net.SweeperServiceManager;
|
||||
import com.mogo.och.sweeper.util.SweeperAnalyticsManager;
|
||||
import com.mogo.och.sweeper.util.SweeperTrajectoryManager;
|
||||
import com.mogo.och.sweeper.operate.bean.BaseResponse;
|
||||
import com.mogo.och.sweeper.operate.bean.SubInfo;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean;
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean;
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperADASStatusCallback;
|
||||
import com.mogo.och.sweeper.operate.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweeper.operate.callback.ISweeperTaskCallback;
|
||||
import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum;
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.operate.constant.TaskStatusEnum;
|
||||
import com.mogo.och.sweeper.operate.net.SweeperServiceManager;
|
||||
import com.mogo.och.sweeper.operate.util.SweeperAnalyticsManager;
|
||||
import com.mogo.och.sweeper.operate.util.SweeperTrajectoryManager;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.mogo.och.sweeper.net;
|
||||
import com.mogo.och.sweeper.bean.BaseResponse;
|
||||
import com.mogo.och.sweeper.bean.SubInfo;
|
||||
import com.mogo.och.sweeper.bean.SubStartRequest;
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperMainTaskBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean;
|
||||
package com.mogo.och.sweeper.operate.net;
|
||||
import com.mogo.och.sweeper.operate.bean.BaseResponse;
|
||||
import com.mogo.och.sweeper.operate.bean.SubInfo;
|
||||
import com.mogo.och.sweeper.operate.bean.SubStartRequest;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.net
|
||||
package com.mogo.och.sweeper.operate.net
|
||||
|
||||
import android.content.Context
|
||||
import com.elegant.network.utils.GsonUtil
|
||||
@@ -10,8 +10,13 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl
|
||||
import com.mogo.och.common.module.biz.network.interceptor.transformTry
|
||||
import com.mogo.och.sweeper.bean.*
|
||||
import com.mogo.och.sweeper.model.SweeperTaskModel
|
||||
import com.mogo.och.sweeper.operate.model.SweeperTaskModel
|
||||
import com.mogo.och.sweeper.operate.bean.BaseResponse
|
||||
import com.mogo.och.sweeper.operate.bean.SubInfo
|
||||
import com.mogo.och.sweeper.operate.bean.SubStartRequest
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean
|
||||
|
||||
object SweeperServiceManager {
|
||||
private val TAG = SweeperTaskModel::class.java.simpleName
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.presenter;
|
||||
package com.mogo.och.sweeper.operate.presenter;
|
||||
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER;
|
||||
@@ -23,23 +23,23 @@ import com.mogo.eagle.core.utilcode.util.ThreadUtils;
|
||||
import com.mogo.och.common.module.manager.autopilotmanager.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.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskBean;
|
||||
import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean;
|
||||
import com.mogo.och.sweeper.callback.ISweeperADASStatusCallback;
|
||||
import com.mogo.och.sweeper.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweeper.callback.ISweeperTaskCallback;
|
||||
import com.mogo.och.sweeper.callback.ISweeperTaskRouteCallback;
|
||||
import com.mogo.och.sweeper.constant.SubTaskTypeEnum;
|
||||
import com.mogo.och.sweeper.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.constant.TaskStatusEnum;
|
||||
import com.mogo.och.sweeper.database.MyDataBase;
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.fragment.SweeperFragment;
|
||||
import com.mogo.och.sweeper.model.SweeperTaskModel;
|
||||
import com.mogo.och.sweeper.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweeper.util.SweeperTrajectoryManager;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean;
|
||||
import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean;
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean;
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperADASStatusCallback;
|
||||
import com.mogo.och.sweeper.operate.callback.ISweeperControllerStatusCallback;
|
||||
import com.mogo.och.sweeper.operate.callback.ISweeperTaskCallback;
|
||||
import com.mogo.och.sweeper.common.callback.ISweeperTaskRouteCallback;
|
||||
import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum;
|
||||
import com.mogo.och.sweeper.common.constant.SweeperConst;
|
||||
import com.mogo.och.sweeper.operate.constant.TaskStatusEnum;
|
||||
import com.mogo.och.sweeper.common.database.MyDataBase;
|
||||
import com.mogo.och.sweeper.common.database.bean.WeltDataBean;
|
||||
import com.mogo.och.sweeper.operate.fragment.SweeperFragment;
|
||||
import com.mogo.och.sweeper.operate.model.SweeperTaskModel;
|
||||
import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweeper.operate.util.SweeperTrajectoryManager;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -348,7 +348,7 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
weltDataBean.setCleanMode(roboSweeperTaskIndex.getCleanMode());
|
||||
weltDataBean.setCleanDirection(roboSweeperTaskIndex.getCleanDirection());
|
||||
weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity());
|
||||
weltDataBean.setSubTaskId(mSubTaskId);
|
||||
weltDataBean.setSubTaskId(String.valueOf(mSubTaskId));
|
||||
MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean);
|
||||
String distance;
|
||||
if (roboSweeperTaskIndex.getDistToRefEdgePoint() >= 1.0) {//大于等于1m
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.mogo.och.sweeper.ui;
|
||||
package com.mogo.och.sweeper.operate.ui;
|
||||
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_BOTH_SIDE;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_LEFT_SIDE;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_RIGHT_SIDE;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRAND;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRONG;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_DRAW;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_SWEEP;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_WASH;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_WASH_SWEEP;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_BOTH_SIDE;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_LEFT_SIDE;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_RIGHT_SIDE;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRAND;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRONG;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_DRAW;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_SWEEP;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_WASH;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_MODE_WASH_SWEEP;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
@@ -32,10 +32,10 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener;
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils;
|
||||
import com.mogo.och.sweeper.R;
|
||||
import com.mogo.och.sweeper.callback.ICleaningModeStateCallback;
|
||||
import com.mogo.och.sweeper.constant.OperateStateEnum;
|
||||
import com.mogo.och.sweeper.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweeper.view.NoTouchConstraintLayout;
|
||||
import com.mogo.och.sweeper.common.callback.ICleaningModeStateCallback;
|
||||
import com.mogo.och.sweeper.common.constant.OperateStateEnum;
|
||||
import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil;
|
||||
import com.mogo.och.sweeper.common.view.NoTouchConstraintLayout;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -44,10 +44,10 @@ import java.util.List;
|
||||
import chassis.ChassisStatesOuterClass;
|
||||
import chassis.SpecialVehicleTaskCmdOuterClass;
|
||||
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_CLOSE;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_CLOSE;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_WORK_CLOSE;
|
||||
import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_WORK_OPEN;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_CLOSE;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_MODE_CLOSE;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_WORK_CLOSE;
|
||||
import static com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil.CLEAN_WORK_OPEN;
|
||||
|
||||
/**
|
||||
* 清扫车操作面板View
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.sweeper.ui.adapter
|
||||
package com.mogo.och.sweeper.operate.ui.adapter
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.LayoutInflater
|
||||
@@ -9,7 +9,7 @@ import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.bean.SweeperMainTaskBean
|
||||
import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean
|
||||
|
||||
class TaskListAdapter() : RecyclerView.Adapter<TaskListAdapter.TaskViewHolder>() {
|
||||
private var mItemClickListener: TaskItemClickListener? = null
|
||||
@@ -42,7 +42,7 @@ class TaskListAdapter() : RecyclerView.Adapter<TaskListAdapter.TaskViewHolder>()
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
interface TaskItemClickListener {
|
||||
fun onItemClick(position: Int,mainTask:SweeperMainTaskBean)
|
||||
fun onItemClick(position: Int,mainTask: SweeperMainTaskBean)
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TaskViewHolder {
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.mogo.och.sweepercloud.ui.dialog
|
||||
package com.mogo.och.sweeper.operate.ui.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
|
||||
/**
|
||||
* 不带带有title, tip,confirm,cancel的dialog
|
||||
@@ -16,7 +16,7 @@ class SweeperManualDrivingDialog: BaseFloatDialog, LifecycleObserver {
|
||||
|
||||
private var clickListener: ClickListener? = null
|
||||
|
||||
constructor(builder: Builder,context: Context) : super(context) {
|
||||
constructor(builder: Builder, context: Context) : super(context) {
|
||||
commonTips?.text = builder.tipsStr
|
||||
commonConfirm?.text = builder.confirmStr
|
||||
}
|
||||
@@ -53,12 +53,12 @@ class SweeperManualDrivingDialog: BaseFloatDialog, LifecycleObserver {
|
||||
class Builder{
|
||||
var tipsStr:String = ""
|
||||
var confirmStr:String = ""
|
||||
fun tips(tips: String) : Builder{
|
||||
fun tips(tips: String) : Builder {
|
||||
this.tipsStr = tips
|
||||
return this
|
||||
}
|
||||
|
||||
fun confirmStr(commit: String) : Builder{
|
||||
fun confirmStr(commit: String) : Builder {
|
||||
this.confirmStr = commit
|
||||
return this
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.mogo.och.sweepercloud.ui.dialog
|
||||
package com.mogo.och.sweeper.operate.ui.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweeper.R
|
||||
|
||||
/**
|
||||
* 不带带有title, tip,confirm,cancel的dialog
|
||||
@@ -17,7 +17,7 @@ class SweeperNoTitleCommonDialog: BaseFloatDialog, LifecycleObserver {
|
||||
|
||||
private var clickListener: ClickListener? = null
|
||||
|
||||
constructor(builder: Builder,context: Context) : super(context) {
|
||||
constructor(builder: Builder, context: Context) : super(context) {
|
||||
commonTips?.text = builder.tipsStr
|
||||
commonCancel?.text = builder.cancelStr
|
||||
commonConfirm?.text = builder.confirmStr
|
||||
@@ -62,17 +62,17 @@ class SweeperNoTitleCommonDialog: BaseFloatDialog, LifecycleObserver {
|
||||
var tipsStr:String = ""
|
||||
var confirmStr:String = ""
|
||||
var cancelStr:String = ""
|
||||
fun tips(tips: String) : Builder{
|
||||
fun tips(tips: String) : Builder {
|
||||
this.tipsStr = tips
|
||||
return this
|
||||
}
|
||||
|
||||
fun confirmStr(commit: String) : Builder{
|
||||
fun confirmStr(commit: String) : Builder {
|
||||
this.confirmStr = commit
|
||||
return this
|
||||
}
|
||||
|
||||
fun cancelStr(cancel: String) : Builder{
|
||||
fun cancelStr(cancel: String) : Builder {
|
||||
this.cancelStr = cancel
|
||||
return this
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user