From 95485b9a643d18298971e6a43468dfa1c8d3f160 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 17 Jul 2024 19:55:48 +0800 Subject: [PATCH] =?UTF-8?q?[6.5.0]=20[fea]=20[=E5=85=A8=E8=A7=88=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E5=B1=95=E7=A4=BA=E6=A0=87=E7=AD=BE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OCH/common/common/build.gradle | 1 + .../map/overmapview/IconListItemAdapter.kt | 83 +++++++++++ .../wigets/map/overmapview/OverMapView.kt | 71 +++++++++ .../main/res/layout/common_overmap_view.xml | 135 ++++-------------- .../src/main/res/layout/taxt_d_icon_item.xml | 31 ++++ .../och/taxi/presenter/TaxiPresenter.java | 8 ++ .../mogo/och/taxi/ui/BaseTaxiTabFragment.java | 8 ++ .../res/drawable-nodpi/taxi_overmap_tag.png | Bin 0 -> 14390 bytes .../main/res/layout/taxi_base_fragment.xml | 10 ++ .../passenger/ui/TaxiPassengerBaseFragment.kt | 1 + .../och/taxi/passenger/ui/bottom/BottomBar.kt | 14 ++ .../passenger/ui/bottom/BottomCheckView.kt | 11 ++ .../ui/overmapview/IconListItemAdapter.kt | 83 +++++++++++ .../passenger/ui/overmapview/OverMapView.kt | 67 +++++++++ .../drawable-nodpi/taxi_p_bottom_overmap.png | Bin 0 -> 3418 bytes .../src/main/res/layout/taxi_p_overmap.xml | 33 ++++- .../src/main/res/layout/taxt_p_bottom_bar.xml | 3 + .../main/res/layout/taxt_p_bottom_check.xml | 9 ++ .../src/main/res/layout/taxt_p_icon_item.xml | 33 +++++ .../pcommon/src/main/res/values/attrs.xml | 2 + .../taxi/ui/base/BaseTaxiTabFragment.kt | 18 +++ .../unmanned/taxi/ui/base/TaxiPresenter.java | 26 +++- .../res/drawable-nodpi/taxi_overmap_tag.png | Bin 0 -> 14390 bytes .../layout/unmanned_taxi_base_fragment.xml | 10 ++ .../passenger/ui/TaxiPassengerBaseFragment.kt | 1 + 25 files changed, 545 insertions(+), 113 deletions(-) create mode 100644 OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/IconListItemAdapter.kt create mode 100644 OCH/common/common/src/main/res/layout/taxt_d_icon_item.xml create mode 100644 OCH/taxi/driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png create mode 100644 OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt create mode 100644 OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png create mode 100644 OCH/taxi/pcommon/src/main/res/layout/taxt_p_icon_item.xml create mode 100644 OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png diff --git a/OCH/common/common/build.gradle b/OCH/common/common/build.gradle index 1279256a45..8dae7850b8 100644 --- a/OCH/common/common/build.gradle +++ b/OCH/common/common/build.gradle @@ -69,6 +69,7 @@ dependencies { implementation rootProject.ext.dependencies.litezxing + api rootProject.ext.dependencies.flexbox api project(":OCH:common:data") if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/IconListItemAdapter.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/IconListItemAdapter.kt new file mode 100644 index 0000000000..4340c95073 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/IconListItemAdapter.kt @@ -0,0 +1,83 @@ +package com.mogo.och.common.module.wigets.map.overmapview + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView +import androidx.recyclerview.widget.DiffUtil +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.function.business.travelreality.EventDrawBean +import androidx.recyclerview.widget.DiffUtil.Callback +import com.mogo.och.common.module.R + +/** + * Created by yangyakun on 06/06/17. + */ +class IconListItemAdapter( + private val context: Context, + private val dataList: MutableList +) : RecyclerView.Adapter() { + + fun setDataList(dataList: List) { + if (this.dataList == dataList) { + // 如果新旧列表一致,则直接返回 + return + } + + val diffResult = DiffUtil.calculateDiff(MyDiffCallback(this.dataList, dataList)) + this.dataList.clear() + this.dataList.addAll(dataList) + diffResult.dispatchUpdatesTo(this) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH { + val view: View + val inflater = LayoutInflater.from(context) + view = inflater.inflate(R.layout.taxt_d_icon_item, parent, false) + return TextVH(view) + } + + override fun onBindViewHolder(holder: TextVH, position: Int) { + val errorInfo = dataList[holder.bindingAdapterPosition] + holder.acivQuanxilukValue.text = errorInfo.title + holder.acivQuanxiluk.setImageResource(errorInfo.resId) + } + + override fun getItemCount(): Int { + return dataList.size + } + + inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) { + var acivQuanxiluk: AppCompatImageView + var acivQuanxilukValue: AppCompatTextView + init { + acivQuanxiluk = itemView.findViewById(R.id.aciv_quanxiluk) + acivQuanxilukValue = itemView.findViewById(R.id.aciv_quanxiluk_value) + } + } + + inner class MyDiffCallback(val oldData:List,val newData:List):Callback(){ + override fun getOldListSize(): Int { + return oldData.size + } + + override fun getNewListSize(): Int { + return newData.size + } + + override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { + val oldItem = oldData[oldItemPosition] + val newItem = newData[newItemPosition] + return oldItem.resId == newItem.resId + } + + override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { + val oldItem = oldData[oldItemPosition] + val newItem = newData[newItemPosition] + return oldItem.resId == newItem.resId + } + + } +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/OverMapView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/OverMapView.kt index 5b7ab47175..22c5d1bf5a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/OverMapView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/overmapview/OverMapView.kt @@ -5,8 +5,19 @@ import android.os.Bundle import android.util.AttributeSet import android.view.LayoutInflater import android.widget.RelativeLayout +import com.google.android.flexbox.AlignItems +import com.google.android.flexbox.FlexDirection +import com.google.android.flexbox.FlexWrap +import com.google.android.flexbox.FlexboxLayoutManager +import com.google.android.flexbox.JustifyContent +import com.mogo.eagle.core.function.business.travelreality.EventDrawBean +import com.mogo.eagle.core.function.view.TravelRealityView import com.mogo.och.common.module.R +import kotlinx.android.synthetic.main.common_overmap_view.view.ovbv_bottom_icons +import kotlinx.android.synthetic.main.common_overmap_view.view.ovbv_bottom_icons_cl import kotlinx.android.synthetic.main.common_overmap_view.view.travelRealityView +import kotlinx.android.synthetic.main.common_overmap_view.view.tv_add_false +import kotlinx.android.synthetic.main.common_overmap_view.view.tv_add_true class OverMapView @JvmOverloads constructor( context: Context, @@ -14,9 +25,69 @@ class OverMapView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : RelativeLayout(context, attrs, defStyleAttr){ + private var iconListItemAdapter:IconListItemAdapter?=null + + private val eventDrawBeansTrue = mutableListOf() + private val eventDrawBeansFalse = mutableListOf() + + private val listener = object : TravelRealityView.OnDrawListener{ + override fun onDraw(eventList: List, isEvent: Boolean) { + if(isEvent){ + eventDrawBeansTrue.clear() + eventDrawBeansTrue.addAll(eventList) + }else{ + eventDrawBeansFalse.clear() + eventDrawBeansFalse.addAll(eventList) + } + iconListItemAdapter?.let { + it.setDataList(eventDrawBeansTrue+eventDrawBeansFalse) + if(it.itemCount==0){ + ovbv_bottom_icons_cl.visibility = GONE + }else{ + ovbv_bottom_icons_cl.visibility = VISIBLE + } + } + } + + } private fun initView() { LayoutInflater.from(context).inflate(R.layout.common_overmap_view, this, true) + + + + val flexboxLayoutManager = FlexboxLayoutManager(context) + flexboxLayoutManager.flexDirection = FlexDirection.ROW; + flexboxLayoutManager.alignItems = AlignItems.CENTER + flexboxLayoutManager.flexWrap = FlexWrap.WRAP + flexboxLayoutManager.justifyContent = JustifyContent.CENTER + + ovbv_bottom_icons?.layoutManager = flexboxLayoutManager + //ovbv_bottom_icons?.setHasFixedSize(true) + iconListItemAdapter = IconListItemAdapter( + context, mutableListOf( + + ) + ) + + ovbv_bottom_icons?.adapter = iconListItemAdapter + ovbv_bottom_icons_cl.visibility = GONE + + travelRealityView.setOnDrawListener(listener) + + tv_add_true.setOnClickListener { + listener.onDraw(mutableListOf( + EventDrawBean(R.drawable.mogo_jingzhi_nor,"全息路口"), + EventDrawBean(R.drawable.mogo_shigong_image,"静止事件"), + ),true) + } + + tv_add_false.setOnClickListener { + listener.onDraw(mutableListOf( + EventDrawBean(R.drawable.mogo_quanxi_lukou,"全息路口"), + ),false) + } + } fun onCreateView(savedInstanceState: Bundle?) { diff --git a/OCH/common/common/src/main/res/layout/common_overmap_view.xml b/OCH/common/common/src/main/res/layout/common_overmap_view.xml index 209a82def2..6f3c61a8a3 100644 --- a/OCH/common/common/src/main/res/layout/common_overmap_view.xml +++ b/OCH/common/common/src/main/res/layout/common_overmap_view.xml @@ -25,119 +25,44 @@ app:unArrivedDrawable="@drawable/taxt_u_p_overmap_arriving" /> - + - - - - - - - - - - - - - - + android:background="@color/common_232A3F" + android:layout_alignParentBottom="true" + android:layout_centerHorizontal="true"> + + + + + + \ No newline at end of file diff --git a/OCH/common/common/src/main/res/layout/taxt_d_icon_item.xml b/OCH/common/common/src/main/res/layout/taxt_d_icon_item.xml new file mode 100644 index 0000000000..c14c670d3b --- /dev/null +++ b/OCH/common/common/src/main/res/layout/taxt_d_icon_item.xml @@ -0,0 +1,31 @@ + + + + + + \ No newline at end of file diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index 55d210c31f..48ecbb6c73 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -293,6 +293,14 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus) { TaxiModel.getInstance().queryAutopilotStatus(true); TaxiModel.getInstance().setStation(); + UiThreadHandler.post(new Runnable() { + @Override + public void run() { + if(mView!=null) { + mView.setGuidShow(); + } + } + }, UiThreadHandler.MODE.QUEUE); } if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) { diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index f436e8361c..c8d4e060cd 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -16,6 +16,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatImageView; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.Group; import androidx.fragment.app.FragmentTransaction; @@ -80,6 +81,7 @@ public abstract class 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 + + { if(chekAndStartAutopilotView.visibility == View.GONE){ diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt index 71732f40e0..3cf1cb2d53 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomBar.kt @@ -46,6 +46,20 @@ class BottomBar @JvmOverloads constructor( this.overMapViewApply = overMapViewApply } + fun setBagVisable(selectItem:SelectView){ + when (selectItem) { + SelectView.PRECISIONMAP -> { + actv_precisionmap.setBagVisable(VISIBLE) + } + SelectView.OVERMAPVIEW -> { + actv_overmap.setBagVisable(VISIBLE) + } + SelectView.VIDEO -> { + actv_video.setBagVisable(VISIBLE) + } + } + } + fun setCheckIndex(index: SelectView){ if(checkIndex==index){ return diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt index 56d46a9a92..b7baf6c5b9 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/bottom/BottomCheckView.kt @@ -7,6 +7,7 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import com.mogo.och.taxi.passenger.common.R +import kotlinx.android.synthetic.main.taxt_p_bottom_check.view.aciv_bag import kotlinx.android.synthetic.main.taxt_p_bottom_check.view.aciv_center_image import kotlinx.android.synthetic.main.taxt_p_bottom_check.view.actv_title @@ -26,6 +27,7 @@ open class BottomCheckView @JvmOverloads constructor( private var normalDrawable: Int = -1 private var bottomTitleNormalColor:Int = -1 private var bottomTitleCheckedColor:Int = -1 + private var bottomShowIcon:Boolean = false private var backageView: View? = null private var isCheck = false @@ -42,6 +44,7 @@ open class BottomCheckView @JvmOverloads constructor( ContextCompat.getColor(context,R.color.white)) bottomTitleCheckedColor = typedArray.getColor(R.styleable.BottomSelectView_bottomTitleCheckedColor, ContextCompat.getColor(context,R.color.white)) + bottomShowIcon = typedArray.getBoolean(R.styleable.BottomSelectView_bottomShowIcon, false) typedArray.recycle() initView(context) } catch (e: Exception) { @@ -55,6 +58,13 @@ open class BottomCheckView @JvmOverloads constructor( aciv_center_image.setImageResource(normalDrawable) } actv_title.text = bottomTitle + if(bottomShowIcon){ + aciv_bag.visibility = View.VISIBLE + } + } + + fun setBagVisable(visibility:Int){ + aciv_bag.visibility = visibility } fun setCheckItem(isCheck: Boolean) { @@ -69,6 +79,7 @@ open class BottomCheckView @JvmOverloads constructor( backageView?.visibility = View.VISIBLE aciv_center_image.setImageResource(selectedDrawable) actv_title.setTextColor(bottomTitleCheckedColor) + setBagVisable(GONE) } else { backageView?.visibility = View.GONE aciv_center_image.setImageResource(normalDrawable) diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt new file mode 100644 index 0000000000..a7324cd5df --- /dev/null +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/IconListItemAdapter.kt @@ -0,0 +1,83 @@ +package com.mogo.och.taxi.passenger.ui.overmapview + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView +import androidx.recyclerview.widget.DiffUtil +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.function.business.travelreality.EventDrawBean +import com.mogo.och.taxi.passenger.common.R +import androidx.recyclerview.widget.DiffUtil.Callback + +/** + * Created by yangyakun on 06/06/17. + */ +class IconListItemAdapter( + private val context: Context, + private val dataList: MutableList +) : RecyclerView.Adapter() { + + fun setDataList(dataList: List) { + if (this.dataList == dataList) { + // 如果新旧列表一致,则直接返回 + return + } + + val diffResult = DiffUtil.calculateDiff(MyDiffCallback(this.dataList, dataList)) + this.dataList.clear() + this.dataList.addAll(dataList) + diffResult.dispatchUpdatesTo(this) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH { + val view: View + val inflater = LayoutInflater.from(context) + view = inflater.inflate(R.layout.taxt_p_icon_item, parent, false) + return TextVH(view) + } + + override fun onBindViewHolder(holder: TextVH, position: Int) { + val errorInfo = dataList[holder.bindingAdapterPosition] + holder.acivQuanxilukValue.text = errorInfo.title + holder.acivQuanxiluk.setImageResource(errorInfo.resId) + } + + override fun getItemCount(): Int { + return dataList.size + } + + inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) { + var acivQuanxiluk: AppCompatImageView + var acivQuanxilukValue: AppCompatTextView + init { + acivQuanxiluk = itemView.findViewById(R.id.aciv_quanxiluk) + acivQuanxilukValue = itemView.findViewById(R.id.aciv_quanxiluk_value) + } + } + + inner class MyDiffCallback(val oldData:List,val newData:List):Callback(){ + override fun getOldListSize(): Int { + return oldData.size + } + + override fun getNewListSize(): Int { + return newData.size + } + + override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { + val oldItem = oldData[oldItemPosition] + val newItem = newData[newItemPosition] + return oldItem.resId == newItem.resId + } + + override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { + val oldItem = oldData[oldItemPosition] + val newItem = newData[newItemPosition] + return oldItem.resId == newItem.resId + } + + } +} \ No newline at end of file diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt index 6937510a6f..b90617e245 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/overmapview/OverMapView.kt @@ -7,9 +7,18 @@ import android.os.Bundle import android.util.AttributeSet import android.view.LayoutInflater import android.widget.RelativeLayout +import com.google.android.flexbox.AlignItems +import com.google.android.flexbox.FlexDirection +import com.google.android.flexbox.FlexWrap +import com.google.android.flexbox.FlexboxLayoutManager +import com.google.android.flexbox.JustifyContent +import com.mogo.eagle.core.function.business.travelreality.EventDrawBean +import com.mogo.eagle.core.function.view.TravelRealityView import com.mogo.och.taxi.passenger.common.R import kotlinx.android.synthetic.main.taxi_p_overmap.view.ovbv_bottom_icons import kotlinx.android.synthetic.main.taxi_p_overmap.view.travelRealityView +import kotlinx.android.synthetic.main.taxi_p_overmap.view.tv_add_false +import kotlinx.android.synthetic.main.taxi_p_overmap.view.tv_add_true class OverMapView @JvmOverloads constructor( context: Context, @@ -17,6 +26,31 @@ class OverMapView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : RelativeLayout(context, attrs, defStyleAttr){ + private var iconListItemAdapter:IconListItemAdapter?=null + + private val eventDrawBeansTrue = mutableListOf() + private val eventDrawBeansFalse = mutableListOf() + + private val listener = object :TravelRealityView.OnDrawListener{ + override fun onDraw(eventList: List, isEvent: Boolean) { + if(isEvent){ + eventDrawBeansTrue.clear() + eventDrawBeansTrue.addAll(eventList) + }else{ + eventDrawBeansFalse.clear() + eventDrawBeansFalse.addAll(eventList) + } + iconListItemAdapter?.let { + it.setDataList(eventDrawBeansTrue+eventDrawBeansFalse) + if(it.itemCount==0){ + ovbv_bottom_icons.visibility = GONE + }else{ + ovbv_bottom_icons.visibility = VISIBLE + } + } + } + + } private fun initView() { LayoutInflater.from(context).inflate(R.layout.taxi_p_overmap, this, true) @@ -31,6 +65,39 @@ class OverMapView @JvmOverloads constructor( Color.parseColor("#33D7E5FF"), )) ovbv_bottom_icons.background = temp01 + + + val flexboxLayoutManager = FlexboxLayoutManager(context) + flexboxLayoutManager.flexDirection = FlexDirection.ROW; + flexboxLayoutManager.alignItems = AlignItems.CENTER + flexboxLayoutManager.flexWrap = FlexWrap.WRAP + flexboxLayoutManager.justifyContent = JustifyContent.CENTER + + ovbv_bottom_icons?.layoutManager = flexboxLayoutManager + //ovbv_bottom_icons?.setHasFixedSize(true) + iconListItemAdapter = IconListItemAdapter( + context, mutableListOf( + + ) + ) + + ovbv_bottom_icons?.adapter = iconListItemAdapter + ovbv_bottom_icons.visibility = GONE + + travelRealityView.setOnDrawListener(listener) + + tv_add_true.setOnClickListener { + listener.onDraw(mutableListOf( + EventDrawBean(R.drawable.mogo_jingzhi_nor,"全息路口"), + EventDrawBean(R.drawable.mogo_shigong_image,"静止事件"), + ),true) + } + + tv_add_false.setOnClickListener { + listener.onDraw(mutableListOf( + EventDrawBean(R.drawable.mogo_quanxi_lukou,"全息路口"), + ),false) + } } fun onCreateView(savedInstanceState: Bundle?) { diff --git a/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png b/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6ab95de04e70c004b618d6a0756d58f9df8c61 GIT binary patch literal 3418 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 z - + + + + \ No newline at end of file diff --git a/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_bar.xml b/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_bar.xml index 74fe51ec69..352502a511 100644 --- a/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_bar.xml +++ b/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_bar.xml @@ -61,6 +61,7 @@ app:layout_constraintEnd_toStartOf="@+id/actv_overmap" app:layout_constraintStart_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" + app:bottomShowIcon = "false" app:layout_constraintBottom_toBottomOf="parent" android:layout_width="wrap_content" android:layout_height="match_parent"/> @@ -85,6 +86,7 @@ app:normalDrawable="@drawable/taxt_p_bottom_overmap_normal" app:bottomTitle="全局概览" app:bottomTitleCheckedColor="@color/white" + app:bottomShowIcon = "true" android:layout_marginEnd="@dimen/dp_107" android:layout_marginStart="@dimen/dp_107" app:bottomTitleNormalColor="@color/taxi_cp_41444D" @@ -121,6 +123,7 @@ app:layout_constraintEnd_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" + app:bottomShowIcon = "false" android:layout_width="wrap_content" android:layout_height="match_parent"/> diff --git a/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_check.xml b/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_check.xml index d2841dbbd4..0db8c6d706 100644 --- a/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_check.xml +++ b/OCH/taxi/pcommon/src/main/res/layout/taxt_p_bottom_check.xml @@ -26,4 +26,13 @@ android:text="靠边停车" android:layout_width="wrap_content" android:layout_height="wrap_content"/> + + \ No newline at end of file diff --git a/OCH/taxi/pcommon/src/main/res/layout/taxt_p_icon_item.xml b/OCH/taxi/pcommon/src/main/res/layout/taxt_p_icon_item.xml new file mode 100644 index 0000000000..c96f711884 --- /dev/null +++ b/OCH/taxi/pcommon/src/main/res/layout/taxt_p_icon_item.xml @@ -0,0 +1,33 @@ + + + + + + \ No newline at end of file diff --git a/OCH/taxi/pcommon/src/main/res/values/attrs.xml b/OCH/taxi/pcommon/src/main/res/values/attrs.xml index ad7e79f2c3..4312fc919c 100644 --- a/OCH/taxi/pcommon/src/main/res/values/attrs.xml +++ b/OCH/taxi/pcommon/src/main/res/values/attrs.xml @@ -13,6 +13,8 @@ + + \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt index 7a2b42f88a..e442b06aec 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt @@ -23,18 +23,21 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView import com.mogo.eagle.core.function.hmi.ui.widget.ParallelDriveView +import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.map.listener.IMogoMapListener import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.och.common.module.wigets.StartAutopilotAnimationView +import com.mogo.och.common.module.wigets.map.overmapview.OverMapDialog import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.START_AUTOPILOT_ANIMATION_INTERVAL import com.mogo.och.unmanned.taxi.ui.debug.DebugView import com.mogo.och.unmanned.taxi.ui.navi.amap.TaxiAmapNaviFragment import com.mogo.och.unmanned.taxi.ui.navi.auto.TaxiRoutingNaviFragment +import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.aciv_show_guid import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.groupTestPanel import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.mapBizView import kotlinx.android.synthetic.main.unmanned_taxi_base_fragment.module_mogo_och_autopilot_status @@ -71,6 +74,8 @@ abstract class BaseTaxiTabFragment> : MvpFragment> : MvpFragment> : MvpFragment implements ITaxiADASStatusCallback, - ITaxiOrderStatusCallback, ITaxiControllerStatusCallback, ILoginCallback { + ITaxiOrderStatusCallback, ITaxiControllerStatusCallback, ILoginCallback, OrderListener { private static final String TAG = TaxiPresenter.class.getSimpleName(); @@ -61,6 +64,7 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiRoutingModel.INSTANCE.setControllerStatusCallback(this); TaxiRoutingModel.INSTANCE.setOrderStatusCallback(this); LoginStatusManager.INSTANCE.addListener(TAG,this); + OrderModel.INSTANCE.setOrderStatusCallback(TAG,this); } private void releaseListeners() { @@ -329,4 +333,20 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS public void resumeStartAutopilot(long remainingTime) { TaxiTaskModel.INSTANCE.resumeStartAutopilot(remainingTime); } + + @Override + public void onCurrentOrderStatusChanged(@Nullable BaseOrderBean order) { + if(order!=null){ + if (order.orderStatus== TaxiOrderStatusEnum.ArriveAtStart.getCode()) { + UiThreadHandler.post(new Runnable() { + @Override + public void run() { + if(mView!=null) { + mView.setGuidShow(); + } + } + }, UiThreadHandler.MODE.QUEUE); + } + } + } } diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png new file mode 100644 index 0000000000000000000000000000000000000000..b0bcc4fc03082c1fed21665462286955c9675fb9 GIT binary patch literal 14390 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 + + { if (chekAndStartAutopilotView.visibility == View.GONE) {