diff --git a/app/src/main/java/com/casic/detector/common/view/MainActivity.kt b/app/src/main/java/com/casic/detector/common/view/MainActivity.kt index 8262bd5..1dac658 100644 --- a/app/src/main/java/com/casic/detector/common/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/common/view/MainActivity.kt @@ -16,8 +16,6 @@ import android.media.SoundPool import android.os.Bundle import android.os.CountDownTimer -import android.os.Handler -import android.os.Message import android.util.Log import android.view.KeyEvent import android.view.View @@ -104,7 +102,6 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.SaveKeyValues -import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -115,9 +112,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.io.File -import java.math.RoundingMode import java.nio.charset.StandardCharsets -import java.text.DecimalFormat import java.util.Calendar import java.util.Date import java.util.Timer @@ -125,7 +120,7 @@ import kotlin.math.atan2 class MainActivity : SerialPortActivity(), SensorEventListener, - OnSocketConnectListener, Handler.Callback { + OnSocketConnectListener { private val kTag = "MainActivity" private val context = this @@ -136,8 +131,6 @@ private val searchNewDialog by lazy { SearchMarkerNewDialog(this) } private val detailDialog by lazy { MarkerDetailDialog(this) } private val locationTool by lazy { LocationTool(this) } - private val decimalFormat by lazy { DecimalFormat("0.00") } - private val sensorMessageCode = 2024022301 private val rotationMatrix = FloatArray(9)//旋转矩阵缓存 private val valueArray = FloatArray(3)//方位角数值 private var clickTime: Long = 0 @@ -156,7 +149,6 @@ private var socketClient: SocketClient? = null private lateinit var aMap: AMap private lateinit var sensorManager: SensorManager - private lateinit var weakReferenceHandler: WeakReferenceHandler /***inner class 需要用到*****start*/ private val gpioManager by lazy { GpioManager() } @@ -184,11 +176,6 @@ slowSoundResourceId = soundPool.load(this, R.raw.ring4, 1) fastSoundResourceId = soundPool.load(this, R.raw.ring2, 1) - //保留小数2位 - decimalFormat.roundingMode = RoundingMode.HALF_UP - -// gpioManager.setGpioHigh("18") - RtkLocationTool.getCurrentLocation(this) { if (connectState == ConnectState.SUCCESS) { //连接成功就发送千寻请求报文 @@ -206,7 +193,6 @@ samplePopupWindow.setBackgroundDrawable(null) sensorManager = getSystemService()!! - weakReferenceHandler = WeakReferenceHandler(this) //task网络请求监听 taskViewModel.markerFileResult.observe(this) { @@ -971,19 +957,12 @@ return } - weakReferenceHandler.sendEmptyMessage(sensorMessageCode) - } + if (SensorManager.getRotationMatrix(rotationMatrix, null, gravity, geomagnetic)) { + SensorManager.getOrientation(rotationMatrix, valueArray) - override fun handleMessage(msg: Message): Boolean { - if (msg.what == sensorMessageCode) { - if (SensorManager.getRotationMatrix(rotationMatrix, null, gravity, geomagnetic)) { - SensorManager.getOrientation(rotationMatrix, valueArray) - - val degree = ((360f + valueArray[0] * 180f / Math.PI) % 360).toInt() - searchNewDialog.updateDegreeValue(degree) - } + val degree = ((360f + valueArray[0] * 180f / Math.PI) % 360).toInt() + searchNewDialog.updateDegreeValue(degree) } - return true } /***以下是地图生命周期管理************************************************************************/ @@ -1045,9 +1024,9 @@ "高精度定位服务器连接成功".show(this) } } else { - Log.d(kTag, data.contentToString()) -// out.write(data) -// out.flush() + "收到千寻数据返回,长度:${data.size}".show(this) + out.write(data) + out.flush() } } @@ -1678,7 +1657,7 @@ val distance = AMapUtils.calculateLineDistance( LatLng(it.lat.toDouble(), it.lng.toDouble()), LatLng(latitude, longitude) ) - val formatDistance = decimalFormat.format(distance).toFloat() + val formatDistance = "%.2f".format(distance).toFloat() markerPoints.add(MarkerDistanceData(it.markerId, formatDistance)) @@ -1686,11 +1665,7 @@ val angle = atan2( (it.lat.toDouble() - latitude), (it.lng.toDouble() - longitude) ) + Math.PI - val formatAngle = decimalFormat.format(angle).toDouble() - -// "[$longitude, $latitude,$formatDistance, $formatAngle]".writeToFile( -// createLogFile() -// ) + val formatAngle = "%.2f".format(angle).toDouble() dataPoints.add( RadarScanView.DataPoint(formatAngle, formatDistance) )