diff --git a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt index b2e3301..bb0202c 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt @@ -327,22 +327,21 @@ withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( dataPoints, - object : RadarScanView.OnGetNearestPointCallback { - override fun getNearestPoint(point: RadarScanView.DataPoint?) { - if (point == null) { - binding.distanceValueView.text = "大于5.5m" - binding.distancePgBar.progress = 100 + onGetNearestPoint = { point -> + if (point == null) { + binding.distanceValueView.text = "大于5.5m" + binding.distancePgBar.progress = 100 + } else { + binding.distanceValueView.text = "${point.distance}m" + val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { + 100 } else { - binding.distanceValueView.text = "${point.distance}m" - val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { - 100 - } else { - (point.distance / LocaleConstant.MAX_DISTANCE) * 100 - } - binding.distancePgBar.progress = progress.toInt() + (point.distance / LocaleConstant.MAX_DISTANCE) * 100 } + binding.distancePgBar.progress = progress.toInt() } - }) + } + ) } } } diff --git a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt index b2e3301..bb0202c 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt @@ -327,22 +327,21 @@ withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( dataPoints, - object : RadarScanView.OnGetNearestPointCallback { - override fun getNearestPoint(point: RadarScanView.DataPoint?) { - if (point == null) { - binding.distanceValueView.text = "大于5.5m" - binding.distancePgBar.progress = 100 + onGetNearestPoint = { point -> + if (point == null) { + binding.distanceValueView.text = "大于5.5m" + binding.distancePgBar.progress = 100 + } else { + binding.distanceValueView.text = "${point.distance}m" + val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { + 100 } else { - binding.distanceValueView.text = "${point.distance}m" - val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { - 100 - } else { - (point.distance / LocaleConstant.MAX_DISTANCE) * 100 - } - binding.distancePgBar.progress = progress.toInt() + (point.distance / LocaleConstant.MAX_DISTANCE) * 100 } + binding.distancePgBar.progress = progress.toInt() } - }) + } + ) } } } diff --git a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt index dd4cc84..6a4aa81 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt @@ -107,21 +107,19 @@ withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( dataPoints, - object : RadarScanView.OnGetNearestPointCallback { - override fun getNearestPoint(point: RadarScanView.DataPoint?) { - if (point == null) { - binding.distanceValueView.text = "大于5.5m" - binding.distancePgBar.progress = 100 + onGetNearestPoint = { point -> + if (point == null) { + binding.distanceValueView.text = "大于5.5m" + binding.distancePgBar.progress = 100 + } else { + nearestMarkerId = point.markerId + binding.distanceValueView.text = "${point.distance}m" + val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { + 100 } else { - nearestMarkerId = point.markerId - binding.distanceValueView.text = "${point.distance}m" - val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { - 100 - } else { - (point.distance / LocaleConstant.MAX_DISTANCE) * 100 - } - binding.distancePgBar.progress = progress.toInt() + (point.distance / LocaleConstant.MAX_DISTANCE) * 100 } + binding.distancePgBar.progress = progress.toInt() } } ) diff --git a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt index b2e3301..bb0202c 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerActivity.kt @@ -327,22 +327,21 @@ withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( dataPoints, - object : RadarScanView.OnGetNearestPointCallback { - override fun getNearestPoint(point: RadarScanView.DataPoint?) { - if (point == null) { - binding.distanceValueView.text = "大于5.5m" - binding.distancePgBar.progress = 100 + onGetNearestPoint = { point -> + if (point == null) { + binding.distanceValueView.text = "大于5.5m" + binding.distancePgBar.progress = 100 + } else { + binding.distanceValueView.text = "${point.distance}m" + val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { + 100 } else { - binding.distanceValueView.text = "${point.distance}m" - val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { - 100 - } else { - (point.distance / LocaleConstant.MAX_DISTANCE) * 100 - } - binding.distancePgBar.progress = progress.toInt() + (point.distance / LocaleConstant.MAX_DISTANCE) * 100 } + binding.distancePgBar.progress = progress.toInt() } - }) + } + ) } } } diff --git a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt index dd4cc84..6a4aa81 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/SearchMarkerAuditActivity.kt @@ -107,21 +107,19 @@ withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( dataPoints, - object : RadarScanView.OnGetNearestPointCallback { - override fun getNearestPoint(point: RadarScanView.DataPoint?) { - if (point == null) { - binding.distanceValueView.text = "大于5.5m" - binding.distancePgBar.progress = 100 + onGetNearestPoint = { point -> + if (point == null) { + binding.distanceValueView.text = "大于5.5m" + binding.distancePgBar.progress = 100 + } else { + nearestMarkerId = point.markerId + binding.distanceValueView.text = "${point.distance}m" + val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { + 100 } else { - nearestMarkerId = point.markerId - binding.distanceValueView.text = "${point.distance}m" - val progress = if (point.distance > LocaleConstant.MAX_DISTANCE) { - 100 - } else { - (point.distance / LocaleConstant.MAX_DISTANCE) * 100 - } - binding.distancePgBar.progress = progress.toInt() + (point.distance / LocaleConstant.MAX_DISTANCE) * 100 } + binding.distancePgBar.progress = progress.toInt() } } ) diff --git a/app/src/main/java/com/casic/common/detector/gd/widgets/RadarScanView.kt b/app/src/main/java/com/casic/common/detector/gd/widgets/RadarScanView.kt index 8d0385d..3e774b9 100644 --- a/app/src/main/java/com/casic/common/detector/gd/widgets/RadarScanView.kt +++ b/app/src/main/java/com/casic/common/detector/gd/widgets/RadarScanView.kt @@ -17,14 +17,13 @@ import android.text.TextPaint import android.util.AttributeSet import android.view.View +import androidx.core.graphics.toColorInt import com.casic.common.detector.gd.R import com.casic.common.detector.gd.utils.LocaleConstant import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.sp2px import kotlin.math.cos import kotlin.math.sin -import androidx.core.graphics.toColorInt - class RadarScanView(context: Context, attrs: AttributeSet) : View(context, attrs) { @@ -394,9 +393,9 @@ /** * 数据点 * @param dataPoints 数据点集合 - * @param callback 最小值的点 + * @param onGetNearestPoint 最小值的点 * */ - fun renderPointData(dataPoints: ArrayList, callback: OnGetNearestPointCallback) { + fun renderPointData(dataPoints: ArrayList, onGetNearestPoint: (DataPoint?) -> Unit) { if (dataPoints.isNotEmpty()) { points = ArrayList() dataPoints.forEach { @@ -408,23 +407,19 @@ val nearestPoint = dataPoints.first() //减少排序计算次数,回调最近的点到主界面 - callback.getNearestPoint(nearestPoint) + onGetNearestPoint(nearestPoint) //在最近的点外侧绘制同心圆 targetPoint = nearestPoint.convertPointF() } else { points?.clear() targetPoint = null - callback.getNearestPoint(null) + onGetNearestPoint(null) } //不管有无数据点,都要刷新点位数据,不然从有数据到无数据这个过程,界面不会及时刷新 invalidate() } - interface OnGetNearestPointCallback { - fun getNearestPoint(point: DataPoint?) - } - /** * dataPoint转为PointF * */