[1.1.2]
[订单结束、车辆未还页面变更、站点可以添加注释]
This commit is contained in:
yangyakun
2023-03-03 21:59:19 +08:00
parent f5c5f1536c
commit bd92b592c2
6 changed files with 45 additions and 36 deletions

View File

@@ -619,6 +619,7 @@ object CharterPassengerModel {
/**
* 计算需要禁用的站点
* <可用站点标,是否靠近>
*/
fun calculateCurrentSite(data: List<SiteInfoResponse.SiteInfo>): Pair<Int, Boolean> {
var distanceMap: MutableMap<Float, Int> = 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<BaseData>?) {

View File

@@ -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 {

View File

@@ -16,8 +16,6 @@ import kotlinx.android.synthetic.m1.m1_order_fragment.*
class M1OrderFragment :
MvpFragment<M1OrderFragment?, BusPassengerFunctionOrderPresenter?>() {
private val arrayListOf = ArrayList<TaxiPassengerVideoPlay>()
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
}
}
}

View File

@@ -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(

View File

@@ -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

View File

@@ -22,12 +22,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.mogo.och.bus.passenger.ui.view.EndOrderView
android:id="@+id/eov_end_order"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<include
android:id="@+id/m1_order_early_end"
android:visibility="gone"