diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index e0ec2e5d70..bbc732459b 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -619,6 +619,7 @@ object CharterPassengerModel { /** * 计算需要禁用的站点 + * <可用站点标,是否靠近> */ fun calculateCurrentSite(data: List): Pair { var distanceMap: MutableMap = TreeMap() @@ -634,25 +635,35 @@ object CharterPassengerModel { ) if (calculateLineDistance < 30) { return if (index + 1 <= data.size - 1) { + // <可用站点标,是否靠近> Pair(index + 1, true) } else { - Pair(index, true)// 距离最后一个站点小于30m + // 所有点都不可用用 + Pair(-1, true)// 距离最后一个站点小于30m } } distanceMap.put(calculateLineDistance, index) } } + for (mutableEntry in distanceMap) { + CallerLogger.d(M_BUS_P+ TAG,"距离:${mutableEntry.key}-----第几个站点${mutableEntry.value}") + } var first = -1 if (distanceMap.size >= 2) { for (mutableEntry in distanceMap) { if (first > 0) { - return Pair(Math.max(first, mutableEntry.value), false) + // <可用站点标,是否靠近> + var max = Math.max(first, mutableEntry.value)//正常点位 + if(max==data.size-1){// 车辆在终点和起点中间时 + max = Math.min(first, mutableEntry.value) + } + return Pair(max, false) } first = mutableEntry.value } } - return Pair(0, false) + return Pair(-1, false) } fun endOrder(callback: OchCommonServiceCallback?) { diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt index 7d99bba9f5..22f1ade707 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt @@ -56,6 +56,7 @@ object BusPassengerModelLoopManager { ) .map { aLong: Long -> aLong + 1 } .subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) .subscribe { aLong: Long? -> mControllerStatusCallbackMap.forEach { (tag, loopInfo) -> aLong?.let { diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt index 992521df59..7fedc5132d 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt @@ -16,8 +16,6 @@ import kotlinx.android.synthetic.m1.m1_order_fragment.* class M1OrderFragment : MvpFragment() { - private val arrayListOf = ArrayList() - override fun getLayoutId(): Int { return R.layout.m1_order_fragment } @@ -36,30 +34,20 @@ class M1OrderFragment : // 无订单页面 m1_order_noorder.visibility = View.VISIBLE m1_order_early_end.visibility = View.GONE - eov_end_order.visibility = View.GONE lsv_line_site.visibility = View.GONE } OrderStatusEnum.OrderNoLine -> { // 选择线路页面 m1_order_noorder.visibility = View.GONE m1_order_early_end.visibility = View.GONE - eov_end_order.visibility = View.GONE lsv_line_site.visibility = View.VISIBLE } OrderStatusEnum.OrdersWithLine -> { // 选择线路页面 m1_order_noorder.visibility = View.GONE m1_order_early_end.visibility = View.GONE - eov_end_order.visibility = View.GONE lsv_line_site.visibility = View.VISIBLE } - OrderStatusEnum.NoOrderUse -> { - // 开门关门页面 - m1_order_noorder.visibility = View.GONE - m1_order_early_end.visibility = View.GONE - eov_end_order.visibility = View.VISIBLE - lsv_line_site.visibility = View.GONE - } } } diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index c0a21fced5..0347c2b386 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -199,6 +199,8 @@ class MainFragment : } fun showOpenAndCloseDoor() { + val bpFunctionGroup = bpFunctionGroupDialogFragment?.get() + bpFunctionGroup?.dismissAllowingStateLoss() val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(M1ContainFragment.TAG) if (fragmentByTag is DialogFragment) { if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { @@ -216,17 +218,17 @@ class MainFragment : if (m1CarUserNoOrderFragment?.get() == null) { m1CarUserNoOrderFragment = WeakReference(M1CarUserNoOrderFragment.newInstance()) } - val bpFunctionGroup = m1CarUserNoOrderFragment?.get() - if (bpFunctionGroup != null) { - if (bpFunctionGroup.dialog != null && bpFunctionGroup.dialog!!.isShowing) { + val m1CarUserNoOrderFragment = m1CarUserNoOrderFragment?.get() + if (m1CarUserNoOrderFragment != null) { + if (m1CarUserNoOrderFragment.dialog != null && m1CarUserNoOrderFragment.dialog!!.isShowing) { return } - if (bpFunctionGroup.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 - parentFragmentManager.beginTransaction().remove(bpFunctionGroup) + if (m1CarUserNoOrderFragment.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 + parentFragmentManager.beginTransaction().remove(m1CarUserNoOrderFragment) .commitAllowingStateLoss() } if (ClickUtils.isFastClick()) { - bpFunctionGroup.show(parentFragmentManager, TAG) + m1CarUserNoOrderFragment.show(parentFragmentManager, TAG) CallerLogger.d(SceneConstant.M_BUS_P + TAG, "展示开关门") } else { CallerLogger.d( diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt index db07ca2ac6..2a11b7c87e 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt @@ -321,8 +321,10 @@ class LineSiteView @JvmOverloads constructor( } private fun endAni() { - g_lines_sites_data.visibility = View.VISIBLE - g_loading_group.visibility = View.GONE + UiThreadHandler.post { + g_lines_sites_data.visibility = View.VISIBLE + g_loading_group.visibility = View.GONE + } } override fun onDetachedFromWindow() { @@ -368,14 +370,25 @@ class LineSiteView @JvmOverloads constructor( // 计算当前站点是那个 val calculateCurrentSite = CharterPassengerModel.calculateCurrentSite(data.data) - val index = if (calculateCurrentSite.first <= data.data.size) { - calculateCurrentSite.first - } else { - data.data.size - 1 + val first = calculateCurrentSite.first// 可用站点 + if(first<0){ + // 所有站点不可用 + currentSite = data.data[data.data.size-1] + currentSite!!.isNear = calculateCurrentSite.second + siteAdapter.setEnableIndex(data.data.size-1) + }else{ + // + val index = if(first==0) { + 0 + }else if (first <= data.data.size-1) { + first-1 + } else { + data.data.size - 1 + } + currentSite = data.data[index] + currentSite!!.isNear = calculateCurrentSite.second + siteAdapter.setEnableIndex(index) } - currentSite = data.data[index] - currentSite!!.isNear = calculateCurrentSite.second - siteAdapter.setEnableIndex(index) data.data.forEach { if (it.siteId == checkSite?.siteId) { it.isCheck = true diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml index b4c96871b0..4e300c8f82 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml @@ -22,12 +22,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"/> - -