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请联系运营人员绑定 + 当前暂无任务 起点: 终点: 更换路线成功