[6.10.0]
[fix] [包车M1 Ui 恢复]
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package com.magic.mogo.och.charter.view.view.drawline
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.magic.mogo.och.charter.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class LineView : AppCompatImageView, LineViewModel.ILineViewCallback {
|
||||
|
||||
private val TAG = "LineView"
|
||||
|
||||
constructor(context: Context) : super(context)
|
||||
|
||||
constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
|
||||
|
||||
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
|
||||
context,
|
||||
attributeSet,
|
||||
defStyleAttr
|
||||
)
|
||||
|
||||
private fun initView() {
|
||||
setImageResource(R.drawable.charter_map_line_close)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
|
||||
onClick {
|
||||
if (LineManager.hasDrawnGlobalTrajectory()) {
|
||||
LineManager.clearGlobalTrajectory(false)
|
||||
} else {
|
||||
val drawGlobalTrajectory = LineManager.drawGlobalTrajectory()
|
||||
if (!drawGlobalTrajectory.first) {
|
||||
ToastUtils.showLong(drawGlobalTrajectory.second)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val viewModel = findViewTreeViewModelStoreOwner()?.let {
|
||||
ViewModelProvider(it).get(LineViewModel::class.java)
|
||||
}
|
||||
viewModel?.setDistanceCallback(this)
|
||||
|
||||
}
|
||||
|
||||
|
||||
init {
|
||||
try {
|
||||
initView()
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
override fun setImageViewResource(name: Int) {
|
||||
setImageResource(name)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.magic.mogo.och.charter.view.view.drawline
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.magic.mogo.och.charter.R
|
||||
import com.mogo.och.bridge.autopilot.line.ILineCallback
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
|
||||
class LineViewModel : ViewModel(), ILineCallback {
|
||||
|
||||
private val TAG = LineViewModel::class.java.simpleName
|
||||
|
||||
private var viewCallback: ILineViewCallback? = null
|
||||
|
||||
init {
|
||||
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
super.onCleared()
|
||||
LineManager.removeListener(TAG)
|
||||
this.viewCallback = null
|
||||
}
|
||||
|
||||
fun setDistanceCallback(viewCallback: ILineViewCallback) {
|
||||
LineManager.addListener(TAG,this)
|
||||
this.viewCallback = viewCallback
|
||||
}
|
||||
|
||||
override fun clearLineSuccess() {
|
||||
this.viewCallback?.setImageViewResource(R.drawable.charter_map_line_close)
|
||||
}
|
||||
|
||||
override fun drawLineSuccess() {
|
||||
this.viewCallback?.setImageViewResource(R.drawable.charter_map_line_open)
|
||||
}
|
||||
|
||||
override fun drawLineFail() {
|
||||
this.viewCallback?.setImageViewResource(R.drawable.charter_map_line_close)
|
||||
}
|
||||
|
||||
interface ILineViewCallback {
|
||||
fun setImageViewResource(@DrawableRes name: Int)
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -197,7 +197,7 @@
|
||||
android:layout_width="@dimen/dp_142"
|
||||
android:layout_height="@dimen/dp_142"/>
|
||||
|
||||
<com.mogo.och.bridge.ui.drawline.LineView
|
||||
<com.magic.mogo.och.charter.view.view.drawline.LineView
|
||||
android:id="@+id/lineView"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/reportworkorderview"
|
||||
|
||||
Reference in New Issue
Block a user