From ff750e7d004564dfb84b409518545e69c57512f2 Mon Sep 17 00:00:00 2001 From: bxb Date: Mon, 30 Jan 2023 11:39:57 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B8=85=E6=89=AB=E8=BD=A6]=E6=B8=85=E6=89=AB?= =?UTF-8?q?=E8=BD=A6=E5=BD=93=E5=89=8D=E4=BB=BB=E5=8A=A1=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=B8=83=E5=B1=80=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/sweeper/constant/TaskMenuTypeEnum.kt | 10 ++ .../fragment/BaseSweeperTabFragment.java | 48 +++------ .../och/sweeper/fragment/SweeperFragment.kt | 50 ++++++++-- .../och/sweeper/ui/popwindow/MenuPopWindow.kt | 91 ++++++++++++++++++ .../com/mogo/och/sweeper/view/SubTaskView.kt | 13 +++ .../view/SweeperCurrentTaskInfoView.kt | 42 ++++++-- .../och/sweeper/view/SweeperTaskMenuView.kt | 40 -------- .../sweeper/view/SweeperTrafficDataView.kt | 2 +- .../sweeper_icon_current_subtask.png | Bin 1420 -> 0 bytes .../sweeper_icon_not_current_subtask.png | Bin 338 -> 0 bytes .../sweeper_icon_not_select_subtask.png | Bin 0 -> 1343 bytes .../sweeper_icon_select_subtask.png | Bin 0 -> 3797 bytes .../src/main/res/drawable/bg_bubble.xml | 2 +- .../src/main/res/drawable/bg_task_menu.xml | 2 +- .../res/layout/item_och_sweeper_station.xml | 2 +- .../main/res/layout/sweeper_base_fragment.xml | 8 -- .../res/layout/sweeper_current_task_info.xml | 8 +- .../main/res/layout/sweeper_subtask_view.xml | 2 +- .../src/main/res/layout/sweeper_task_menu.xml | 15 +-- 19 files changed, 224 insertions(+), 111 deletions(-) create mode 100644 OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskMenuTypeEnum.kt create mode 100644 OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt delete mode 100644 OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTaskMenuView.kt delete mode 100644 OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_current_subtask.png delete mode 100644 OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_not_current_subtask.png create mode 100644 OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png create mode 100644 OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_select_subtask.png diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskMenuTypeEnum.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskMenuTypeEnum.kt new file mode 100644 index 0000000000..562a71002f --- /dev/null +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskMenuTypeEnum.kt @@ -0,0 +1,10 @@ +package com.mogo.och.sweeper.constant + +/** + * 当前任务操作菜单 + */ +enum class TaskMenuTypeEnum(val code: Int) { + JUMP_OVER_TASK( 1),//跳过任务 + END_TASK( 2),//结束任务 + CANCEL_TASK( 3);//取消 +} \ 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 d4aa341904..cbdaa3867e 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 @@ -24,8 +24,8 @@ import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.VisualAngleMode; import com.mogo.och.sweeper.R; import com.mogo.och.sweeper.ui.SweeperOperatePanelView; +import com.mogo.och.sweeper.ui.popwindow.MenuPopWindow; import com.mogo.och.sweeper.view.SweeperCurrentTaskInfoView; -import com.mogo.och.sweeper.view.SweeperTaskMenuView; import com.mogo.och.sweeper.view.SweeperTrafficDataView; import com.mogo.och.sweeper.view.SweeperWorkModeView; @@ -60,8 +60,6 @@ public abstract class BaseSweeperTabFragment { - if (mOperatePanel.getVisibility() == View.VISIBLE) { - mOperatePanel.setVisibility(View.GONE); - } else { - mOperatePanel.setVisibility(View.VISIBLE); - } - }); - //任务操作菜单打开关闭处理 - mCurrentTaskView.getIvMore().setOnClickListener(v -> { - if (mTaskMenu.getVisibility() == View.VISIBLE) { - mTaskMenu.setVisibility(View.GONE); - } else { - mTaskMenu.setVisibility(View.VISIBLE); - } - }); } /** - * 任务列表面板 + * 任务列表面板隐藏或显示 * * @return */ - public void setTaskListPanelView(boolean isShow) { + public void setShowTaskListPanelView(boolean isShow) { if (isShow) { panelView.setVisibility(View.VISIBLE); } else { panelView.setVisibility(View.GONE); } } - + /** + * 当前任务面板隐藏或显示 + * + * @return + */ + public void setShowCurrentTaskPanelView(boolean isShow) { + if (isShow) { + mCurrentTaskView.setVisibility(View.VISIBLE); + } else { + mCurrentTaskView.setVisibility(View.GONE); + } + } /** * 清扫模式展示面板 * @@ -191,16 +183,6 @@ public abstract class BaseSweeperTabFragment() { +class SweeperFragment : BaseSweeperTabFragment(),MenuPopWindow.OnMenuItemOnClickListener { private var mAdapter: TaskListAdapter? = null + //当前任务操作菜单 + private var mTaskMenuPopWindow: MenuPopWindow? = null + // + private var mPosition:Int=-1 private val mutableList: MutableList by lazy { mutableListOf() } override fun getTagName(): String { return "SweepersFragment" @@ -37,6 +43,7 @@ class SweeperFragment : BaseSweeperTabFragment + + } + //任务操作菜单打开关闭处理 + currentTaskPanelView.getIvMore().setOnClickListener { v: View? -> + if (mTaskMenuPopWindow?.isShowing!=true) { + mTaskMenuPopWindow?.showAsDropDown( + workModePanelView, + resources.getDimension(R.dimen.dp_580).toInt(), + resources.getDimension(R.dimen.dp_36).toInt() + ) + } else { + mTaskMenuPopWindow?.dismiss() + } } } private val onTaskItemClickListener = object : TaskListAdapter.TaskItemClickListener { override fun onItemClick(position: Int) { mAdapter?.selectPosition(position) + mPosition=position + tvTaskConfirm.isSelected=true } } + override fun onMenuItemClick(itemType: TaskMenuTypeEnum) { + when(itemType.code){ + TaskMenuTypeEnum.JUMP_OVER_TASK.code->{ + setShowTaskListPanelView(true) + setShowCurrentTaskPanelView(false) + } + TaskMenuTypeEnum.END_TASK.code->{ + setShowTaskListPanelView(true) + setShowCurrentTaskPanelView(false) + } + } + } } \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt new file mode 100644 index 0000000000..5aec5548c9 --- /dev/null +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt @@ -0,0 +1,91 @@ +package com.mogo.och.sweeper.ui.popwindow + +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup.LayoutParams +import android.widget.PopupWindow +import android.widget.TextView +import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.constant.TaskMenuTypeEnum + +/** + * 当前任务操作菜单栏 + */ +class MenuPopWindow : PopupWindow, View.OnClickListener { + + private var mTvJumpOverTask: TextView? = null + + private var mTaskJumpLineView: View? = null + + private var mTvEndTask: TextView? = null + + private var mTvCancelTask: TextView? = null + + private var mMenuItemClickListener:OnMenuItemOnClickListener?=null + + constructor(context: Context,menuItemClickListener:OnMenuItemOnClickListener) : super(context) { + init(context) + this.mMenuItemClickListener=menuItemClickListener + } + + /** + * 初始化布局 + */ + private fun init(context: Context) { + setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + var view: View = LayoutInflater.from(context).inflate(R.layout.sweeper_task_menu, null) + mTvJumpOverTask = view.findViewById(R.id.tvJumpOverTask) + mTaskJumpLineView = view.findViewById(R.id.taskJumpLineView) + mTvEndTask = view.findViewById(R.id.tvEndTask) + mTvCancelTask = view.findViewById(R.id.tvCancelTask) + mTvJumpOverTask?.setOnClickListener(this) + mTvEndTask?.setOnClickListener(this) + mTvCancelTask?.setOnClickListener(this) + width = context.resources.getDimension(R.dimen.dp_174).toInt() + height = LayoutParams.WRAP_CONTENT + contentView = view + isFocusable = true + isOutsideTouchable = true + } + + /** + * 设置是否是手动任务 + * 1:云端自动驾驶任务 + * 2:云端手动驾驶任务 + * 3: 运营任务 + */ + fun setMenuView(type: Int) { + if (type == 1) { + mTvJumpOverTask?.visibility = View.GONE + mTaskJumpLineView?.visibility = View.GONE + } else { + mTvJumpOverTask?.visibility = View.VISIBLE + mTaskJumpLineView?.visibility = View.VISIBLE + } + } + + interface OnMenuItemOnClickListener { + fun onMenuItemClick(itemType: TaskMenuTypeEnum) + } + + override fun onClick(v: View) { + when(v.id){ + R.id.tvJumpOverTask->{ + mMenuItemClickListener?.onMenuItemClick(TaskMenuTypeEnum.JUMP_OVER_TASK) + dismiss() + } + R.id.tvEndTask->{ + mMenuItemClickListener?.onMenuItemClick(TaskMenuTypeEnum.END_TASK) + dismiss() + } + R.id.tvCancelTask->{ + mMenuItemClickListener?.onMenuItemClick(TaskMenuTypeEnum.CANCEL_TASK) + dismiss() + } + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt index 38578356cd..a191eba1db 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt @@ -3,8 +3,11 @@ package com.mogo.och.sweeper.view import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.bean.TaskInfoBean +import kotlinx.android.synthetic.main.sweeper_subtask_view.view.* /** * 子任务View @@ -21,4 +24,14 @@ class SubTaskView : ConstraintLayout { private fun initView(context: Context) { LayoutInflater.from(context).inflate(R.layout.sweeper_subtask_view, this) } + + /** + * 设置子任务信息 + */ + fun setData(taskInfo:TaskInfoBean,isSelect:Boolean=false,isLastTask:Boolean=false){ + tvSubTaskName.text = taskInfo.taskName + tvSubTaskName.setTextColor(if (isSelect) 0x3BD2FF else 0xFFFFFF) + ivSubTask.setImageResource(if (isSelect) R.drawable.sweeper_icon_select_subtask else R.drawable.sweeper_icon_not_select_subtask) + ivRightDownArrow.visibility=if (isLastTask) View.GONE else View.VISIBLE + } } \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt index a81af24f0e..6e6031a9e4 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt @@ -3,17 +3,17 @@ package com.mogo.och.sweeper.view import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import android.view.View import android.widget.ImageView import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.bean.TaskInfoBean import kotlinx.android.synthetic.main.sweeper_current_task_info.view.* /** * 清扫车当前任务信息展示 */ class SweeperCurrentTaskInfoView : ConstraintLayout { - private var menuView: SweeperTaskMenuView? = null - constructor(context: Context) : super(context) {} constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) { initView(context) @@ -26,11 +26,41 @@ class SweeperCurrentTaskInfoView : ConstraintLayout { LayoutInflater.from(context).inflate(R.layout.sweeper_current_task_info, this) } + fun getIvMore(): ImageView = ivMore + /** - * 设置当前任务信息 + * 设置当前任务数据 */ - fun setCurrentTask(sweeperTaskMenuView: SweeperTaskMenuView?) { - menuView = sweeperTaskMenuView + fun setData(listTask: List, currentPosition: Int) { + if (listTask.size == 1) { + preSubTask.setData(listTask[currentPosition], isSelect=true,isLastTask=true) + currentSubTask.visibility = View.INVISIBLE + lastSubTask.visibility = View.INVISIBLE + } else if (listTask.size == 2) { + if (currentPosition==0){ + preSubTask.setData(listTask[currentPosition], isSelect=true) + currentSubTask.setData(listTask[1], isSelect=true) + }else{ + preSubTask.setData(listTask[currentPosition - 1]) + currentSubTask.setData(listTask[currentPosition], isSelect=true,isLastTask=true) + } + lastSubTask.visibility = View.INVISIBLE + } else { + //当前正在执行的任务是第一个子任务 + if (currentPosition == 0) { + preSubTask.setData(listTask[currentPosition], isSelect=true) + currentSubTask.setData(listTask[1]) + lastSubTask.setData(listTask[2], isLastTask=true) + //当前正在执行的任务是最后一个子任务 + } else if (currentPosition == listTask.size - 1) { + preSubTask.setData(listTask[currentPosition - 2], isSelect=true) + currentSubTask.setData(listTask[currentPosition-1]) + lastSubTask.setData(listTask[currentPosition], isSelect=true,isLastTask=true) + } else { + preSubTask.setData(listTask[currentPosition - 1]) + currentSubTask.setData(listTask[currentPosition],isSelect=true) + lastSubTask.setData(listTask[currentPosition + 1],isLastTask=true) + } + } } - fun getIvMore():ImageView=ivMore } \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTaskMenuView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTaskMenuView.kt deleted file mode 100644 index 5ed11b57c1..0000000000 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTaskMenuView.kt +++ /dev/null @@ -1,40 +0,0 @@ -package com.mogo.och.sweeper.view - -import android.content.Context -import android.util.AttributeSet -import android.view.LayoutInflater -import android.view.View -import androidx.constraintlayout.widget.ConstraintLayout -import com.mogo.och.sweeper.R -import kotlinx.android.synthetic.main.sweeper_task_menu.view.* - -/** - * 清扫车任务操作菜单 - */ -class SweeperTaskMenuView:ConstraintLayout { - constructor(context: Context) : super(context) - constructor(context: Context, attrs: AttributeSet?) : super(context, attrs){ - initView(context) - } - constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) - constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) - - private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_task_menu, this) - } - /** - * 设置是否是手动任务 - * 1:云端自动驾驶任务 - * 2:云端手动驾驶任务 - * 3: 运营任务 - */ - fun setMenuView(type:Int){ - if (type==1){ - tvTaskJumpOver.visibility= View.GONE - taskJumpLineView.visibility= View.GONE - }else{ - tvTaskJumpOver.visibility= View.VISIBLE - taskJumpLineView.visibility= View.VISIBLE - } - } -} \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt index 65d2a83c5b..3f2304e00b 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt @@ -151,7 +151,7 @@ class SweeperTrafficDataView : ConstraintLayout, private val limitingVelocityListener: LimitingVelocityListener = object : LimitingVelocityListener { override fun onLimitingVelocityChange(limitingVelocity: Int) { //设置限速 - sweeperLimitingVelocity!!.updateLimitingSpeed(limitingVelocity) + sweeperLimitingVelocity?.updateLimitingSpeed(limitingVelocity) } } diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_current_subtask.png b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_current_subtask.png deleted file mode 100644 index 8a065b66dd39352486755c293369d25987521e94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1420 zcmV;71#|j|P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR919-spN1ONa40RR919smFU0Lno(1poj9_DMuRR7eetmCtKjRTRhH%w&?$ zG)*)%{=gp4^r4Z(}(^FYEaN8*^ zxmF@S!**Je*g>$J*2J|)SIe%saj@8yb!sWWLjrwmSloU>)BUVzL|aT+zW4CRKgu8MR);m2U>vJLFq>I z(TV2|_djs+J6V_lmbw7y^Q>y! zv+wXdCxq8ey_#hJ4F$m1z?=J|A@CiwJx%)eK0JJa98z*YhTLG7IIuHjZ*0fjfA(ml zr+Ua*>g;4~Z$;#Q21F4Q$J}W*@s-M<2VZ;cs8#@z(}4{<-r(>yclYk!cML|}R$~W1 zNS-qjhygikE*&w-B(2?c<1wwer2v!L36^lUP(%S-uJw#$FoOh%m?gJZz*daSRqlMQ zML}^)xu-UwCjs_L7Bc0P6jdm|Tiso%l!tNv9Rn&r0}*(>&%2RdDhh+W3>^stCgsXd z0Nx6@3oK`hBW7GRP;!KKlw@|vio`nOTpWnCvtaWAa-V*E#&pw1YYXj7yc#Q@vC&xY zi^3dXlD9m}GhCt^IG?Spx!H;Zys@bq`S=_V3=*UnY$K?msV$fKRGe&`D9~^ z7RDSnuu>=6zrJyLT>m_4`D{rMn1}i19}n+_9(MnBx_0Tk)8pijk_$4PU(2?aT6;R+ z?{anZ=gS+VQhB!T{yRtI?zTBvdjV0TZo0ibR*>?_rUIS&`14o(I`#F8BG!X$%GRao zMP39TNO7sOj=?L--_I^>{;~Mop8M{&yIiZ?WPk>w$iUG59_x$${PgF^iC6#r^z08h zU6VR6?{N!z0Ao=5bCB;k=^klcP}aS-KlRu{H;fz@>mC{$E>*h*vaFn>>-DRfmzORs zPhXh2^x>IviUV*}x)PN2hSb6B4greTDCa{1t?h9nfiT)Z&O@$>MtfO*EjDS*9yr|ni~PcEw*i{RkUZZwV{ z_}xe4j02@Ogl9;Oat@d)`fc>r;$n$$^$$pTL*L-$9DuK2oS`yFh34`wACOkm8sQuqm)CIq~k%UIcD|z7B4=$ zU^#m9R%EB1&jSe-H!h2!f{X@N84q2HWsa{L%mgQ!FuZ1r_>w7jn+fC}Pgg&ebxsLQ E08h+m#{d8T diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png b/OCH/mogo-och-sweeper/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png new file mode 100644 index 0000000000000000000000000000000000000000..ba1a86b3dd428572dee00101309f19467c137114 GIT binary patch literal 1343 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 LNkvXXu0mjfKvgIU literal 0 HcmV?d00001 diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_bubble.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/bg_bubble.xml index 491598a373..cfa9d4b17e 100644 --- a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_bubble.xml +++ b/OCH/mogo-och-sweeper/src/main/res/drawable/bg_bubble.xml @@ -9,7 +9,7 @@ - + diff --git a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_task_menu.xml b/OCH/mogo-och-sweeper/src/main/res/drawable/bg_task_menu.xml index 9942026a18..1df3248028 100644 --- a/OCH/mogo-och-sweeper/src/main/res/drawable/bg_task_menu.xml +++ b/OCH/mogo-och-sweeper/src/main/res/drawable/bg_task_menu.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/res/layout/item_och_sweeper_station.xml b/OCH/mogo-och-sweeper/src/main/res/layout/item_och_sweeper_station.xml index 088890a1d2..3d18f13240 100644 --- a/OCH/mogo-och-sweeper/src/main/res/layout/item_och_sweeper_station.xml +++ b/OCH/mogo-och-sweeper/src/main/res/layout/item_och_sweeper_station.xml @@ -26,7 +26,7 @@ android:layout_width="20dp" android:layout_height="20dp" android:scaleType="center" - android:src="@drawable/sweeper_icon_current_subtask" + android:src="@drawable/sweeper_icon_select_subtask" app:layout_constraintBottom_toBottomOf="@id/module_mogo_och_sweeper_station_name" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintVertical_bias="0.4" 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 68c9768f55..77aa62ac3a 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 @@ -37,14 +37,6 @@ android:layout_marginBottom="@dimen/dp_30" android:visibility="visible" /> - - + app:layout_constraintTop_toBottomOf="@+id/tvCancelTask"/> + app:layout_constraintEnd_toEndOf="parent" + android:visibility="gone"/> \ No newline at end of file