[无人化taxi乘客屏]
This commit is contained in:
yangyakun
2024-03-21 14:34:46 +08:00
parent 3a9d6e702a
commit 2288ddd727
3 changed files with 75 additions and 74 deletions

View File

@@ -16,6 +16,7 @@ import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
@@ -93,79 +94,83 @@ class SimpleMapView : View, SimpleMapViewModel.SimpleMapCallback {
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
var startPointNextUse:NearPointView? = null
var secondPointNextUse:NearPointView? = null
nextLineData.forEachIndexed { index, lineData ->
val startPoint = lineData.startPoint
val endPoint = lineData.endPoint
if(index==0) {
val line4Point = getLine4Point(startPoint, endPoint, true)
Log.d(
"DrawLineView_startPoint",
"${startPoint.x}------${startPoint.y}--${startPoint.distance}--------${endPoint.x}------${endPoint.y}----${endPoint.distance}"
)
val path = Path()
val D = line4Point[0]
val F = line4Point[1]
val I = line4Point[2]
val G = line4Point[3]
path.moveTo(D.x,D.y)
path.lineTo(F.x,F.y)
path.lineTo(I.x,I.y)
path.lineTo(G.x,G.y)
startPointNextUse = I
secondPointNextUse = G
path.close()
canvas.drawPath(path,lineData.paint)
}else{
val line4Point = getLine4Point(startPoint, endPoint, false)
val path = Path()
path.moveTo(startPointNextUse!!.x,startPointNextUse!!.y)
path.lineTo(secondPointNextUse!!.x,secondPointNextUse!!.y)
val tempStart = line4Point[0]
val tempEnd = line4Point[1]
path.lineTo(tempStart.x,tempStart.y)
path.lineTo(tempEnd.x,tempEnd.y)
startPointNextUse = tempEnd
secondPointNextUse = tempStart
canvas.drawPath(path,lineData.paint)
try {
var startPointNextUse:NearPointView? = null
var secondPointNextUse:NearPointView? = null
nextLineData.forEachIndexed { index, lineData ->
val startPoint = lineData.startPoint
val endPoint = lineData.endPoint
if(index==0) {
val line4Point = getLine4Point(startPoint, endPoint, true)
Log.d(
"DrawLineView_startPoint",
"${startPoint.x}------${startPoint.y}--${startPoint.distance}--------${endPoint.x}------${endPoint.y}----${endPoint.distance}"
)
val path = Path()
val D = line4Point[0]
val F = line4Point[1]
val I = line4Point[2]
val G = line4Point[3]
path.moveTo(D.x,D.y)
path.lineTo(F.x,F.y)
path.lineTo(I.x,I.y)
path.lineTo(G.x,G.y)
startPointNextUse = I
secondPointNextUse = G
path.close()
canvas.drawPath(path,lineData.paint)
}else{
val line4Point = getLine4Point(startPoint, endPoint, false)
val path = Path()
path.moveTo(startPointNextUse!!.x,startPointNextUse!!.y)
path.lineTo(secondPointNextUse!!.x,secondPointNextUse!!.y)
val tempStart = line4Point[0]
val tempEnd = line4Point[1]
path.lineTo(tempStart.x,tempStart.y)
path.lineTo(tempEnd.x,tempEnd.y)
startPointNextUse = tempEnd
secondPointNextUse = tempStart
canvas.drawPath(path,lineData.paint)
}
}
}
preLineData.forEachIndexed { index, lineData ->
val startPoint = lineData.startPoint
val endPoint = lineData.endPoint
if(index==0) {
val line4Point = getLine4Point(startPoint, endPoint, true)
val path = Path()
val D = line4Point[0]
val F = line4Point[1]
val I = line4Point[2]
val G = line4Point[3]
path.moveTo(D.x,D.y)
path.lineTo(F.x,F.y)
path.lineTo(I.x,I.y)
path.lineTo(G.x,G.y)
startPointNextUse = I
secondPointNextUse = G
path.close()
canvas.drawPath(path,lineData.paint)
}else{
val line4Point = getLine4Point(startPoint, endPoint, false)
val path = Path()
path.moveTo(startPointNextUse!!.x,startPointNextUse!!.y)
path.lineTo(secondPointNextUse!!.x,secondPointNextUse!!.y)
val tempStart = line4Point[0]
val tempEnd = line4Point[1]
path.lineTo(tempStart.x,tempStart.y)
path.lineTo(tempEnd.x,tempEnd.y)
startPointNextUse = tempEnd
secondPointNextUse = tempStart
canvas.drawPath(path,lineData.paint)
preLineData.forEachIndexed { index, lineData ->
val startPoint = lineData.startPoint
val endPoint = lineData.endPoint
if(index==0) {
val line4Point = getLine4Point(startPoint, endPoint, true)
val path = Path()
val D = line4Point[0]
val F = line4Point[1]
val I = line4Point[2]
val G = line4Point[3]
path.moveTo(D.x,D.y)
path.lineTo(F.x,F.y)
path.lineTo(I.x,I.y)
path.lineTo(G.x,G.y)
startPointNextUse = I
secondPointNextUse = G
path.close()
canvas.drawPath(path,lineData.paint)
}else{
val line4Point = getLine4Point(startPoint, endPoint, false)
val path = Path()
path.moveTo(startPointNextUse!!.x,startPointNextUse!!.y)
path.lineTo(secondPointNextUse!!.x,secondPointNextUse!!.y)
val tempStart = line4Point[0]
val tempEnd = line4Point[1]
path.lineTo(tempStart.x,tempStart.y)
path.lineTo(tempEnd.x,tempEnd.y)
startPointNextUse = tempEnd
secondPointNextUse = tempStart
canvas.drawPath(path,lineData.paint)
}
}
}catch (e:Exception ){
CallerLogger.e(TAG,"绘制问题")
}
canvas.drawBitmap(bmBlock, matrixArrow, p)

View File

@@ -275,7 +275,7 @@ class TaxiPassengerBaseFragment() :
* @param isShow true 展示 false 隐藏
*/
fun showOrHideArrivedEndLayout(isShow: Boolean) {
chekAndStartAutopilotView.visibility = View.GONE
//chekAndStartAutopilotView.visibility = View.GONE
if (isShow) {
exitFullVideoScreen(true)
arrivedView.aniArrived(true)

View File

@@ -18,10 +18,7 @@ import com.mogo.och.common.module.manager.xiaozhimanager.ZhiViewmanager
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
import io.reactivex.disposables.Disposable
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.chekAndStartAutopilotView
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_check_autopilot
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_start_autopilt_success_ani
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_start_autopilt_success_bg
@@ -168,8 +165,8 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
aniCheckAndStartAutopilot(false, 2)
}
}else{
startAnimal()
waitCount = 0
startAnimal()
}
}
}
@@ -210,7 +207,6 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
animatorSetCompat.start()
}
interface CheckAndStartVisilityChangeListenr{
fun isShow(show: Boolean)
}