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 BaseTaxiTabFragment + + { 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 0000000000..4f6ab95de0 Binary files /dev/null and b/OCH/taxi/pcommon/src/main/res/drawable-nodpi/taxi_p_bottom_overmap.png differ diff --git a/OCH/taxi/pcommon/src/main/res/layout/taxi_p_overmap.xml b/OCH/taxi/pcommon/src/main/res/layout/taxi_p_overmap.xml index ce0dfc7f9f..45168bac9b 100644 --- a/OCH/taxi/pcommon/src/main/res/layout/taxi_p_overmap.xml +++ b/OCH/taxi/pcommon/src/main/res/layout/taxi_p_overmap.xml @@ -11,7 +11,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:arrivedDrawable="@drawable/taxt_u_p_overmap_arrived" - app:bottomPadding="160" + app:bottomPadding="360" app:carDrawable="@drawable/taxt_u_p_map_car" app:compassDrawable="@drawable/taxt_u_p_map_car_light" app:endPointDrawable="@drawable/taxt_u_p_map_view_dir_end" @@ -19,17 +19,40 @@ app:mapStyleExtraPath="style_extra.data" app:mapStylePath="style.data" app:resetDrawable="@null" - app:rightPadding="160" + app:rightPadding="580" app:startPointDrawable="@drawable/taxt_u_p_map_view_dir_start" app:topPadding="160" app:unArrivedDrawable="@drawable/taxt_u_p_overmap_arriving" /> - + + + + \ 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 0000000000..b0bcc4fc03 Binary files /dev/null and b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_overmap_tag.png differ diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml index 0e06ddc081..24034443aa 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml @@ -413,6 +413,16 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toRightOf="parent" /> + + { if (chekAndStartAutopilotView.visibility == View.GONE) {