[m1]
[1.1.2] [订单结束、车辆未还页面变更、站点可以添加注释]
This commit is contained in:
@@ -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>?) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user