diff --git a/OCH/common/common/src/main/res/values/colors.xml b/OCH/common/common/src/main/res/values/colors.xml index 298610c338..73e11fa666 100644 --- a/OCH/common/common/src/main/res/values/colors.xml +++ b/OCH/common/common/src/main/res/values/colors.xml @@ -8,6 +8,7 @@ #111533 #878890 #EF262C + #00000000 #4D000000 #99000000 diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2ADASPresenter.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2ADASPresenter.kt index a6beffd111..14e6e5826b 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2ADASPresenter.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2ADASPresenter.kt @@ -10,7 +10,7 @@ import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback import com.mogo.och.shuttle.weaknet.passenger.constant.M2Const.Companion.M2_MAP_STATION_MAKER import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel import com.mogo.och.shuttle.weaknet.passenger.model.PM2ADASModel -import com.mogo.och.shuttle.weaknet.passenger.ui.PM2HPMapFragment +import com.mogo.och.shuttle.weaknet.passenger.ui.map.PM2HPMapFragment class PM2ADASPresenter(view: PM2HPMapFragment?) : Presenter(view), ADASCallback, ICommonCallback { @@ -52,7 +52,6 @@ class PM2ADASPresenter(view: PM2HPMapFragment?) : } override fun showNoTaskView(isTrue: Boolean) { - super.showNoTaskView(isTrue) ThreadUtils.runOnUiThread { mView?.showNoTaskView(!isTrue) } diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2DrivingPresenter.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2DrivingPresenter.kt index 1097204c50..d6f758659f 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2DrivingPresenter.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/presenter/PM2DrivingPresenter.kt @@ -1,12 +1,11 @@ package com.mogo.och.shuttle.weaknet.passenger.presenter import androidx.lifecycle.LifecycleOwner -import com.amap.api.maps.model.LatLng import com.mogo.commons.mvp.Presenter import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.shuttle.weaknet.passenger.model.PM2ADASModel -import com.mogo.och.shuttle.weaknet.passenger.ui.PM2DrivingInfoFragment +import com.mogo.och.shuttle.weaknet.passenger.ui.line.PM2DrivingInfoFragment import com.mogo.och.data.bean.BusStationBean import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel @@ -38,18 +37,7 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) : } override fun updateSpeed(speed: Int) { -// CallerLogger.d( -// SceneConstant.M_BUS_P + "speed = ",speed.toString() -// ) - ThreadUtils.runOnUiThread { - mView?.updateSpeed(speed) - } - } - override fun updateLineInfo(lineName: String) { - ThreadUtils.runOnUiThread { - mView?.updateTaskName(lineName) - } } override fun updateRemainMT(meters: Long, timeInSecond: Long) { @@ -58,11 +46,11 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) : } } - override fun showNoTaskView(isTrue: Boolean) { + override fun showNoTaskView(empty: Boolean) { ThreadUtils.runOnUiThread { - mView?.showNoTaskView(!isTrue) + mView?.showNoTaskView(empty) } - if (isTrue){ + if (empty){ PM2ADASModel.INSTANCE.removeHDMapStations() } } @@ -75,11 +63,5 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) : } } - override fun updateAutoStatus(isOpen: Boolean) { - BizLoopManager.runInMainThread { - mView?.updateAutoStatus(isOpen) - } - } - } \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2BaseFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2BaseFragment.kt index 40dcabd118..d436b6a9e6 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2BaseFragment.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2BaseFragment.kt @@ -12,6 +12,8 @@ import com.mogo.och.common.module.manager.transform.OchTransformDispatch import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.och.shuttle.weaknet.passenger.presenter.PM2Presenter import com.mogo.och.common.module.wigets.media.MediaPlayerFragment +import com.mogo.och.shuttle.weaknet.passenger.ui.line.PM2DrivingInfoFragment +import com.mogo.och.shuttle.weaknet.passenger.ui.map.PM2HPMapFragment import kotlinx.android.synthetic.main.shuttle_p_m2_fragment.tv_shuttle_b2_p_version import kotlinx.android.synthetic.main.shuttle_p_m2_fragment.video_fragment @@ -23,22 +25,28 @@ import kotlinx.android.synthetic.main.shuttle_p_m2_fragment.video_fragment class PM2BaseFragment : MvpFragment() { - private var drivingFragment : PM2DrivingInfoFragment? = null - private var hdMapFragment : PM2HPMapFragment? = null - private var mediaFragment : MediaPlayerFragment? = null + val TAG = PM2BaseFragment::class.java.simpleName - private val ochTransform = object : OchTransformDispatch{ + private var drivingFragment: PM2DrivingInfoFragment? = null + private var hdMapFragment: PM2HPMapFragment? = null + private var mediaFragment: MediaPlayerFragment? = null + + // 视频直播流 + private val ochTransform = object : OchTransformDispatch { override fun setVideoView(target: View?) { super.setVideoView(target) - if(target!=null){ - BizLoopManager.runInMainThread{ + if (target != null) { + BizLoopManager.runInMainThread { target.id = R.id.video_show - val params = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT) - video_fragment.addView(target,params) + val params = FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) + video_fragment.addView(target, params) MediaManager.setMediaPause() } - }else{ - BizLoopManager.runInMainThread{ + } else { + BizLoopManager.runInMainThread { findViewById(R.id.video_show)?.let { video_fragment.removeView(it) MediaManager.setMediaResume() @@ -58,9 +66,8 @@ class PM2BaseFragment : override fun initViews() { tv_shuttle_b2_p_version.text = "版本:${AppUtils.getAppVersionName()}" - //隐藏小地图 initFragment() - OchTransform.addListener(TAG,ochTransform) + OchTransform.addListener(TAG, ochTransform) } override fun onDestroy() { @@ -90,7 +97,4 @@ class PM2BaseFragment : return PM2Presenter(this) } - companion object { - public val TAG = PM2BaseFragment::class.java.simpleName - } } \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt deleted file mode 100644 index 115f60e834..0000000000 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2DrivingInfoFragment.kt +++ /dev/null @@ -1,185 +0,0 @@ -package com.mogo.och.shuttle.weaknet.passenger.ui - -import android.os.Bundle -import androidx.core.content.ContextCompat -import com.mogo.commons.mvp.MvpFragment -import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView -import com.mogo.och.shuttle.weaknet.passenger.R -import com.mogo.och.shuttle.weaknet.passenger.presenter.PM2DrivingPresenter -import com.mogo.och.common.module.utils.NumberFormatUtil -import com.mogo.och.data.bean.BusStationBean -import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.auto_tv -import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.speed_tv -import kotlin.math.ceil -import kotlin.math.roundToInt - -/** - * @author: wangmingjun - * @date: 2022/4/12 - */ -class PM2DrivingInfoFragment : - MvpFragment() { - - - - - override fun getLayoutId(): Int { - return R.layout.shuttle_p_m2_driving_info_fragment - } - - override fun getTagName(): String { - return TAG - } - - override fun initViews() { - speed_tv.setOnLongClickListener { - context?.let { ToggleDebugView.toggleDebugView.toggle(it) } - true - } -// -// line_name_tv.setTextColor(ResourcesUtils.getColor(R.color.shuttle_p_m2_line_name_tv_color)) -// station_name_tv.setTextColor(ResourcesUtils.getColor(R.color.shuttle_p_m2_line_name_tv_color)) - } - - override fun initViews(savedInstanceState: Bundle?) { - super.initViews(savedInstanceState) - - } - - override fun onResume() { - super.onResume() - } - - override fun onPause() { - super.onPause() - } - - override fun onDestroyView() { - mPresenter?.onDestroy(this) - super.onDestroyView() - } - - fun updateSpeed(speed: Int) { - speed_tv.text = speed.toString() - } - - fun updateTaskName(name: String) { - //line_name_tv.text = name - } - - fun showNoTaskView(haveTask: Boolean) { - if (!haveTask) { - updateNoOrderUI() - } - } - - private fun updateNoOrderUI() { - //line_name_tv.text = resources.getString(R.string.shuttle_p_m2_not_select_line_content) - updateNoStationView() - - } - - private fun updateNoStationView() { -// station_name_tv.setTextColor(ResourcesUtils.getColor(R.color.shuttle_p_m2_next_tv_color)) -// station_name_tv.text = resources.getString(R.string.shuttle_p_m2_empty_tv) -// tv_distance.text = resources.getString(R.string.shuttle_p_m2_empty_remain_km) -// tv_left_time.text = resources.getString(R.string.shuttle_p_m2_empty_remain_minute) - noLineShow() - } - - override fun createPresenter(): PM2DrivingPresenter { - return PM2DrivingPresenter(this) - } - - fun updateAutoStatus(isAutoPilot: Boolean) { - context?.let { - if (isAutoPilot) { - auto_tv.setTextColor(ContextCompat.getColor(it, R.color.common_FFFFFF)) - auto_tv.background = ContextCompat.getDrawable(it, R.drawable.m2_autopilot_status_in) - } else { - auto_tv.setTextColor(ContextCompat.getColor(it, R.color.common_284F7E)) - auto_tv.background = ContextCompat.getDrawable(it, R.drawable.m2_autopilot_status_out) - } - } - - } - - fun updateStationsInfo(stations: MutableList, i: Int, isArrived: Boolean) { - if (stations.size == 0) return -// if (0 <= i && i < stations.size) { -// station_name_tv.setTextColor(ResourcesUtils.getColor(R.color.shuttle_p_m2_next_tv_color)) -// station_name_tv.text = stations[i].name -// } -// if (isArrived) {//到站 -// tv_distance.text = resources.getString(R.string.shuttle_p_m2_empty_remain_km) -// tv_left_time.text = resources.getString(R.string.shuttle_p_m2_empty_remain_minute) -// tv_next_station_title.text = -// resources.getString(R.string.shuttle_p_m2_station_title_arrived_tv) -// haveLineAndArrivedStation() -// } else { //前往目的地中 -// tv_next_station_title.text = -// resources.getString(R.string.shuttle_p_m2_next_station_title) -// haveLineAndArriveingStation() -// } - } - - /** - * 剩余里程和时间 - */ - fun updateRemainMT(meters: Long, timeInSecond: Long) { //米。秒 - var disUnit = "公里" - var remainDis: String? = "0" - - if (meters > 0) { - if (meters / 1000 < 1) { - disUnit = "米" - remainDis = meters.toFloat().roundToInt().toString() - } else { - disUnit = "公里" - remainDis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) - } - } - - val time = ceil(timeInSecond / 60f).toInt() - -// "$remainDis$disUnit".also { tv_distance.text = it } -// "${time}分钟".also { tv_left_time.text = it } - } - - fun noLineShow() { - // 没有线路展示 -// group_not_select_line.visibility = View.VISIBLE -// // 下一个站点 -// group_stationinfo.visibility = View.GONE -// // 距离和剩余大概时间 -// clg_distance_left_time.visibility = View.GONE -// // 到达站点 -// tv_arrived_notice.visibility = View.GONE -// -// iv_animal_list.visibility = View.GONE - } - - // 有线路正在到站点 - fun haveLineAndArriveingStation() { -// group_not_select_line.visibility = View.GONE -// group_stationinfo.visibility = View.VISIBLE -// clg_distance_left_time.visibility = View.VISIBLE -// tv_arrived_notice.visibility = View.GONE -// iv_animal_list.visibility = View.GONE - } - - // 有线路到达站点 - private fun haveLineAndArrivedStation() { -// group_not_select_line.visibility = View.GONE -// group_stationinfo.visibility = View.VISIBLE -// clg_distance_left_time.visibility = View.GONE -// tv_arrived_notice.visibility = View.VISIBLE -// iv_animal_list.visibility = View.VISIBLE -// val animationDrawable = iv_animal_list.drawable as AnimationDrawable -// animationDrawable.start() - } - - companion object { - private val TAG = PM2DrivingInfoFragment::class.java.simpleName - } -} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt new file mode 100644 index 0000000000..5d9b332c1f --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt @@ -0,0 +1,119 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line + +import android.os.Bundle +import android.view.View +import com.mogo.commons.mvp.MvpFragment +import com.mogo.och.shuttle.weaknet.passenger.R +import com.mogo.och.shuttle.weaknet.passenger.presenter.PM2DrivingPresenter +import com.mogo.och.common.module.utils.NumberFormatUtil +import com.mogo.och.data.bean.BusStationBean +import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.arriveView +import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.emptyView +import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.lineView +import kotlin.math.ceil +import kotlin.math.roundToInt + +/** + * @author: wangmingjun + * @date: 2022/4/12 + */ +class PM2DrivingInfoFragment : + MvpFragment() { + + + + + override fun getLayoutId(): Int { + return R.layout.shuttle_p_m2_driving_info_fragment + } + + override fun getTagName(): String { + return TAG + } + + override fun initViews() { + + } + + override fun initViews(savedInstanceState: Bundle?) { + super.initViews(savedInstanceState) + + } + + override fun onResume() { + super.onResume() + } + + override fun onPause() { + super.onPause() + } + + override fun onDestroyView() { + mPresenter?.onDestroy(this) + super.onDestroyView() + } + + fun showNoTaskView(haveTask: Boolean) { + if(haveTask){ + emptyView.visibility = View.VISIBLE + arriveView.visibility = View.GONE + lineView.visibility = View.GONE + }else{ + emptyView.visibility = View.GONE + arriveView.visibility = View.GONE + lineView.visibility = View.VISIBLE + } + } + + override fun createPresenter(): PM2DrivingPresenter { + return PM2DrivingPresenter(this) + } + + fun updateStationsInfo(stations: MutableList, i: Int, isArrived: Boolean) { + if(stations.isEmpty()){ + emptyView.visibility = View.VISIBLE + arriveView.visibility = View.GONE + lineView.visibility = View.GONE + }else{ + if(isArrived&&i!=0){ + emptyView.visibility = View.GONE + arriveView.visibility = View.VISIBLE + lineView.visibility = View.GONE + arriveView.setArrivedStation(stations.get(i)) + }else{ + emptyView.visibility = View.GONE + arriveView.visibility = View.GONE + lineView.visibility = View.VISIBLE + } + } + + } + + /** + * 剩余里程和时间 + */ + fun updateRemainMT(meters: Long, timeInSecond: Long) { //米。秒 + var disUnit = "公里" + var remainDis: String? = "0" + + if (meters > 0) { + if (meters / 1000 < 1) { + disUnit = "米" + remainDis = meters.toFloat().roundToInt().toString() + } else { + disUnit = "公里" + remainDis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) + } + } + + val time = ceil(timeInSecond / 60f).toInt() + +// "$remainDis$disUnit".also { tv_distance.text = it } +// "${time}分钟".also { tv_left_time.text = it } + } + + + companion object { + private val TAG = PM2DrivingInfoFragment::class.java.simpleName + } +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/arrive/ArrivedView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/arrive/ArrivedView.kt new file mode 100644 index 0000000000..01b9df206e --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/arrive/ArrivedView.kt @@ -0,0 +1,56 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.arrive + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.data.bean.BusStationBean +import com.mogo.och.shuttle.weaknet.passenger.R +import kotlinx.android.synthetic.main.m2_arrive_view.view.ochtv_arrive_station_value + +class ArrivedView : ConstraintLayout { + + private val TAG = "EmptyView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private fun initView() { + LayoutInflater.from(context).inflate(R.layout.m2_arrive_view, this, true) + + ochtv_arrive_station_value.setVertrial(true) + val intArrayOf = intArrayOf( + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_43cefe), + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_1466fb), + ) + ochtv_arrive_station_value.setmColorList(intArrayOf) + + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + } + + fun setArrivedStation(busStationBean: BusStationBean) { + BizLoopManager.runInMainThread{ + ochtv_arrive_station_value.text = busStationBean.name + } + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/AutopilotView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/AutopilotView.kt new file mode 100644 index 0000000000..abbac7262d --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/AutopilotView.kt @@ -0,0 +1,45 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener +import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView +import com.mogo.och.bridge.autopilot.location.OchLocationManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.shuttle.weaknet.passenger.R +import kotlinx.android.synthetic.main.m2_speed.view.tv_speed +import kotlin.math.abs + +class AutopilotView : ConstraintLayout { + + private val TAG = "ItineraryView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private fun initView() { + LayoutInflater.from(context).inflate(R.layout.m2_autopilot, this, true) + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2TurnLightView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/light/M2TurnLightView.kt similarity index 96% rename from OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2TurnLightView.kt rename to OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/light/M2TurnLightView.kt index f7e54eff2c..fc708bf80b 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2TurnLightView.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/light/M2TurnLightView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.weaknet.passenger.ui.widget +package com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot.light import android.animation.AnimatorSet import android.animation.ObjectAnimator @@ -16,11 +16,9 @@ import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.och.common.module.manager.light.TurnLightManager -import kotlinx.android.synthetic.main.shuttle_p_m2_turn_light_status.view.left_nor_image import kotlinx.android.synthetic.main.shuttle_p_m2_turn_light_status.view.left_select_image import kotlinx.android.synthetic.main.shuttle_p_m2_turn_light_status.view.right_nor_image import kotlinx.android.synthetic.main.shuttle_p_m2_turn_light_status.view.right_select_image -import kotlinx.android.synthetic.main.shuttle_p_m2_turn_light_status.view.turn_light_layout /** * @author: wangmingjun diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/speed/SpeedView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/speed/SpeedView.kt new file mode 100644 index 0000000000..9fa9402efb --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/speed/SpeedView.kt @@ -0,0 +1,64 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot.speed + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener +import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView +import com.mogo.och.bridge.autopilot.location.OchLocationManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.shuttle.weaknet.passenger.R +import kotlinx.android.synthetic.main.m2_speed.view.tv_speed +import kotlin.math.abs + +class SpeedView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { + + private val TAG = "ItineraryView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private fun initView() { + LayoutInflater.from(context).inflate(R.layout.m2_speed, this, true) + + tv_speed.setOnLongClickListener { + context?.let { ToggleDebugView.toggleDebugView.toggle(it) } + true + } + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + if(isVisible){ + OchLocationManager.addGCJ02Listener(TAG, 3, this) + }else{ + OchLocationManager.removeGCJ02Listener(TAG) + } + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { + mogoLocation?.let { + BizLoopManager.runInMainThread { + val speedKM = (abs(it.gnssSpeed) * 3.6f).toInt() + tv_speed.text = speedKM.toString() + } + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt new file mode 100644 index 0000000000..d298340199 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt @@ -0,0 +1,58 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.autopilot.status + +import android.content.Context +import android.util.AttributeSet +import androidx.appcompat.widget.AppCompatTextView +import androidx.core.content.ContextCompat +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.shuttle.weaknet.passenger.R +import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback +import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel + +class StatusView : AppCompatTextView, ICommonCallback { + + private val TAG = "ItineraryView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + private fun initView() { + + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + if(isVisible){ + CommonModel.setRouteLineInfoCallback(TAG,this) + }else{ + CommonModel.setRouteLineInfoCallback(TAG,null) + } + } + + override fun updateAutoStatus(isAutoPilot: Boolean) { + BizLoopManager.runInMainThread { + context?.let { + if (isAutoPilot) { + setTextColor(ContextCompat.getColor(it, R.color.common_FFFFFF)) + background = ContextCompat.getDrawable(it, R.drawable.m2_autopilot_status_in) + } else { + setTextColor(ContextCompat.getColor(it, R.color.common_284F7E)) + background = ContextCompat.getDrawable(it, R.drawable.m2_autopilot_status_out) + } + } + } + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/empty/EmptyView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/empty/EmptyView.kt new file mode 100644 index 0000000000..216ca6611b --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/empty/EmptyView.kt @@ -0,0 +1,47 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.empty + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.shuttle.weaknet.passenger.R +import kotlinx.android.synthetic.main.m2_empty_view.view.tv_title + +class EmptyView : ConstraintLayout { + + private val TAG = "EmptyView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private fun initView() { + LayoutInflater.from(context).inflate(R.layout.m2_empty_view, this, true) + + tv_title.setVertrial(true) + val intArrayOf = intArrayOf( + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_43cefe), + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_1466fb), + ) + tv_title.setmColorList(intArrayOf) + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt new file mode 100644 index 0000000000..d5056cdc90 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt @@ -0,0 +1,78 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.findViewTreeViewModelStoreOwner +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager +import com.mogo.och.data.bean.BusStationBean +import com.mogo.och.shuttle.weaknet.passenger.R +import com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo.item.StationAdapter +import kotlinx.android.synthetic.main.m2_line_view.view.ll_station_container + +class LineView : ConstraintLayout, LineViewModel.LineViewCallback { + + private val TAG = "EmptyView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private lateinit var mAdapter: StationAdapter + + private lateinit var linearLayoutManager: LinearLayoutManager + + private var viewModel:LineViewModel?=null + + + + private fun initView() { + LayoutInflater.from(context).inflate(R.layout.m2_line_view, this, true) + + linearLayoutManager = LinearLayoutManager(context) + ll_station_container.setLayoutManager(linearLayoutManager) + mAdapter = StationAdapter() +// ll_station_container.addItemDecoration( +// SpacesItemDecoration( +// AutoSizeUtils.dp2px(context,20f) +// ) +// ) + ll_station_container.setAdapter(mAdapter) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + viewModel = findViewTreeViewModelStoreOwner()?.let { + ViewModelProvider(it).get(LineViewModel::class.java) + } + viewModel?.setLineCallback(this) + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun updateLineStations(stations: MutableList?) { + CallerLogger.d(TAG,"展示站点:${stations}") + mAdapter.submitList(stations) + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineViewModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineViewModel.kt new file mode 100644 index 0000000000..db5c8369c0 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineViewModel.kt @@ -0,0 +1,47 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo + +import androidx.lifecycle.ViewModel +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.data.bean.BusStationBean +import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback +import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel +import io.reactivex.disposables.Disposable + +/** + * @author XuXinChao + * @description BadCase录包管理页面 + * @since: 2022/12/15 + */ +class LineViewModel : ViewModel(), ICommonCallback { + + private val TAG = M_BUS+LineViewModel::class.java.simpleName + + private var viewCallback:LineViewCallback?=null + + private var endTaskDisposable:Disposable?=null + + + override fun onCleared() { + d(TAG,"onCleared") + CommonModel.setRouteLineInfoCallback(TAG,null) + } + + fun setLineCallback(viewCallback:LineViewCallback){ + this.viewCallback = viewCallback + CommonModel.setRouteLineInfoCallback(TAG,this) + } + + override fun updateLineStations(stations: MutableList?) { + BizLoopManager.runInMainThread{ + this.viewCallback?.updateLineStations(stations) + } + } + + interface LineViewCallback{ + fun updateLineStations(stations: MutableList?) + } + +} + diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt new file mode 100644 index 0000000000..b8b98736d1 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt @@ -0,0 +1,171 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo.item + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.ListAdapter +import com.mogo.och.data.bean.BusStationBean +import com.mogo.och.shuttle.weaknet.passenger.R + +class StationAdapter : ListAdapter(MessageDiffCallback()) { + + var currentIndex = 0 + var isLeaving = false + var showPassOmit = false + var showFuluterOmit = false + + override fun submitList(list: MutableList?) { + val newDataList = mutableListOf() + list?.let { + it.forEachIndexed { index, busStationBean -> + if (busStationBean.drivingStatus == 2) { + currentIndex = index + isLeaving = busStationBean.isLeaving + return@forEachIndexed + } + } + if (isLeaving) { + currentIndex += 1 + } + if ((it.size) <= 7) { + showPassOmit = false + showFuluterOmit = false + newDataList.addAll(it.toList()) + } else { + if(currentIndex-1<3){ + showPassOmit = false // 全展示 + }else{ + showPassOmit = true // 展示省略 + } + + if(it.size-(currentIndex+1)-1<3) {// 全展示 + showFuluterOmit = false + }else{// 展示省略 + showFuluterOmit = true + } + + if(showPassOmit&&showFuluterOmit){// 都有 + newDataList.add(it.first()) + newDataList.add(StationBeanOmit(currentIndex-1-1)) + newDataList.addAll(list.slice(currentIndex-1 .. currentIndex+1)) + newDataList.add(StationBeanOmit(list.size-currentIndex-1)) + newDataList.add(list.last()) + }else{ + if(showFuluterOmit||showPassOmit){ + if(showFuluterOmit){// 只展示下面的省略号 + newDataList.addAll(list.subList(0,5)) + newDataList.add(StationBeanOmit(list.size-5-1)) + newDataList.add(list.last()) + } + if(showPassOmit){// 只展示上面的手机号 + newDataList.add(list.first()) + newDataList.add(StationBeanOmit(list.size-5-1)) + newDataList.addAll(list.slice(list.size-5 until list.size)) + } else { + + } + }else{ + newDataList.addAll(it.toList()) + } + + } + } + } + + newDataList.forEachIndexed { index, busStationBean -> + if (busStationBean.drivingStatus == 2) { + currentIndex = index + isLeaving = busStationBean.isLeaving + if(isLeaving){ + currentIndex+=1 + } + } + } + + super.submitList(newDataList) + } + + override fun onBindViewHolder(holder: StationViewHolder, position: Int) { + getItem(position)?.let { + holder.bind(it) + } + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): StationViewHolder { + val inflater = LayoutInflater.from(parent.context) + return when (viewType) { + StationViewHolder.NormalStationStart -> NormalStationStartViewHolder( + inflater.inflate(R.layout.m2_station_normal_start_view, parent, false) + ) + StationViewHolder.NormalStationEnd -> NormalStationEndViewHolder( + inflater.inflate(R.layout.m2_station_normal_end_view, parent, false) + ) + StationViewHolder.NormalStationFuture -> NormalStationFutureViewHolder( + inflater.inflate(R.layout.m2_station_normal_future_view, parent, false) + ) + StationViewHolder.NormalStationPass -> NormalStationPassViewHolder( + inflater.inflate(R.layout.m2_station_normal_pass_view, parent, false) + ) + + StationViewHolder.CurrentStationStart -> CurrentStationStartViewHolder( + inflater.inflate(R.layout.m2_station_current_start_view, parent, false) + ) + StationViewHolder.CurrentStationEnd -> CurrentStationEndViewHolder( + inflater.inflate(R.layout.m2_station_current_end_view, parent, false) + ) + StationViewHolder.CurrentStation -> CurrentStationViewHolder( + inflater.inflate(R.layout.m2_station_current_view, parent, false) + ) + + StationViewHolder.OmitStationPass -> OmitPassViewHolder( + inflater.inflate(R.layout.m2_station_omit_view_pass, parent,false) + ) + StationViewHolder.OmitStationFuture -> OmitFutureViewHolder( + inflater.inflate(R.layout.m2_station_omit_view_future, parent,false) + ) + + else -> throw IllegalArgumentException("Invalid view type") + } + } + + override fun getItemViewType(position: Int): Int { + if (getItem(position) is StationBeanOmit) { + return if (position < currentIndex) { + StationViewHolder.OmitStationPass + } else { + StationViewHolder.OmitStationFuture + } + } + when (position) { + 0 -> { + return if (currentIndex == position) { + StationViewHolder.CurrentStationStart + } else { + StationViewHolder.NormalStationStart + } + } + + itemCount - 1 -> { + return if (currentIndex == position) { + StationViewHolder.CurrentStationEnd + } else { + StationViewHolder.NormalStationEnd + } + } + + else -> { + return if (currentIndex == position) { + StationViewHolder.CurrentStation + } else if (currentIndex < position) { + StationViewHolder.NormalStationFuture + } else { + StationViewHolder.NormalStationPass + } + } + } + } + + override fun onViewRecycled(holder: StationViewHolder) { + super.onViewRecycled(holder) + holder.viewRecycled(holder) + } +} diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationDiffCallback.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationDiffCallback.kt new file mode 100644 index 0000000000..966c1f5a01 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationDiffCallback.kt @@ -0,0 +1,17 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo.item + +import androidx.recyclerview.widget.DiffUtil +import com.mogo.och.data.bean.BusStationBean + +class MessageDiffCallback: DiffUtil.ItemCallback() { + + override fun areContentsTheSame(oldItem: BusStationBean, newItem: BusStationBean): Boolean { + return oldItem == newItem + } + + override fun areItemsTheSame(oldItem: BusStationBean, newItem: BusStationBean): Boolean { + return oldItem.siteId == newItem.siteId + } +} + +data class StationBeanOmit(var coutOmit:Int):BusStationBean() \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationViewHolder.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationViewHolder.kt new file mode 100644 index 0000000000..55b7d6f6f0 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationViewHolder.kt @@ -0,0 +1,111 @@ +package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo.item + +import android.view.View +import androidx.appcompat.widget.AppCompatTextView +import androidx.recyclerview.widget.RecyclerView +import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.common.module.wigets.OCHGradientTextView +import com.mogo.och.data.bean.BusStationBean +import com.mogo.och.shuttle.weaknet.passenger.R +import java.text.SimpleDateFormat +import java.util.Locale + + +abstract class StationViewHolder(view: View) : RecyclerView.ViewHolder(view) { + abstract fun bind(item: BusStationBean) + open fun viewRecycled(holder: StationViewHolder){} + private val sampleDateFormat = SimpleDateFormat("HH:mm", Locale.CHINA) + protected val TAG = javaClass.simpleName + + companion object{ + val CurrentStationStart = 0 + val CurrentStationEnd = 1 + val CurrentStation = 2 + + val NormalStationStart = 3 + var NormalStationEnd = 4 + val NormalStationPass = 5 + val NormalStationFuture = 6 + + val OmitStationPass = 7 + val OmitStationFuture = 8 + } +} + +class NormalStationStartViewHolder(binding: View) : StationViewHolder(binding) { + private var startStaionName: AppCompatTextView = binding.findViewById(R.id.actv_normal_station_start) + override fun bind(item: BusStationBean) { + startStaionName.text = item.name + } +} +class NormalStationEndViewHolder(binding: View) : StationViewHolder(binding) { + private var endStaionName: AppCompatTextView = binding.findViewById(R.id.actv_normal_station_end) + override fun bind(item: BusStationBean) { + endStaionName.text = item.name + } +} +class NormalStationPassViewHolder(binding: View) : StationViewHolder(binding) { + private var passStaionName: AppCompatTextView = binding.findViewById(R.id.actv_normal_station_pass) + override fun bind(item: BusStationBean) { + passStaionName.text = item.name + } +} +class NormalStationFutureViewHolder(binding: View) : StationViewHolder(binding) { + private var futureStaionName: AppCompatTextView = binding.findViewById(R.id.actv_normal_station_future) + override fun bind(item: BusStationBean) { + futureStaionName.text = item.name + } +} + + +class CurrentStationViewHolder(val binding: View) : StationViewHolder(binding) { + private var currentStaionName: OCHGradientTextView = binding.findViewById(R.id.och_current_station_name) + override fun bind(item: BusStationBean) { + currentStaionName.text = item.name + currentStaionName.setVertrial(true) + val intArrayOf = intArrayOf( + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_43cefe), + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_1466fb), + ) + currentStaionName.setmColorList(intArrayOf) + } +} +class CurrentStationStartViewHolder(binding: View) : StationViewHolder(binding) { + private var currentStaionStartName: OCHGradientTextView = binding.findViewById(R.id.och_current_station_start_name) + override fun bind(item: BusStationBean) { + currentStaionStartName.text = item.name + val intArrayOf = intArrayOf( + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_43cefe), + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_1466fb), + ) + currentStaionStartName.setmColorList(intArrayOf) + } +} +class CurrentStationEndViewHolder(binding: View) : StationViewHolder(binding) { + private var currentStaionEndName: OCHGradientTextView = binding.findViewById(R.id.och_current_station_end_name) + override fun bind(item: BusStationBean) { + currentStaionEndName.text = item.name + val intArrayOf = intArrayOf( + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_43cefe), + ResourcesUtils.getColor(R.color.shuttle_p_m2_color_1466fb), + ) + currentStaionEndName.setmColorList(intArrayOf) + } +} + +class OmitPassViewHolder(val binding: View) : StationViewHolder(binding) { + private var omitCout: AppCompatTextView = binding.findViewById(R.id.actv_pass_omit_cout) + override fun bind(item: BusStationBean) { + if(item is StationBeanOmit){ + omitCout.text = "${item.coutOmit}站" + } + } +} +class OmitFutureViewHolder(binding: View) : StationViewHolder(binding) { + private var omitCout: AppCompatTextView = binding.findViewById(R.id.actv_future_omit_count) + override fun bind(item: BusStationBean) { + if(item is StationBeanOmit){ + omitCout.text = "${item.coutOmit}站" + } + } +} diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2HPMapFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/map/PM2HPMapFragment.kt similarity index 99% rename from OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2HPMapFragment.kt rename to OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/map/PM2HPMapFragment.kt index cb1abc4e0f..ad3c2fa90c 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/PM2HPMapFragment.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/map/PM2HPMapFragment.kt @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.weaknet.passenger.ui +package com.mogo.och.shuttle.weaknet.passenger.ui.map import android.graphics.BitmapFactory import android.os.Bundle diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2StatusBarView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/statusbar/M2StatusBarView.kt similarity index 71% rename from OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2StatusBarView.kt rename to OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/statusbar/M2StatusBarView.kt index f723e2b065..2ddd3bc7c1 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2StatusBarView.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/statusbar/M2StatusBarView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.weaknet.passenger.ui.widget +package com.mogo.och.shuttle.weaknet.passenger.ui.statusbar import android.annotation.* import android.content.Context @@ -9,18 +9,20 @@ import androidx.constraintlayout.widget.ConstraintLayout import chassis.ChassisStatesOuterClass import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisStatesListener import com.mogo.eagle.core.function.call.autopilot.CallerChassisStatesListenerManager -import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager -import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager -import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.manager.bluetooth.BleManager import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.utils.ResourcesUtils import com.mogo.och.shuttle.weaknet.passenger.R +import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback +import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel import kotlinx.android.synthetic.main.shuttle_p_m2_view_status_bar.view.iv_logon import kotlinx.android.synthetic.main.shuttle_p_m2_view_status_bar.view.tv_power_cos +import kotlinx.android.synthetic.main.shuttle_p_m2_view_status_bar.view.tv_status_line_name import kotlinx.coroutines.* import me.jessyan.autosize.utils.AutoSizeUtils @@ -31,7 +33,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils class M2StatusBarView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null ) : ConstraintLayout(context, attrs), - IMoGoChassisStatesListener { + IMoGoChassisStatesListener, ICommonCallback { companion object { const val TAG = "M2StatusBarView" @@ -52,6 +54,8 @@ class M2StatusBarView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() + CallerLogger.d(TAG,"onAttachedToWindow-------${this}") + post { val params: ViewGroup.LayoutParams = getLayoutParams() params.height = AutoSizeUtils.dp2px(context,100f) @@ -60,6 +64,7 @@ class M2StatusBarView @JvmOverloads constructor( //电量 CallerChassisStatesListenerManager.addListener(TAG,this) + CommonModel.setRouteLineInfoCallback(TAG,this) tv_power_cos?.also { it.text = "?" @@ -74,14 +79,35 @@ class M2StatusBarView @JvmOverloads constructor( BleManager.sendData2Wx("1889480", "00,${System.currentTimeMillis()}") } } + tv_status_line_name.onClick { + updateLineInfo("线路名称") + } + } + + override fun updateLineInfo(lineName: String?) { + post { + CallerLogger.d(TAG,"updateLineInfo2-------${lineName}----${this}") + if(lineName==null){ + tv_status_line_name.setText(R.string.m2_line_name_detaile) + }else{ + tv_status_line_name.text = lineName + } + } + } + + override fun showNoTaskView(isTrue: Boolean) { + BizLoopManager.runInMainThread { + CallerLogger.d(TAG,"updateLineInfo1-------${isTrue}----${this}") + if(isTrue) { + tv_status_line_name.setText(R.string.m2_line_name_detaile) + } + } } override fun onDetachedFromWindow() { super.onDetachedFromWindow() - CallerHmiViewControlListenerManager.removeListener(TAG) - CallerSkinModeListenerManager.removeListener(TAG) CallerChassisStatesListenerManager.removeListener(TAG) - CallerDevaToolsManager.hideStatusBar() + CommonModel.setRouteLineInfoCallback(TAG,null) } @SuppressLint("SetTextI18n") diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2BlueToothView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2BlueToothView.kt deleted file mode 100644 index ac7550b0d4..0000000000 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/widget/M2BlueToothView.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.mogo.och.shuttle.weaknet.passenger.ui.widget - -import android.content.Context -import android.util.AttributeSet -import android.view.LayoutInflater -import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener -import com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView -import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.och.shuttle.weaknet.passenger.R -import kotlinx.android.synthetic.main.shuttle_p_m2_view_blue_tooth.view.blueView - -/** - * 魔戒蓝牙控件 - * 放置于StatusBar右侧位置 - */ -class M2BlueToothView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : BlueToothView(context, attrs, defStyleAttr),IMoGoDevaToolsListener { - - init { - LayoutInflater.from(context).inflate(R.layout.shuttle_p_m2_view_blue_tooth, this, true) - } - - override fun mofangStatus(status: Boolean) { - ThreadUtils.runOnUiThread { - if (status) { - blueView.setImageResource(R.drawable.shuttle_p_m2_blue_tooth_close) - } else { - blueView.setImageResource(R.drawable.shuttle_p_m2_blue_tooth_open) - } - } - } - -} \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt index f3bc73e05e..b4ed489ec3 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt @@ -9,17 +9,15 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils -import com.mogo.och.bridge.ui.autopilot.AutopilotState import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonServiceImpl -import com.mogo.och.common.module.biz.scanner.ScannerManager import com.mogo.och.common.module.voice.OutOffVoice import com.mogo.och.common.module.wigets.media.MediaPlayerActivity import com.mogo.och.shuttle.weaknet.passenger.model.TicketModel import com.mogo.och.shuttle.weaknet.passenger.ui.widget.BusPStatusBarView import com.mogo.och.shuttle.weaknet.passenger.ui.BusPassengerRouteFragment import com.mogo.och.shuttle.weaknet.passenger.ui.PM2BaseFragment -import com.mogo.och.shuttle.weaknet.passenger.ui.widget.M2StatusBarView +import com.mogo.och.shuttle.weaknet.passenger.ui.statusbar.M2StatusBarView /** * 网约车-Bus-乘客端 diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt index e047c1d0f4..f55b299f16 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt @@ -257,7 +257,7 @@ object CommonModel { } } - d(TAG, "queryDriverSiteByCoordinate = update") + d(TAG, "queryDriverSiteByCoordinate = update ${result}") routesResult = result if (result.sites != null) { diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door.png new file mode 100644 index 0000000000..4d5bc6790d Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_left.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_left.png new file mode 100644 index 0000000000..358373e79c Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_left.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_left_arrow.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_left_arrow.png new file mode 100644 index 0000000000..9a53541b6d Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_left_arrow.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_right.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_right.png new file mode 100644 index 0000000000..faf04e9245 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_right.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_right_arrow.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_right_arrow.png new file mode 100644 index 0000000000..9e3bb7c71c Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_arrive_door_right_arrow.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_current_stattion_point.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_current_stattion_point.png new file mode 100644 index 0000000000..8ff9c17e45 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_current_stattion_point.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_end_omit.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_end_omit.png new file mode 100644 index 0000000000..10dd0aac94 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_end_omit.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_end_point.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_end_point.png new file mode 100644 index 0000000000..9170c1b11c Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_end_point.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_start_omit.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_start_omit.png new file mode 100644 index 0000000000..b60281977c Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_start_omit.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_start_point.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_start_point.png new file mode 100644 index 0000000000..62a02b464a Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_start_point.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_end_omit_count_bg.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_end_omit_count_bg.png new file mode 100644 index 0000000000..7db954ab81 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_end_omit_count_bg.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_future_point.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_future_point.png new file mode 100644 index 0000000000..fcc7fd65e5 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_future_point.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_omit_count_bg.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_omit_count_bg.png new file mode 100644 index 0000000000..7db954ab81 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_omit_count_bg.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_pass_point.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_pass_point.png new file mode 100644 index 0000000000..132aac7c9b Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/b2_station_pass_point.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_empty_go_statart.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_empty_go_statart.png new file mode 100644 index 0000000000..405de1bb25 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_empty_go_statart.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_top_arrive_station_bg.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_top_arrive_station_bg.png new file mode 100644 index 0000000000..2ce4f6b84e Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_top_arrive_station_bg.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_top_empty_bg.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_top_empty_bg.png new file mode 100644 index 0000000000..fbd884a360 Binary files /dev/null and b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_top_empty_bg.png differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/shuttle_p_m2_blue_tooth_close.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/shuttle_p_m2_blue_tooth_close.png deleted file mode 100644 index 0c292d2cf3..0000000000 Binary files a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/shuttle_p_m2_blue_tooth_close.png and /dev/null differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/shuttle_p_m2_blue_tooth_open.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/shuttle_p_m2_blue_tooth_open.png deleted file mode 100644 index cccf9e10fa..0000000000 Binary files a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/shuttle_p_m2_blue_tooth_open.png and /dev/null differ diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_arrive_title_bg.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_arrive_title_bg.xml new file mode 100644 index 0000000000..bfd05b17a1 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_arrive_title_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_current_bg.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_current_bg.xml new file mode 100644 index 0000000000..3b67c9ce6d --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_current_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_future_bottom.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_future_bottom.xml new file mode 100644 index 0000000000..1e7f02eab5 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_future_bottom.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_future_top.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_future_top.xml new file mode 100644 index 0000000000..1964c79163 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_future_top.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_pass_bottom.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_pass_bottom.xml new file mode 100644 index 0000000000..f4cb474011 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_pass_bottom.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_pass_top.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_pass_top.xml new file mode 100644 index 0000000000..ebb90d0dea --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable/b2_station_line_rounded_pass_top.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_arrive_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_arrive_view.xml new file mode 100644 index 0000000000..d8d214d04f --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_arrive_view.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_autopilot.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_autopilot.xml new file mode 100644 index 0000000000..ac7fa74f8f --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_autopilot.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_empty_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_empty_view.xml new file mode 100644 index 0000000000..0e5eaec687 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_empty_view.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_line_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_line_view.xml new file mode 100644 index 0000000000..b1a14204db --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_line_view.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_speed.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_speed.xml new file mode 100644 index 0000000000..faf36bf7be --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_speed.xml @@ -0,0 +1,33 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_end_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_end_view.xml new file mode 100644 index 0000000000..11db0e34f7 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_end_view.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_start_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_start_view.xml new file mode 100644 index 0000000000..509027636f --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_start_view.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_view.xml new file mode 100644 index 0000000000..d57c2778c9 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_current_view.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_end_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_end_view.xml new file mode 100644 index 0000000000..8068a83515 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_end_view.xml @@ -0,0 +1,40 @@ + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_future_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_future_view.xml new file mode 100644 index 0000000000..9e3d4c6d52 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_future_view.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_pass_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_pass_view.xml new file mode 100644 index 0000000000..54e1aab3e4 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_pass_view.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_start_view.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_start_view.xml new file mode 100644 index 0000000000..46afc5e77f --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_normal_start_view.xml @@ -0,0 +1,40 @@ + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_omit_view_future.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_omit_view_future.xml new file mode 100644 index 0000000000..12a574d025 --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_omit_view_future.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_omit_view_pass.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_omit_view_pass.xml new file mode 100644 index 0000000000..e5a972d76e --- /dev/null +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/m2_station_omit_view_pass.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_driving_info_fragment.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_driving_info_fragment.xml index aecf221857..b9e1bf48a7 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_driving_info_fragment.xml +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_driving_info_fragment.xml @@ -3,73 +3,42 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:background="@drawable/m2_top_bg" - android:paddingTop="@dimen/dp_100" android:layout_width="match_parent" tools:layout_height="@dimen/dp_630" android:layout_height="match_parent"> - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:layout_marginTop="@dimen/dp_100" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_530"/> - + + + - - - - diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_blue_tooth.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_blue_tooth.xml deleted file mode 100644 index 61448bf16d..0000000000 --- a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_blue_tooth.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_status_bar.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_status_bar.xml index 8822503d3e..8b4635775a 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_status_bar.xml +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_view_status_bar.xml @@ -20,7 +20,7 @@ app:layout_constraintStart_toStartOf="parent" /> #99AFC9E7 #6617417B + #516582 + #95B1D6 + #1F82FB \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/values/strings.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/values/strings.xml index 4fb6e16bc4..7d6e6f57cc 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/res/b2/values/strings.xml +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/values/strings.xml @@ -14,4 +14,7 @@ MOGO BUS AUTO + MOGO自动驾驶小巴 + 即将启程 + 当前到站 \ No newline at end of file