diff --git a/OCH/mogo-och-sweeper/src/main/AndroidManifest.xml b/OCH/mogo-och-sweeper/src/main/AndroidManifest.xml
index b8d998f9b0..c2a6c2cfeb 100644
--- a/OCH/mogo-och-sweeper/src/main/AndroidManifest.xml
+++ b/OCH/mogo-och-sweeper/src/main/AndroidManifest.xml
@@ -11,10 +11,6 @@
- />
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/TaskInfoBean.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/TaskInfoBean.kt
new file mode 100644
index 0000000000..55a443224b
--- /dev/null
+++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/TaskInfoBean.kt
@@ -0,0 +1,3 @@
+package com.mogo.och.sweeper.bean
+
+data class TaskInfoBean(var taskId: Int, var taskName: String, var taskType: Int)
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java
index a436daedfd..73628b6b50 100644
--- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java
+++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java
@@ -100,14 +100,21 @@ public abstract class BaseSweeperTabFragment {
- @Override
- public String getTagName() {
- return "SweepersFragment";
- }
-
- @Override
- protected void initViews() {
- super.initViews();
- }
-
- @NonNull
- @Override
- protected SweeperPresenter createPresenter() {
- return new SweeperPresenter(this);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- }
-
- @Override
- public int getStationPanelViewId() {
- return R.layout.fragment_och_sweeper;
- }
-
- @Override
- public int getSweepOperatePanelViewId() {
- return R.layout.sweeper_operate_panel_view;
- }
-
- @Override
- public void restartAutopilot() {
- if (!isAnimateRunning) {
- mPresenter.restartAutopilot();
- }
- }
- /**
- * VR模式切换
- *
- * @param isVRMode
- */
- public void onVRModeChanged(boolean isVRMode) {
- if (mRootView != null) {
- mRootView.setVisibility(isVRMode ? View.VISIBLE : View.GONE);
- }
- }
- public void hideOchSweeper(){
-
- }
- @Override
- public void debugAutoPilotStatus(int status) {
- mPresenter.debugAutoPilotStatus(status);
- }
-
-
-}
diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt
new file mode 100644
index 0000000000..929146f4ed
--- /dev/null
+++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt
@@ -0,0 +1,89 @@
+package com.mogo.och.sweeper.fragment
+
+import android.view.View
+import android.widget.ImageView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.mogo.och.sweeper.R
+import com.mogo.och.sweeper.bean.TaskInfoBean
+import com.mogo.och.sweeper.presenter.SweeperPresenter
+import com.mogo.och.sweeper.ui.adapter.TaskListAdapter
+
+/**
+ * 清扫车主界面
+ */
+class SweeperFragment : BaseSweeperTabFragment() {
+ private var mTaskRefresh: ImageView? = null //刷新任务列表按钮
+ private var mRecyclerView: RecyclerView? = null
+ private var mAdapter: TaskListAdapter? = null
+ private val mutableList:MutableList by lazy { mutableListOf() }
+ override fun getTagName(): String {
+ return "SweepersFragment"
+ }
+
+ override fun initViews() {
+ super.initViews()
+ mTaskRefresh = findViewById(R.id.ivTaskRefresh)
+ mRecyclerView = findViewById(R.id.rvTaskList)
+ mutableList.add(TaskInfoBean(1,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(2,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(3,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(4,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(5,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(6,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(7,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(8,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(9,"环球贸易中心",1))
+ mutableList.add(TaskInfoBean(10,"环球贸易中心",1))
+ mAdapter= context?.let { TaskListAdapter(it,mutableList) }
+ val linearLayoutManager=LinearLayoutManager(context)
+ linearLayoutManager.orientation=LinearLayoutManager.VERTICAL
+ mRecyclerView?.layoutManager=linearLayoutManager
+ mRecyclerView?.adapter=mAdapter
+ mAdapter?.setOnTaskItemClickListener(onTaskItemClickListener)
+ }
+
+ override fun createPresenter(): SweeperPresenter {
+ return SweeperPresenter(this)
+ }
+
+ override fun onResume() {
+ super.onResume()
+ }
+
+ override fun getStationPanelViewId(): Int {
+ return R.layout.fragment_och_sweeper
+ }
+
+ override fun getSweepOperatePanelViewId(): Int {
+ return R.layout.sweeper_operate_panel_view
+ }
+
+ override fun restartAutopilot() {
+ if (!isAnimateRunning) {
+ mPresenter?.restartAutopilot()
+ }
+ }
+
+ /**
+ * VR模式切换
+ *
+ * @param isVRMode
+ */
+ fun onVRModeChanged(isVRMode: Boolean) {
+ if (mRootView != null) {
+ mRootView.visibility = if (isVRMode) View.VISIBLE else View.GONE
+ }
+ }
+
+ fun hideOchSweeper() {}
+ override fun debugAutoPilotStatus(status: Int) {
+ mPresenter!!.debugAutoPilotStatus(status)
+ }
+ private val onTaskItemClickListener=object : TaskListAdapter.TaskItemClickListener{
+ override fun onItemClick(position: Int) {
+ mAdapter?.selectPosition(position)
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/adapter/TaskListAdapter.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/adapter/TaskListAdapter.kt
new file mode 100644
index 0000000000..412a851fc7
--- /dev/null
+++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/adapter/TaskListAdapter.kt
@@ -0,0 +1,66 @@
+package com.mogo.och.sweeper.ui.adapter
+
+import android.content.Context
+import android.graphics.Color
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.mogo.och.sweeper.R
+import com.mogo.och.sweeper.bean.TaskInfoBean
+
+class TaskListAdapter(
+ private val context: Context,
+ private val data: List?,
+) : RecyclerView.Adapter() {
+ private var mItemClickListener: TaskItemClickListener? = null
+ private var mSelectPosition: Int = -1
+ fun setOnTaskItemClickListener(itemClickListener: TaskItemClickListener?) {
+ mItemClickListener = itemClickListener
+ }
+
+ class TaskViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val selectIv: ImageView
+ val taskName: TextView//任务名称
+ val taskDesc: TextView//任务描述
+
+ init {
+ selectIv = itemView.findViewById(R.id.ivTaskSelect)
+ taskName = itemView.findViewById(R.id.tvTaskName)
+ taskDesc = itemView.findViewById(R.id.tvTaskDesc)
+ }
+ }
+
+ fun selectPosition(position: Int) {
+ this.mSelectPosition = position
+ notifyDataSetChanged()
+ }
+
+ interface TaskItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TaskViewHolder {
+ val view = LayoutInflater.from(parent.context).inflate(
+ R.layout.sweeper_item_task_info, parent, false
+ )
+ return TaskViewHolder(view)
+ }
+
+ override fun onBindViewHolder(holder: TaskViewHolder, position: Int) {
+ if (position == mSelectPosition) {
+ holder.selectIv.visibility = View.VISIBLE
+ holder.itemView.setBackgroundColor(Color.parseColor("#FF152644"))
+ } else {
+ holder.selectIv.visibility = View.GONE
+ holder.itemView.setBackgroundColor(Color.parseColor("#00000000"))
+ }
+ holder.itemView.setOnClickListener {
+ mItemClickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = data?.size ?: 0
+}
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.java
index f86733914d..d7e3fa0caf 100644
--- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.java
+++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.java
@@ -7,6 +7,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.eagle.core.function.api.hmi.view.IViewTrafficLight;
+import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.sweeper.R;
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/no_order_data.png b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/no_order_data.png
deleted file mode 100644
index 0e61996d3f..0000000000
Binary files a/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/no_order_data.png and /dev/null differ
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/no_task_data.png b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/no_task_data.png
new file mode 100644
index 0000000000..3a30c8efe8
Binary files /dev/null and b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/no_task_data.png differ
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png
new file mode 100644
index 0000000000..14a358eb90
Binary files /dev/null and b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png differ
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_work_mode.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_work_mode.xml
index dc38f6a174..b451082e68 100644
--- a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_work_mode.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_work_mode.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_line_dividing_line2_selector.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_line_dividing_line2_selector.xml
index ee555aae15..55353f3ca8 100644
--- a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_line_dividing_line2_selector.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_line_dividing_line2_selector.xml
@@ -2,7 +2,7 @@
-
-
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_task_info_line.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_list_left_top_line.xml
similarity index 61%
rename from OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_task_info_line.xml
rename to OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_list_left_top_line.xml
index 540e1294c9..9d92ddd223 100644
--- a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_shape_task_info_line.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_list_left_top_line.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_refresh.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_refresh.xml
new file mode 100644
index 0000000000..58e3089f6f
--- /dev/null
+++ b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_refresh.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_task_list_btn.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_task_list_btn.xml
new file mode 100644
index 0000000000..bcf6d59bcf
--- /dev/null
+++ b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_task_list_btn.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_task_list_nor.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_task_list_nor.xml
new file mode 100644
index 0000000000..e521225074
--- /dev/null
+++ b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_task_list_nor.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_yi_biao_pan_bg_nor.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_yi_biao_pan_bg_nor.xml
deleted file mode 100644
index 2ef90e60f7..0000000000
--- a/OCH/mogo-och-sweeper/src/main/res/drawable/sweeper_yi_biao_pan_bg_nor.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/layout/fragment_och_sweeper.xml b/OCH/mogo-och-sweeper/src/main/res/layout/fragment_och_sweeper.xml
index a6fa76d9de..142c43625c 100644
--- a/OCH/mogo-och-sweeper/src/main/res/layout/fragment_och_sweeper.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/layout/fragment_och_sweeper.xml
@@ -1,176 +1,92 @@
-
-
-
-
-
-
-
+
+ android:layout_height="match_parent">
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_base_fragment.xml b/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_base_fragment.xml
index 6b69b7ec87..ac531f1404 100644
--- a/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_base_fragment.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_base_fragment.xml
@@ -19,7 +19,8 @@
android:layout_marginStart="@dimen/dp_41"
android:background="@drawable/bg_shape_work_mode"
app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/sweeper_arc"/>
+ app:layout_constraintTop_toBottomOf="@+id/sweeper_arc"
+ android:visibility="gone"/>
+ android:visibility="visible"
+ android:layout_marginBottom="@dimen/dp_30"/>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_no_data_common_view.xml b/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_no_data_common_view.xml
index f2bdf5c425..3256bc03d4 100644
--- a/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_no_data_common_view.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_no_data_common_view.xml
@@ -1,31 +1,42 @@
-
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="visible">
-
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"/>
+
+
+
+
\ No newline at end of file
diff --git a/OCH/mogo-och-sweeper/src/main/res/values/strings.xml b/OCH/mogo-och-sweeper/src/main/res/values/strings.xml
index dde461448c..187d9bf3c9 100644
--- a/OCH/mogo-och-sweeper/src/main/res/values/strings.xml
+++ b/OCH/mogo-och-sweeper/src/main/res/values/strings.xml
@@ -13,7 +13,7 @@
准备就绪
自动驾驶中,不可切换路线
当前行程未完成,不可切换路线
- 当前车辆无路线\n请联系运营人员绑定
+ 当前暂无任务
起点:
终点:
更换路线成功