[清扫车]部分UI走查修改
BIN
OCH/mogo-och-sweeper/src/main/assets/map_style.data
Normal file
BIN
OCH/mogo-och-sweeper/src/main/assets/map_style_extra.data
Normal file
@@ -61,13 +61,12 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
private static final String TAG = "BaseSweeperTabFragment";
|
||||
//地图放大缩小
|
||||
private ImageView mSwitchMapModeImage;
|
||||
private LinearLayout mSwitchMapModeLayout;
|
||||
//设置信息面板
|
||||
protected FrameLayout mSettingBtn;
|
||||
protected ImageView mSettingBtn;
|
||||
//安全员问题上报面板
|
||||
protected FrameLayout mBadcaseBtn;
|
||||
protected ImageView mCardBtn;
|
||||
//道路状况上报面板
|
||||
protected FrameLayout mAICollectBtn;
|
||||
protected ImageView mAICollectBtn;
|
||||
//任务列表面板
|
||||
private FrameLayout flTaskListPanelContainer;
|
||||
private MapBizView mapBizView;
|
||||
@@ -114,11 +113,10 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
flTaskListPanelContainer = findViewById(R.id.module_mogo_och_task_list_container);
|
||||
mTrafficDataView = findViewById(R.id.sweeper_arc);
|
||||
panelView = LayoutInflater.from(getContext()).inflate(getTaskListPanelViewId(), flTaskListPanelContainer);
|
||||
mSwitchMapModeLayout = findViewById(R.id.sweeper_switch_model_layout);
|
||||
mSwitchMapModeImage = findViewById(R.id.sweeper_switch_model_icon);
|
||||
mSettingBtn = findViewById(R.id.module_mogo_och_setting_layout);
|
||||
mBadcaseBtn = findViewById(R.id.module_mogo_och_badcase_rl);
|
||||
mAICollectBtn = findViewById(R.id.module_mogo_och_ai_collet_rl);
|
||||
mSettingBtn = findViewById(R.id.sweeper_setting_model_icon);
|
||||
mCardBtn = findViewById(R.id.sweeper_card_model_icon);
|
||||
mAICollectBtn = findViewById(R.id.sweeper_collect_model_icon);
|
||||
mCloseNavIcon = findViewById(R.id.sweeper_close_navi_icon);
|
||||
mRefreshNavi = findViewById(R.id.sweeper_refresh_navi);
|
||||
mMapWeltView = findViewById(R.id.sweeper_task_welt_small_map);
|
||||
@@ -159,11 +157,11 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
IMogoMapUIController controller = CallerMapUIServiceManager.INSTANCE.getMapUIController();
|
||||
if (controller != null) {
|
||||
if (controller.getCurrentMapVisualAngle().isLongSight()) {
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_long);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_big_selector);
|
||||
} else if (controller.getCurrentMapVisualAngle().isMediumSight()) {
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_medium);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_small_selector);
|
||||
} else {
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_medium);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_small_selector);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -303,11 +301,11 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
@Override
|
||||
public void onMapVisualAngleChanged(VisualAngleMode visualAngleMode) {
|
||||
if (visualAngleMode.isMediumSight()) {
|
||||
mSwitchMapModeLayout.setVisibility(View.VISIBLE);
|
||||
mSwitchMapModeImage.setVisibility(View.VISIBLE);
|
||||
} else if (visualAngleMode.isLongSight()) {
|
||||
mSwitchMapModeLayout.setVisibility(View.VISIBLE);
|
||||
mSwitchMapModeImage.setVisibility(View.VISIBLE);
|
||||
} else if (visualAngleMode.isCloseSight()) {
|
||||
mSwitchMapModeLayout.setVisibility(View.GONE);
|
||||
mSwitchMapModeImage.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -331,7 +329,7 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
*/
|
||||
private void setBottomBtnListener() {
|
||||
updateSwitchMapIcon();
|
||||
mSwitchMapModeLayout.setOnClickListener(new OnPreventFastClickListener() {
|
||||
mSwitchMapModeImage.setOnClickListener(new OnPreventFastClickListener() {
|
||||
@Override
|
||||
public void onClickImpl(View v) {
|
||||
IMogoMapUIController controller = CallerMapUIServiceManager.INSTANCE.getMapUIController();
|
||||
@@ -342,34 +340,29 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
// 2.11.0去掉
|
||||
// MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).visibleAllMarkers();
|
||||
controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_medium);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_small_selector);
|
||||
} else if (controller.getCurrentMapVisualAngle().isMediumSight()) {
|
||||
// 2.11.0去掉
|
||||
// MogoMarkerManager.getInstance(AbsMogoApplication.getApp())
|
||||
// .inVisibleWithoutMarkers(DataTypes.TYPE_MARKER_ADAS, BusConst.TYPE_MARKER_BUS_ORDER);
|
||||
controller.changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_long);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_big_selector);
|
||||
} else {
|
||||
// 2.11.0去掉
|
||||
// MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).visibleAllMarkers();
|
||||
controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_long);
|
||||
mSwitchMapModeImage.setImageResource(R.drawable.sweeper_switch_map_big_selector);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
mSettingBtn = findViewById(R.id.module_mogo_och_setting_layout);
|
||||
mSettingBtn.setOnClickListener(v -> {
|
||||
// TODO: 2021/12/9
|
||||
CallerHmiManager.INSTANCE.showToolsView();
|
||||
});
|
||||
// mBadcaseBtn的visible显示逻辑在showBadcaseEntrance内处理
|
||||
mBadcaseBtn = findViewById(R.id.module_mogo_och_badcase_rl);
|
||||
if (mBadcaseBtn != null) {
|
||||
CallerDevaToolsManager.INSTANCE.initBadCase(mBadcaseBtn);
|
||||
if (mCardBtn != null) {
|
||||
CallerDevaToolsManager.INSTANCE.initBadCase(mCardBtn);
|
||||
}
|
||||
|
||||
mAICollectBtn = findViewById(R.id.module_mogo_och_ai_collet_rl);
|
||||
if (mAICollectBtn != null) {
|
||||
CallerDevaToolsManager.INSTANCE.initAiCollect(mAICollectBtn);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ 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.database.MyDataBase
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.presenter.SweeperPresenter
|
||||
import com.mogo.och.sweeper.ui.adapter.TaskListAdapter
|
||||
@@ -28,7 +29,6 @@ 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.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import java.math.BigDecimal
|
||||
import java.math.RoundingMode
|
||||
@@ -47,7 +47,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
private var mMainTask: SweeperMainTaskBean? = null
|
||||
private var mLocation: MogoLocation? = null
|
||||
private var mSubInfo: SubInfo? = null
|
||||
private var isFinished:Boolean=true
|
||||
|
||||
//当前经纬度
|
||||
override fun getTagName(): String {
|
||||
@@ -255,11 +254,14 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
showAmapNaviToStationFragment(false)
|
||||
mPresenter?.getMainTaskList()
|
||||
clearAllMarkerAndPolyline()
|
||||
//整个大任务结束,则删除它相关的贴边数据缓存
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
MyDataBase.getInstance().weltDataDao.deleteAllWeltData()
|
||||
}
|
||||
return
|
||||
}
|
||||
when (typeEnum.code) {
|
||||
TaskStatusEnum.END_SUBTASK.code -> {//子任务结束
|
||||
isFinished=false
|
||||
mCurrentSubPosition++
|
||||
setSubTaskData()
|
||||
d(SceneConstant.M_SWEEPER + TAG, "END_SUBTASK mCurrentSubPosition:$mCurrentSubPosition")
|
||||
@@ -322,6 +324,11 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
//清除任务全览图的marker和路线
|
||||
clearAllMarkerAndPolyline()
|
||||
showOrHideOverMapViewFragment(false)
|
||||
showAmapNaviToStationFragment(false)
|
||||
//整个大任务结束,则删除它相关的贴边数据缓存
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
MyDataBase.getInstance().weltDataDao.deleteAllWeltData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -497,13 +504,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
|
||||
//模拟结束子任务
|
||||
override fun debugEndSubTask() {
|
||||
lifecycleScope.launch(Dispatchers.IO){
|
||||
while (isFinished){
|
||||
mSubInfo?.let {
|
||||
mPresenter?.onArriveTaskEnd(null)
|
||||
}
|
||||
delay(100)
|
||||
}
|
||||
}
|
||||
mPresenter?.onArriveTaskEnd(null)
|
||||
}
|
||||
}
|
||||
@@ -70,8 +70,6 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
private static final long WELT_DATA_INTERVAL_MILLIS = 2000L;
|
||||
// 贴边数据当前时间戳
|
||||
private long mWeltDataCurrentTimeMillis;
|
||||
//当前自动驾驶状态
|
||||
private int mCurrentAutopilotStatus;
|
||||
|
||||
public SweeperPresenter(SweeperFragment view) {
|
||||
super(view);
|
||||
@@ -119,6 +117,7 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
if (autopilotStatusInfo == null) return;
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "onAutopilotStatusResponse state:" + autopilotStatusInfo.getState());
|
||||
SweeperTaskModel.getInstance().setAutopilotState(autopilotStatusInfo.getState());
|
||||
|
||||
ThreadUtils.runOnUiThread(() -> mView.startAutoBtn(autopilotStatusInfo.getState()));
|
||||
switch (autopilotStatusInfo.getState()) {
|
||||
case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE://不可自动驾驶
|
||||
@@ -381,36 +380,6 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
if (subTaskStatus == 1) {
|
||||
SweeperTaskModel.getInstance().subTaskStart(isFirst, isEnd, subTaskId, subTaskType);
|
||||
}
|
||||
// AutopilotControlParameters parameters = new AutopilotControlParameters();
|
||||
// parameters.isSpeakVoice = true;
|
||||
// parameters.routeID = 164;
|
||||
// parameters.routeName = "bus5KM(小董)";
|
||||
// parameters.startName = PinYinUtil.getPinYinHeadChar("鹰眼270-13号路口起");
|
||||
// parameters.endName = PinYinUtil.getPinYinHeadChar("老干部演绎中心11223");
|
||||
// parameters.startLatLon = new AutopilotControlParameters
|
||||
// .AutoPilotLonLat( 40.199247410363796,116.73367125257714 );
|
||||
// parameters.endLatLon = new AutopilotControlParameters
|
||||
// .AutoPilotLonLat(40.20237, 116.74481 );
|
||||
// parameters.vehicleType = 10;
|
||||
// if (parameters.autoPilotLine == null) {
|
||||
// parameters.autoPilotLine = new AutopilotControlParameters.AutoPilotLine(
|
||||
// 164,
|
||||
// "/home/mogo/data/vehicle_monitor/MapEngine_data/track_record_data/JL/traj_164.csv",
|
||||
// "",
|
||||
// "/home/mogo/data/vehicle_monitor/MapEngine_data/track_record_data/JL/stop_164.txt",
|
||||
// "",
|
||||
// 1662021611000L,
|
||||
// "金旅牌XML6606JEVY0",
|
||||
// "",
|
||||
// "",
|
||||
// "",
|
||||
// "",
|
||||
// 0L);
|
||||
// }
|
||||
//// CallerLogger.INSTANCE.d( M_BUS + TAG, "开启自动驾驶====" + GsonUtil.jsonFromObject(parameters)
|
||||
//// +" startLatLon="+currentStation.getName()+",endLatLon="+nextStation.getName());
|
||||
// CallerLogger.INSTANCE.d( M_BUS + TAG, "开启自动驾驶====" + GsonUtil.jsonFromObject(parameters));
|
||||
// CallerAutoPilotControlManager.INSTANCE.startAutoPilot(parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -458,4 +427,8 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
public void setSubTakDetail(@NonNull SweeperSubTaskDetailBean subTaskDetailBean, SubTaskTypeEnum subTaskTypeEnum) {
|
||||
mView.setSubTakDetail(subTaskDetailBean, subTaskTypeEnum);
|
||||
}
|
||||
//mock贴边数据
|
||||
private void weltData(MogoLocation location){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.mogo.och.sweeper.util;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
/**
|
||||
* @author donghongyu
|
||||
* @date 12/18/20 5:37 PM
|
||||
*/
|
||||
public class SweeperMapAssetStyleUtil {
|
||||
|
||||
public static byte[] getAssetsStyle(Context context,String fileName) {
|
||||
byte[] buffer1 = null;
|
||||
InputStream is1 = null;
|
||||
try {
|
||||
is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style.data
|
||||
int lenght1 = is1.available();
|
||||
buffer1 = new byte[lenght1];
|
||||
is1.read(buffer1);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (is1 != null) {
|
||||
is1.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return buffer1;
|
||||
}
|
||||
|
||||
|
||||
public static byte[] getAssetsExtraStyle(Context context, String fileName) {
|
||||
byte[] buffer1 = null;
|
||||
InputStream is1 = null;
|
||||
try {
|
||||
is1 = context.getResources().getAssets().open(fileName); //eg. over_view_style_extra.data
|
||||
int lenght1 = is1.available();
|
||||
buffer1 = new byte[lenght1];
|
||||
is1.read(buffer1);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (is1 != null) {
|
||||
is1.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return buffer1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.bean.SubInfo
|
||||
import kotlinx.android.synthetic.main.sweeper_subtask_view.view.*
|
||||
@@ -36,12 +37,13 @@ class SubTaskView : ConstraintLayout {
|
||||
} else {
|
||||
"${taskInfo.mileage / 1000F}千米"
|
||||
}
|
||||
// var timeSpent=if(DateTimeUtil.secondsToHourStr(taskInfo.timeSpent)!=""){
|
||||
// "${DateTimeUtil.secondsToHourStr(taskInfo.timeSpent/1000)}小时${DateTimeUtil.secondsToMinuteStr(taskInfo.timeSpent/1000)}分钟"
|
||||
// }else{
|
||||
// "${DateTimeUtil.secondsToMinuteStr(taskInfo.timeSpent/1000)}分钟"
|
||||
// }
|
||||
tvSubTaskDesc.text = "全程约${mileage},预计耗时${taskInfo.timeSpent}分钟"
|
||||
val time=taskInfo.timeSpent.toLong()
|
||||
var timeSpent=if(DateTimeUtil.secondsToHourStr(time)!=""){
|
||||
"${DateTimeUtil.secondsToHourStr(time)}小时${DateTimeUtil.secondsToMinuteStr(time)}分钟"
|
||||
}else{
|
||||
"${DateTimeUtil.secondsToMinuteStr(time)}分钟"
|
||||
}
|
||||
tvSubTaskDesc.text = "全程约${mileage},预计耗时$timeSpent"
|
||||
tvSubTaskName.setTextColor(if (isSelect) Color.parseColor("#3BD2FF") else Color.parseColor("#FFFFFF"))
|
||||
if (isSelect) {
|
||||
ivSubTaskSelect.visibility = View.VISIBLE
|
||||
|
||||
@@ -30,6 +30,8 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
private var listTask: List<SubInfo>? = null
|
||||
private var mSubTaskType: SubTaskTypeEnum = SubTaskTypeEnum.AUTOPILOT_SUBTYPE
|
||||
private var mSubTaskStatus: Int = 1
|
||||
//当前自动驾驶状态
|
||||
private val mCurrentAutopilotStatus = 0
|
||||
|
||||
constructor(context: Context) : super(context) {}
|
||||
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
|
||||
@@ -52,7 +54,9 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
ToastUtils.showLong("人工子任务无轨迹,无法启动自驾")
|
||||
return@setOnClickListener
|
||||
}
|
||||
presenter?.startAutopilot()
|
||||
if (mCurrentAutopilotStatus!=IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING){
|
||||
presenter?.startAutopilot()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -118,24 +122,20 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
fun setStartAutoBtn(autopilotState: Int) {
|
||||
when (autopilotState) {
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {
|
||||
tvStartAuto.isSelected = false
|
||||
tvStartAuto.isClickable = false
|
||||
tvStartAuto.text="不可自动驾驶"
|
||||
tvStartAuto.text="自动驾驶"
|
||||
tvStartAuto.isSelected=false
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {
|
||||
tvStartAuto.isSelected = true
|
||||
tvStartAuto.isClickable = true
|
||||
tvStartAuto.text="人工驾驶"
|
||||
tvStartAuto.text="自动驾驶"
|
||||
tvStartAuto.isSelected=false
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
tvStartAuto.isSelected = true
|
||||
tvStartAuto.isClickable = true
|
||||
tvStartAuto.text="自动驾驶"
|
||||
tvStartAuto.isSelected=true
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> {
|
||||
tvStartAuto.isSelected = false
|
||||
tvStartAuto.isClickable = false
|
||||
tvStartAuto.text="平行驾驶"
|
||||
tvStartAuto.isSelected=true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,6 +68,8 @@ class TurnSignalView : LinearLayout {
|
||||
else -> { //消失
|
||||
leftSelectImage.clearAnimation()
|
||||
rightSelectImage.clearAnimation()
|
||||
leftSelectImage.visibility = View.GONE
|
||||
rightSelectImage.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.util.SweeperMapAssetStyleUtil
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_map_overview.view.*
|
||||
|
||||
/**
|
||||
@@ -74,8 +75,24 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
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)
|
||||
@@ -148,10 +165,10 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
* 绘制起点和终点的marker
|
||||
*/
|
||||
fun drawStartAndEndMarker(startPoint: LatLng, endPoint: LatLng) {
|
||||
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.start_maker_icon)))
|
||||
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.end_maker_icon)))
|
||||
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
|
||||
endMarker?.position = endPoint
|
||||
mLineMarkers.add(endMarker)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.mogo.och.sweeper.view
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.os.Looper
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
@@ -17,10 +16,10 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
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.UiThreadHandler
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.sweeper.R
|
||||
import com.mogo.och.sweeper.database.bean.WeltDataBean
|
||||
import com.mogo.och.sweeper.util.SweeperMapAssetStyleUtil
|
||||
import kotlinx.android.synthetic.main.sweeper_welt_small_map_view.view.*
|
||||
|
||||
/**
|
||||
@@ -34,7 +33,6 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
private var mPolyline: Polyline? = null
|
||||
private var colorList: MutableList<Int> = mutableListOf()
|
||||
private val mLineMarkers: MutableList<Marker?> = mutableListOf()
|
||||
private var mFirst: Boolean = false
|
||||
|
||||
//清扫车任务地图
|
||||
private val TAG = "WeltMapView"
|
||||
@@ -107,8 +105,22 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
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?.setOnMapLoadedListener(AMap.OnMapLoadedListener {
|
||||
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)
|
||||
mAMap?.setPointToCenter(sweeperSmallTextureMapView.width / 2, sweeperSmallTextureMapView.height / 2)
|
||||
})
|
||||
}
|
||||
@@ -163,13 +175,14 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
mLineMarkers[i]?.remove()
|
||||
}
|
||||
mLineMarkers.clear()
|
||||
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.start_maker_icon)))
|
||||
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_start_marker_icon)))
|
||||
startMarker?.position = startPoint
|
||||
mLineMarkers.add(startMarker)
|
||||
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.end_maker_icon)))
|
||||
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
|
||||
endMarker?.position = endPoint
|
||||
mLineMarkers.add(endMarker)
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除所有标记和路线
|
||||
*/
|
||||
@@ -197,25 +210,27 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
/**
|
||||
* 设置贴边数据
|
||||
*/
|
||||
fun setWeltData(weltData: MutableList<WeltDataBean>,isWeltData: Boolean,distance:String) {
|
||||
fun setWeltData(weltData: MutableList<WeltDataBean>, isWeltData: Boolean, distance: String) {
|
||||
this.mWeltData = weltData
|
||||
for (i in mWeltData.indices) {
|
||||
mCoordinatesLatLng.add(CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(context, mWeltData[i].locLon, mWeltData[i].locLat))
|
||||
}
|
||||
taskWeltDistanceTv.text="贴边:${distance}cm"
|
||||
taskWeltDistanceTv.text = "贴边:${distance}cm"
|
||||
//if (!mFirst&&isWeltData) {
|
||||
// showOrHiddenWelt(true)
|
||||
// mFirst = true
|
||||
//}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置任务进度
|
||||
*/
|
||||
fun setTaskProgress(progress:String?){
|
||||
taskWeltDistanceTv.visibility=View.VISIBLE
|
||||
taskProgressTv.visibility=View.VISIBLE
|
||||
taskProgressTv.text=progress
|
||||
fun setTaskProgress(progress: String?) {
|
||||
taskWeltDistanceTv.visibility = View.VISIBLE
|
||||
taskProgressTv.visibility = View.VISIBLE
|
||||
taskProgressTv.text = progress
|
||||
}
|
||||
|
||||
fun onCreateView(savedInstanceState: Bundle?) {
|
||||
sweeperSmallTextureMapView?.onCreate(savedInstanceState)
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_card_normal.png
Executable file
|
After Width: | Height: | Size: 26 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_card_pressed.png
Executable file
|
After Width: | Height: | Size: 28 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_collect_normal.png
Executable file
|
After Width: | Height: | Size: 29 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_collect_pressed.png
Executable file
|
After Width: | Height: | Size: 28 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_line.png
Executable file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_setting_normal.png
Executable file
|
After Width: | Height: | Size: 28 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_setting_pressed.png
Executable file
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 34 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_start_auto_running.png
Executable file
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 28 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_task_not_working.png
Executable file
|
After Width: | Height: | Size: 24 KiB |
BIN
OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_task_working.png
Executable file
|
After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient android:startColor="#2A537F" android:endColor="#263A5B" android:angle="0"/>
|
||||
<corners android:radius="@dimen/dp_28" />
|
||||
</shape>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#103360"/>
|
||||
<stroke android:color="#000000" android:width="@dimen/dp_1"/>
|
||||
<corners android:radius="@dimen/dp_30" />
|
||||
</shape>
|
||||
@@ -3,18 +3,16 @@
|
||||
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#E63F4C7D" />
|
||||
|
||||
<size
|
||||
android:width="50dp"
|
||||
android:height="50dp" />
|
||||
android:width="52dp"
|
||||
android:height="52dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape
|
||||
android:innerRadius="23dp"
|
||||
android:shape="ring"
|
||||
android:thickness="2dp"
|
||||
android:thickness="3dp"
|
||||
android:useLevel="false">
|
||||
<solid android:color="#F03232" />
|
||||
</shape>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/sweeper_collect_normal" android:state_pressed="false"/>
|
||||
<item android:drawable="@drawable/sweeper_collect_pressed" android:state_pressed="true"/>
|
||||
</selector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/sweeper_setting_normal" android:state_pressed="false"/>
|
||||
<item android:drawable="@drawable/sweeper_setting_pressed" android:state_pressed="true"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="false" android:drawable="@drawable/sweeper_start_auto_not_selected"/>
|
||||
<item android:state_selected="true" android:drawable="@drawable/sweeper_start_auto_selected"/>
|
||||
<item android:state_selected="true" android:drawable="@drawable/sweeper_start_auto_running"/>
|
||||
<item android:state_selected="false" android:drawable="@drawable/sweeper_start_auto_not_running"/>
|
||||
</selector>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#254e7d" />
|
||||
<corners
|
||||
android:bottomLeftRadius="30dp" />
|
||||
</shape>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<corners android:bottomLeftRadius="30dp"/>
|
||||
<gradient android:angle="180" android:endColor="#004DFF" android:startColor="#20AAFF" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/sweeper_card_normal" android:state_pressed="false"/>
|
||||
<item android:drawable="@drawable/sweeper_card_pressed" android:state_pressed="true"/>
|
||||
</selector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/sweeper_switch_map_big_normal" android:state_pressed="false"/>
|
||||
<item android:drawable="@drawable/sweeper_switch_map_big_pressed" android:state_pressed="true"/>
|
||||
</selector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/sweeper_switch_map_small_normal" android:state_pressed="false"/>
|
||||
<item android:drawable="@drawable/sweeper_switch_map_small_pressed" android:state_pressed="true"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="false" android:drawable="@drawable/sweeper_task_not_selected"/>
|
||||
<item android:state_selected="true" android:drawable="@drawable/sweeper_task_selected"/>
|
||||
<item android:state_pressed="true" android:drawable="@drawable/sweeper_task_working"/>
|
||||
<item android:state_pressed="false" android:drawable="@drawable/sweeper_task_not_working"/>
|
||||
</selector>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#254e7d" />
|
||||
<corners
|
||||
android:bottomRightRadius="30dp" />
|
||||
</shape>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<corners android:bottomRightRadius="30dp"/>
|
||||
<gradient android:angle="180" android:endColor="#004DFF" android:startColor="#20AAFF" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -2,7 +2,7 @@
|
||||
<LinearLayout 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:layout_width="@dimen/dp_560"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
@@ -13,32 +13,39 @@
|
||||
android:id="@+id/sweeper_cl_work_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_shape_work_mode"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeper_arc"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
<!--清扫任务当前面板-->
|
||||
<com.mogo.och.sweeper.view.SweeperCurrentTaskInfoView
|
||||
android:id="@+id/sweeper_current_task_view"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeper_cl_work_mode"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@+id/sweeper_switch_model_layout"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:visibility="gone"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="-20dp"
|
||||
/>
|
||||
<FrameLayout
|
||||
<com.mogo.och.common.module.wigets.OCHBorderShadowLayout
|
||||
android:id="@+id/sweeper_current_task_list_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="@dimen/dp_616"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_shape_work_mode">
|
||||
android:visibility="visible"
|
||||
app:bgColor="#00000000"
|
||||
app:blurRadius="@dimen/dp_28"
|
||||
app:shadowColor="#80121526"
|
||||
app:shadowRadius="@dimen/dp_30"
|
||||
app:shadow_position="outer"
|
||||
app:xOffset="0dp"
|
||||
app:yOffset="0dp">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/sweeperListCl"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
android:visibility="gone"
|
||||
android:background="@drawable/bg_shape_task_panel">
|
||||
<View
|
||||
android:id="@+id/sweeperListLine"
|
||||
android:layout_width="@dimen/dp_10"
|
||||
@@ -115,5 +122,5 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<include layout="@layout/sweeper_no_data_common_view"
|
||||
android:visibility="visible"/>
|
||||
</FrameLayout>
|
||||
</com.mogo.och.common.module.wigets.OCHBorderShadowLayout>
|
||||
</LinearLayout>
|
||||
@@ -84,106 +84,65 @@
|
||||
android:id="@+id/module_mogo_och_task_list_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/dp_41"
|
||||
android:layout_marginBottom="@dimen/dp_30"
|
||||
app:layout_constraintBottom_toTopOf="@+id/sweeper_switch_model_layout"
|
||||
android:layout_marginLeft="@dimen/dp_13"
|
||||
app:layout_constraintBottom_toTopOf="@+id/sweeper_switch_model_icon"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/sweeper_arc"
|
||||
app:layout_goneMarginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call" />
|
||||
app:layout_goneMarginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call"
|
||||
android:layout_marginTop="-20dp"/>
|
||||
|
||||
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout
|
||||
android:layout_width="@dimen/dp_711"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_27"
|
||||
android:layout_marginEnd="@dimen/dp_36"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:roundLayoutRadius="@dimen/dp_20">
|
||||
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginEnd="@dimen/dp_36"
|
||||
android:layout_marginTop="@dimen/dp_27">
|
||||
<com.mogo.och.sweeper.view.WeltSmallMapView
|
||||
android:id="@+id/sweeper_task_welt_small_map"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
</com.mogo.och.common.module.wigets.OCHRoundConstraintLayout>
|
||||
<!--切换地图远近事件-->
|
||||
<LinearLayout
|
||||
android:id="@+id/sweeper_switch_model_layout"
|
||||
android:layout_width="@dimen/module_mogo_och_operation_status_bg_width"
|
||||
android:layout_height="@dimen/module_mogo_och_operation_status_bg_height"
|
||||
android:layout_marginLeft="@dimen/module_mogo_och_margin_left"
|
||||
android:layout_marginBottom="@dimen/module_mogo_och_margin_bottom"
|
||||
android:background="@drawable/sweeper_switch_map_bg"
|
||||
android:elevation="@dimen/sweeper_dp_10"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:padding="@dimen/sweeper_dp_20"
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sweeper_switch_model_icon"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent">
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sweeper_switch_model_icon"
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_gravity="center" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_mogo_och_badcase_rl"
|
||||
android:layout_width="@dimen/module_mogo_och_operation_status_bg_width"
|
||||
android:layout_height="@dimen/module_mogo_och_operation_status_bg_height"
|
||||
android:layout_marginLeft="@dimen/module_mogo_och_margin_left"
|
||||
android:layout_marginBottom="@dimen/module_mogo_och_margin_bottom"
|
||||
android:background="@drawable/sweeper_operation_status_bg_selector"
|
||||
android:elevation="@dimen/dp_10"
|
||||
<ImageView
|
||||
android:id="@+id/sweeper_setting_model_icon"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:src="@drawable/sweeper_switch_card_selector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_mogo_och_setting_layout">
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeper_switch_model_icon" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/sweeper_bad_case_selector" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_mogo_och_setting_layout"
|
||||
android:layout_width="@dimen/module_mogo_och_operation_status_bg_width"
|
||||
android:layout_height="@dimen/module_mogo_och_operation_status_bg_height"
|
||||
android:layout_marginLeft="@dimen/module_mogo_och_margin_left"
|
||||
android:layout_marginBottom="@dimen/module_mogo_och_margin_bottom"
|
||||
android:background="@drawable/sweeper_operation_status_bg"
|
||||
android:elevation="@dimen/dp_10"
|
||||
<ImageView
|
||||
android:id="@+id/sweeper_collect_model_icon"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:src="@drawable/sweeper_collect_selector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/sweeper_switch_model_layout">
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeper_setting_model_icon" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/sweeper_setting_btn_bg" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_mogo_och_ai_collet_rl"
|
||||
android:layout_width="@dimen/module_mogo_och_operation_status_bg_width"
|
||||
android:layout_height="@dimen/module_mogo_och_operation_status_bg_height"
|
||||
android:layout_marginLeft="@dimen/module_mogo_och_margin_left"
|
||||
android:layout_marginBottom="@dimen/module_mogo_och_margin_bottom"
|
||||
android:background="@drawable/sweeper_operation_status_bg_selector"
|
||||
android:elevation="@dimen/dp_10"
|
||||
<ImageView
|
||||
android:id="@+id/sweeper_card_model_icon"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:src="@drawable/sweeper_setting_selector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_mogo_och_badcase_rl">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_90"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/sweeper_ai_collect_selector" />
|
||||
</FrameLayout>
|
||||
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeper_collect_model_icon" />
|
||||
<!--消息盒子选择入口-->
|
||||
<com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView
|
||||
android:id="@+id/viewDriverMsgBoxButton"
|
||||
@@ -288,6 +247,7 @@
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnAutopilotDisable"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnAutopilotEnable" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnEndTask"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -1,146 +1,161 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="match_parent"
|
||||
<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:background="@drawable/bg_shape_work_mode">
|
||||
<TextView
|
||||
android:id="@+id/tvTaskName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:textSize="@dimen/dp_38"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
tools:text="惠新西街南口地铁站公交站"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/tvTaskTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskName"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:textSize="@dimen/dp_28"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
tools:text="9:00"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_12"
|
||||
android:paddingTop="@dimen/dp_1"
|
||||
android:paddingBottom="@dimen/dp_1"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/tvTaskState"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskName"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvTaskTime"
|
||||
android:textSize="@dimen/dp_28"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
android:text="暂未准备"
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:background="@drawable/bg_shape_task_state_not_ready"
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingEnd="@dimen/dp_15"
|
||||
android:paddingTop="@dimen/dp_1"
|
||||
android:paddingBottom="@dimen/dp_1"
|
||||
/>
|
||||
<ImageView
|
||||
android:id="@+id/ivMore"
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:src="@drawable/icon_more"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvTaskName"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvTaskTime"
|
||||
android:layout_marginEnd="@dimen/dp_38"
|
||||
/>
|
||||
<View
|
||||
android:id="@+id/viewTaskInfoLine"
|
||||
android:layout_width="@dimen/dp_616"
|
||||
android:layout_height="match_parent"
|
||||
app:bgColor="#00000000"
|
||||
app:blurRadius="@dimen/dp_28"
|
||||
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="2dp"
|
||||
android:background="@drawable/sweeper_task_dividing_line1_selector"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskTime"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_26"/>
|
||||
<View
|
||||
android:id="@+id/viewTaskInfoLine1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:background="@drawable/sweeper_task_dividing_line2_selector"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewTaskInfoLine"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
<com.mogo.och.sweeper.view.SubTaskView
|
||||
android:id="@+id/preSubTask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewTaskInfoLine"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
/>
|
||||
<com.mogo.och.sweeper.view.SubTaskView
|
||||
android:id="@+id/currentSubTask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/preSubTask"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
/>
|
||||
<com.mogo.och.sweeper.view.SubTaskView
|
||||
android:id="@+id/lastSubTask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/currentSubTask"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/tvStartAuto"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/sweeper_switch_line_btn_height_1"
|
||||
android:background="@drawable/sweeper_start_auto_btn"
|
||||
android:gravity="center"
|
||||
android:text="启动自驾"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_mogo_och_sweeper_station_notice_text_size"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
app:layout_constraintWidth_percent="0.5"
|
||||
/>
|
||||
<View
|
||||
android:id="@+id/line1"
|
||||
android:layout_width="2dp"
|
||||
android:layout_height="@dimen/sweeper_switch_line_btn_height_1"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvStartAuto"
|
||||
android:background="@color/white"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
<TextView
|
||||
android:id="@+id/readyTaskBtn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/sweeper_switch_line_btn_height_1"
|
||||
android:background="@drawable/sweeper_task_btn"
|
||||
android:gravity="center"
|
||||
android:text="开始任务"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_mogo_och_sweeper_station_notice_text_size"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/line1"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:clickable="false"
|
||||
app:layout_constraintWidth_percent="0.5"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_shape_task_panel">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTaskName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="惠新西街南口地铁站公交站" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTaskTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_12"
|
||||
android:paddingTop="@dimen/dp_1"
|
||||
android:paddingEnd="@dimen/dp_12"
|
||||
android:paddingBottom="@dimen/dp_1"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_28"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskName"
|
||||
tools:text="9:00" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTaskState"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
android:background="@drawable/bg_shape_task_state_not_ready"
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingTop="@dimen/dp_1"
|
||||
android:paddingEnd="@dimen/dp_15"
|
||||
android:paddingBottom="@dimen/dp_1"
|
||||
android:text="暂未准备"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_28"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvTaskTime"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskName" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivMore"
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:layout_marginEnd="@dimen/dp_38"
|
||||
android:src="@drawable/icon_more"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvTaskTime"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvTaskName" />
|
||||
|
||||
<View
|
||||
android:id="@+id/viewTaskInfoLine"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:layout_marginTop="@dimen/dp_26"
|
||||
android:background="@drawable/sweeper_task_dividing_line1_selector"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskTime" />
|
||||
|
||||
<View
|
||||
android:id="@+id/viewTaskInfoLine1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:background="@drawable/sweeper_task_dividing_line2_selector"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewTaskInfoLine" />
|
||||
|
||||
<com.mogo.och.sweeper.view.SubTaskView
|
||||
android:id="@+id/preSubTask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/viewTaskInfoLine" />
|
||||
|
||||
<com.mogo.och.sweeper.view.SubTaskView
|
||||
android:id="@+id/currentSubTask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/preSubTask" />
|
||||
|
||||
<com.mogo.och.sweeper.view.SubTaskView
|
||||
android:id="@+id/lastSubTask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/currentSubTask" />
|
||||
<TextView
|
||||
android:id="@+id/tvStartAuto"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_116"
|
||||
android:background="@drawable/sweeper_start_auto_not_running"
|
||||
android:gravity="center"
|
||||
android:text="启动自驾"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_mogo_och_sweeper_station_notice_text_size"
|
||||
android:visibility="visible"
|
||||
android:layout_weight="1"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintWidth_percent="0.55"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/readyTaskBtn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_116"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/sweeper_task_not_working"
|
||||
android:gravity="center"
|
||||
android:text="开始任务"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_mogo_och_sweeper_station_notice_text_size"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintWidth_percent="0.55" />
|
||||
|
||||
<View
|
||||
android:id="@+id/line1"
|
||||
android:layout_width="@dimen/dp_60"
|
||||
android:layout_height="@dimen/dp_116"
|
||||
android:background="@drawable/sweeper_line"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.mogo.och.common.module.wigets.OCHBorderShadowLayout>
|
||||
@@ -5,8 +5,8 @@
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:id="@+id/tvLimitingVelocity"
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="@dimen/dp_50"
|
||||
android:layout_width="@dimen/dp_52"
|
||||
android:layout_height="@dimen/dp_52"
|
||||
android:background="@drawable/sweeper_bg_waring_limiting_velocity"
|
||||
android:gravity="center"
|
||||
android:text="60"
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
android:id="@+id/noTaskDataView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="visible">
|
||||
android:visibility="visible"
|
||||
android:background="@drawable/bg_shape_task_panel">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivNoTaskData"
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_23"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/sweeperSpeedImage"
|
||||
app:layout_constraintRight_toRightOf="@+id/sweeperSpeedImage"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperSpeedText"/>
|
||||
@@ -46,7 +45,6 @@
|
||||
android:id="@+id/sweeperTrafficPosition"
|
||||
android:layout_width="@dimen/dp_200"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
app:defaultColor="@color/acc_default_txt_color"
|
||||
app:layout_constraintLeft_toRightOf="@+id/sweeperSpeedImage"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
@@ -59,16 +57,16 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeperTrafficPosition"
|
||||
app:layout_constraintTop_toTopOf="@+id/sweeperTrafficPosition"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/sweeperTrafficPosition"
|
||||
android:layout_marginStart="@dimen/dp_3"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:background="#414869"/>
|
||||
<com.mogo.och.sweeper.view.SweeperLimitingVelocityView
|
||||
android:id="@+id/sweeperLimitingVelocity"
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="@dimen/dp_50"
|
||||
android:layout_width="@dimen/dp_52"
|
||||
android:layout_height="@dimen/dp_52"
|
||||
app:layout_constraintStart_toEndOf="@+id/line1"
|
||||
app:layout_constraintTop_toTopOf="@+id/sweeperTrafficPosition"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/sweeperTrafficPosition"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:layout_marginStart="@dimen/dp_34"
|
||||
/>
|
||||
<com.mogo.och.sweeper.view.TurnSignalView
|
||||
android:id="@+id/sweeperTurnSignal"
|
||||
@@ -76,7 +74,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/sweeperTrafficPosition"
|
||||
app:layout_constraintLeft_toRightOf="@+id/sweeperSpeedImage"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_10"/>
|
||||
<View
|
||||
android:id="@+id/line2"
|
||||
@@ -85,7 +82,7 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeperTurnSignal"
|
||||
app:layout_constraintTop_toTopOf="@+id/sweeperTurnSignal"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/sweeperTurnSignal"
|
||||
android:layout_marginStart="@dimen/dp_3"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:background="#414869"/>
|
||||
<com.mogo.och.sweeper.view.SweeperTrafficLightView
|
||||
android:id="@+id/sweeperTrafficLight"
|
||||
@@ -94,58 +91,78 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_76"
|
||||
android:layout_marginEnd="@dimen/dp_12"
|
||||
android:layout_marginEnd="@dimen/dp_18"
|
||||
/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperIvBattery"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
<LinearLayout
|
||||
android:id="@+id/flBattery"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/line3"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_54"
|
||||
android:layout_marginStart="@dimen/dp_110"
|
||||
android:src="@drawable/icon_battery"/>
|
||||
<TextView
|
||||
android:id="@+id/tvBattery"
|
||||
android:layout_width="wrap_content"
|
||||
app:layout_constraintWidth_percent="0.5"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperIvBattery"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:src="@drawable/icon_battery"
|
||||
android:layout_gravity="center"/>
|
||||
<TextView
|
||||
android:id="@+id/tvBattery"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeperIvBattery"
|
||||
app:layout_constraintTop_toTopOf="@+id/sweeperIvBattery"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/sweeperIvBattery"
|
||||
android:textColor="@color/white"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
tools:text="65%"
|
||||
android:layout_marginStart="6dp"
|
||||
android:textSize="@dimen/dp_24"/>
|
||||
</LinearLayout>
|
||||
<FrameLayout
|
||||
android:id="@+id/flRight"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toEndOf="@+id/sweeperIvBattery"
|
||||
app:layout_constraintTop_toTopOf="@+id/sweeperIvBattery"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/sweeperIvBattery"
|
||||
android:textColor="@color/white"
|
||||
tools:text="65%"
|
||||
android:layout_marginStart="6dp"
|
||||
android:textSize="@dimen/dp_24"/>
|
||||
app:layout_constraintWidth_percent="0.5"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_36"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperIvBgWaterWarning"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/icon_water_level_warning"
|
||||
tools:visibility="visible"
|
||||
android:visibility="visible"
|
||||
android:layout_gravity="center"
|
||||
/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperIvWater"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:src="@drawable/sweeper_water_selector"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_4"
|
||||
/>
|
||||
</FrameLayout>
|
||||
<View
|
||||
android:id="@+id/line3"
|
||||
android:layout_width="@dimen/dp_1"
|
||||
android:layout_height="@dimen/dp_34"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/sweeperIvBattery"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/sweeperIvBattery"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:background="#6D87B0"/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperIvBgWaterWarning"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_47"
|
||||
android:background="#6D87B0"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:src="@drawable/icon_water_level_warning"
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
android:layout_marginEnd="@dimen/dp_110"
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperIvWater"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_54"
|
||||
android:layout_marginEnd="@dimen/dp_150"
|
||||
android:src="@drawable/sweeper_water_selector"
|
||||
/>
|
||||
android:layout_marginBottom="@dimen/dp_54"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -19,7 +19,7 @@
|
||||
android:layout_marginTop="@dimen/dp_50"/>
|
||||
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout
|
||||
android:id="@+id/groupLegend"
|
||||
android:layout_width="@dimen/dp_366"
|
||||
android:layout_width="@dimen/dp_380"
|
||||
android:layout_height="@dimen/dp_573"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
||||
@@ -1,91 +1,111 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="@dimen/dp_170"
|
||||
<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:background="@drawable/bg_shape_work_mode"
|
||||
android:id="@+id/clWorkMode">
|
||||
<TextView
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:text="当前作业模式:"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:layout_marginStart="@dimen/dp_36"/>
|
||||
<LinearLayout
|
||||
android:id="@+id/groupWorkModelPanel"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTitle"
|
||||
app:layout_constraintStart_toStartOf="@+id/tvTitle">
|
||||
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/tvCleaningMode"
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="纯扫模式"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:layout_marginStart="@dimen/dp_36"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:text="当前作业模式:"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_10"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:paddingBottom="@dimen/dp_2"/>
|
||||
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/tvCleaningDirection"
|
||||
android:id="@+id/tvNoDataDesc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="左侧"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginStart="@dimen/dp_36"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_10"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:paddingBottom="@dimen/dp_2"
|
||||
android:layout_marginStart="@dimen/dp_20"/>
|
||||
<TextView
|
||||
android:id="@+id/tvCleaningIntensity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="标准"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/bg_shape_clean_mode"
|
||||
android:paddingStart="@dimen/dp_10"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:paddingBottom="@dimen/dp_2"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:id="@+id/ivOpenOperatePanel"
|
||||
android:layout_width="@dimen/dp_54"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:src="@drawable/sweeper_clean_mode_icon"
|
||||
android:visibility="gone"/>
|
||||
<TextView
|
||||
android:id="@+id/tvNoDataDesc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTitle"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
tools:text="暂无"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:visibility="gone"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginStart="@dimen/dp_36"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
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>
|
||||