[6.7.0]
[fea] [unmanned]
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.weaknet.view
|
||||
package com.mogo.och.common.module.wigets.loading
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
@@ -9,9 +9,9 @@ import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.map.listener.IMogoMapListener
|
||||
import com.mogo.och.shuttle.weaknet.R
|
||||
import kotlinx.android.synthetic.main.shuttle_weak_loading_view.view.actv_loading_text
|
||||
import kotlinx.android.synthetic.main.shuttle_weak_loading_view.view.loading_view
|
||||
import com.mogo.och.common.module.R
|
||||
import kotlinx.android.synthetic.main.common_loading_view_big.view.actv_loading_text_big
|
||||
import kotlinx.android.synthetic.main.common_loading_view_big.view.loading_view_big
|
||||
|
||||
class LoadingViewBig @JvmOverloads constructor(
|
||||
context: Context,
|
||||
@@ -25,14 +25,14 @@ class LoadingViewBig @JvmOverloads constructor(
|
||||
private var autopilotLoadingAnimator: ObjectAnimator? = null
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.shuttle_weak_loading_view, this, true)
|
||||
LayoutInflater.from(context).inflate(R.layout.common_loading_view_big, this, true)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerLogger.d(TAG,"onAttachedToWindow")
|
||||
if (autopilotLoadingAnimator == null) {
|
||||
autopilotLoadingAnimator = ObjectAnimator.ofFloat(loading_view, "rotation", 0f, 360f)
|
||||
autopilotLoadingAnimator = ObjectAnimator.ofFloat(loading_view_big, "rotation", 0f, 360f)
|
||||
autopilotLoadingAnimator?.setInterpolator(LinearInterpolator())
|
||||
autopilotLoadingAnimator?.setRepeatCount(-1) //无限循环
|
||||
autopilotLoadingAnimator?.setDuration(1000) //设置持续时间
|
||||
@@ -50,10 +50,10 @@ class LoadingViewBig @JvmOverloads constructor(
|
||||
|
||||
fun setEmptyText(text:CharSequence){
|
||||
if (ThreadUtils.isMainThread()) {
|
||||
actv_loading_text.text = text
|
||||
actv_loading_text_big.text = text
|
||||
}else{
|
||||
ThreadUtils.runOnUiThread( {
|
||||
actv_loading_text.text = text
|
||||
actv_loading_text_big.text = text
|
||||
},ThreadUtils.MODE.QUEUE)
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.weaknet.view
|
||||
package com.mogo.och.common.module.wigets.loading
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
@@ -8,8 +8,8 @@ import android.view.animation.LinearInterpolator
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.map.listener.IMogoMapListener
|
||||
import com.mogo.och.shuttle.weaknet.R
|
||||
import kotlinx.android.synthetic.main.shuttle_weak_loading_view_samll.view.loading_view_samll
|
||||
import com.mogo.och.common.module.R
|
||||
import kotlinx.android.synthetic.main.common_loading_view_samll.view.loading_view_samll
|
||||
|
||||
class LoadingViewSmall @JvmOverloads constructor(
|
||||
context: Context,
|
||||
@@ -23,7 +23,7 @@ class LoadingViewSmall @JvmOverloads constructor(
|
||||
private var autopilotLoadingAnimator: ObjectAnimator? = null
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.shuttle_weak_loading_view_samll, this, true)
|
||||
LayoutInflater.from(context).inflate(R.layout.common_loading_view_samll, this, true)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 521 B After Width: | Height: | Size: 521 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -2,5 +2,5 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/dp_50"/>
|
||||
<solid android:color="@color/common_384270"/>
|
||||
<solid android:color="@color/common_B3000000"/>
|
||||
</shape>
|
||||
@@ -17,6 +17,6 @@
|
||||
android:id="@+id/aciv_loading_map"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="@dimen/dp_136"
|
||||
android:layout_height="@dimen/dp_125"
|
||||
android:layout_height="@dimen/dp_136"
|
||||
android:src="@drawable/common_loading_map" />
|
||||
</FrameLayout>
|
||||
@@ -6,7 +6,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
tools:background="@color/bus_switch_line_bg"
|
||||
tools:background="@color/common_f7151d41"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -14,18 +14,18 @@
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/loading_view"
|
||||
android:id="@+id/loading_view_big"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/dp_16"
|
||||
android:src="@drawable/bus_switch_biz_loading_big" />
|
||||
android:src="@drawable/common_biz_loading_big" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_loading_text"
|
||||
android:id="@+id/actv_loading_text_big"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:text="@string/bus_switch_biz_loading"
|
||||
android:textColor="@color/bus_color_b3ffffff"
|
||||
android:text="@string/common_biz_loading"
|
||||
android:textColor="@color/common_B3FFFFFF"
|
||||
android:textSize="@dimen/dp_40" />
|
||||
</LinearLayout>
|
||||
@@ -6,4 +6,4 @@
|
||||
android:layout_width="@dimen/dp_61"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
android:layout_marginBottom="@dimen/dp_16"
|
||||
android:src="@drawable/bus_switch_biz_loading_samll" />
|
||||
android:src="@drawable/common_biz_loading_samll" />
|
||||
@@ -22,7 +22,7 @@
|
||||
<color name="common_b8c2d8">#B8C2D8</color>
|
||||
<color name="common_203555">#203555</color>
|
||||
<color name="common_B3EFF6FF">#B3EFF6FF</color>
|
||||
<color name="common_384270">#384270</color>
|
||||
<color name="common_B3000000">#B3000000</color>
|
||||
<color name="common_5F6582">#5F6582</color>
|
||||
<color name="common_A0B3DA">#A0B3DA</color>
|
||||
|
||||
@@ -33,4 +33,5 @@
|
||||
<color name="common_FF4E41">#FF4E41</color>
|
||||
<color name="common_B3FFFFFF">#B3FFFFFF</color>
|
||||
<color name="common_cccccc">#CCCCCC</color>
|
||||
<color name="common_f7151d41">#F7151D41</color>
|
||||
</resources>
|
||||
@@ -29,4 +29,6 @@
|
||||
|
||||
<string name="common_change2_autopilot2_manual">自动驾驶已退出,请立即接管,注意周边环境 小心驾驶</string>
|
||||
<string name="common_change2_pxjs_manual">平行驾驶已退出,请立即接管,注意周边环境 小心驾驶</string>
|
||||
|
||||
<string name="common_biz_loading">加载中……</string>
|
||||
</resources>
|
||||
@@ -71,9 +71,9 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<com.mogo.och.weaknet.view.LoadingViewSmall
|
||||
<com.mogo.och.common.module.wigets.loading.LoadingViewSmall
|
||||
android:id="@+id/loading_start_line"
|
||||
android:src="@drawable/bus_switch_biz_loading_samll"
|
||||
android:src="@drawable/common_biz_loading_samll"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
||||
@@ -80,9 +80,9 @@
|
||||
android:layout_width="@dimen/dp_474"
|
||||
android:layout_height="@dimen/dp_120"/>
|
||||
|
||||
<com.mogo.och.weaknet.view.LoadingViewSmall
|
||||
<com.mogo.och.common.module.wigets.loading.LoadingViewSmall
|
||||
android:id="@+id/loading_arrive_station"
|
||||
android:src="@drawable/bus_switch_biz_loading_samll"
|
||||
android:src="@drawable/common_biz_loading_samll"
|
||||
app:layout_constraintTop_toTopOf="@+id/actv_arriver_station"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/actv_arriver_station"
|
||||
app:layout_constraintEnd_toEndOf="@+id/actv_arriver_station"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.unmanned.taxi
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -9,6 +10,7 @@ import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.provider.CommonServiceImpl
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
||||
import com.mogo.och.unmanned.taxi.ui.base.TaxiFragment
|
||||
import com.mogo.och.unmanned.taxi.ui.bizswitch.SwitchBizView
|
||||
import com.mogo.och.unmanned.taxi.utils.TaxiAnalyticsManager
|
||||
|
||||
/**
|
||||
@@ -42,4 +44,11 @@ class TaxiUnmannedDriverProvider : CommonServiceImpl() {
|
||||
OchAutopilotAnalytics.ochEventKey = null
|
||||
ochTaxiFragment = null
|
||||
}
|
||||
|
||||
override fun createOchBusinessView(context: Context?): View? {
|
||||
return context?.let {
|
||||
SwitchBizView(it)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.mogo.och.unmanned.taxi.ui.bizswitch
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||
import com.mogo.och.common.module.wigets.WindowRelativeLayout
|
||||
import com.mogo.och.unmanned.taxi.R
|
||||
import kotlinx.android.synthetic.main.unmanned_switch_biz.view.loading_biz
|
||||
|
||||
class SwitchBizView: WindowRelativeLayout, SwtichBizeModel.SwtichLineViewCallback {
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
companion object {
|
||||
const val TAG = "SwitchBizView"
|
||||
}
|
||||
|
||||
private var viewModel: SwtichBizeModel?=null
|
||||
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.unmanned_switch_biz, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView(){
|
||||
loading_biz.setEmptyText(ResourcesUtils.getString(R.string.common_biz_loading))
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
viewModel = findViewTreeViewModelStoreOwner()?.let {
|
||||
ViewModelProvider(it).get(SwtichBizeModel::class.java)
|
||||
}
|
||||
viewModel?.setDistanceCallback(this)
|
||||
}
|
||||
|
||||
var startLoading = System.currentTimeMillis()
|
||||
|
||||
// 展示loading页面
|
||||
override fun showLoadingView(){
|
||||
startLoading = System.currentTimeMillis()
|
||||
loading_biz.visibility = VISIBLE
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化数据
|
||||
*/
|
||||
override fun loadLineData() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 展示选择任务页面
|
||||
override fun showSwitchTaskInfo() {
|
||||
val endLoading = System.currentTimeMillis()
|
||||
|
||||
val dex = (100-(endLoading - startLoading)).takeIf { it>=0 }?:0
|
||||
CallerLogger.d(TAG,"展示任务 lading 展示了 ${dex}毫秒")
|
||||
|
||||
ThreadUtils.runOnUiThreadDelayed({
|
||||
loading_biz.visibility = GONE
|
||||
},dex,ThreadUtils.MODE.QUEUE)
|
||||
}
|
||||
|
||||
// 展示选择线路页面
|
||||
override fun showSwtichLineView() {
|
||||
val endLoading = System.currentTimeMillis()
|
||||
val dex = (100-(endLoading - startLoading)).takeIf { it>=0 }?:0
|
||||
CallerLogger.d(TAG,"展示线路 lading 展示了 ${dex}毫秒")
|
||||
ThreadUtils.runOnUiThreadDelayed({
|
||||
loading_biz.visibility = GONE
|
||||
},dex,ThreadUtils.MODE.QUEUE)
|
||||
|
||||
}
|
||||
// 展示正在进行的任务
|
||||
override fun loadRunningTask() {
|
||||
val endLoading = System.currentTimeMillis()
|
||||
val dex = (100-(endLoading - startLoading)).takeIf { it>=0 }?:0
|
||||
CallerLogger.d(TAG,"展示运行中任务 lading 展示了 ${dex}毫秒")
|
||||
ThreadUtils.runOnUiThreadDelayed({
|
||||
loading_biz.visibility = GONE
|
||||
},dex,ThreadUtils.MODE.QUEUE)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.mogo.och.unmanned.taxi.ui.bizswitch
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
/**
|
||||
* @author XuXinChao
|
||||
* @description BadCase录包管理页面
|
||||
* @since: 2022/12/15
|
||||
*/
|
||||
class SwtichBizeModel : ViewModel() {
|
||||
|
||||
private val TAG = SwtichBizeModel::class.java.simpleName
|
||||
|
||||
private var viewCallback: SwtichLineViewCallback? = null
|
||||
|
||||
|
||||
override fun onCleared() {
|
||||
|
||||
}
|
||||
|
||||
fun setDistanceCallback(viewCallback: SwtichLineViewCallback) {
|
||||
this.viewCallback = viewCallback
|
||||
this.viewCallback?.showLoadingView()
|
||||
}
|
||||
|
||||
interface SwtichLineViewCallback {
|
||||
fun showSwtichLineView()
|
||||
fun showLoadingView()
|
||||
fun showSwitchTaskInfo()
|
||||
fun loadLineData()
|
||||
fun loadRunningTask()
|
||||
}
|
||||
}
|
||||
|
||||
BIN
OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_biz_bg.png
Executable file
|
After Width: | Height: | Size: 355 KiB |
BIN
OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_biz_bg_header.png
Executable file
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="@dimen/dp_962"
|
||||
android:layout_height="@dimen/dp_1047"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:background="@drawable/taxi_biz_bg">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:src="@drawable/taxi_biz_bg_header"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_marginEnd="@dimen/dp_42"
|
||||
android:layout_width="@dimen/dp_856"
|
||||
android:layout_height="@dimen/dp_100"/>
|
||||
|
||||
|
||||
<com.mogo.och.common.module.wigets.loading.LoadingViewBig
|
||||
android:id="@+id/loading_biz"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||