diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt index 786561a..053b9dd 100644 --- a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt @@ -21,13 +21,7 @@ private val kTag = "SerialPortBaseActivity" private val taskTimer by lazy { Timer() } private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - - //输出流 - private val outStream by lazy { BaseApplication.get().getSerialPorts()[0].outputStream } - - //输入流 - private val inStream by lazy { BaseApplication.get().getSerialPorts()[0].inputStream } - + private val serialPorts by lazy { BaseApplication.get().getSerialPorts() } protected lateinit var binding: VB override fun onCreate(savedInstanceState: Bundle?) { @@ -39,24 +33,26 @@ observeRequestState() initEvent() - Thread { - val buffer = ByteArray(128) - try { - while (!Thread.interrupted()) { - val bytesRead = inStream.read(buffer) - if (bytesRead > 0) { - weakReferenceHandler.let { - val message = it.obtainMessage() - message.what = 2025012001 - message.obj = buffer.copyOf(bytesRead) - it.sendMessage(message) + if (serialPorts.isNotEmpty()) { + Thread { + val buffer = ByteArray(128) + try { + while (!Thread.interrupted()) { + val bytesRead = serialPorts.first().inputStream.read(buffer) + if (bytesRead > 0) { + weakReferenceHandler.let { + val message = it.obtainMessage() + message.what = 2025012001 + message.obj = buffer.copyOf(bytesRead) + it.sendMessage(message) + } } } + } catch (e: IOException) { + e.printStackTrace() } - } catch (e: IOException) { - e.printStackTrace() - } - }.start() + }.start() + } } /** @@ -113,17 +109,23 @@ } fun sendSerialPortCommand(command: Int) { - outStream.write(command) - outStream.flush() - Log.d(kTag, "sendSerialPortCommand: $command") + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(command) + outStream.flush() + Log.d(kTag, "sendSerialPortCommand: $command") + } } /** * 停止串口数据传输 * */ fun stopSerialPortCommand() { - outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) - outStream.flush() + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) + outStream.flush() + } } override fun onDestroy() { diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt index 786561a..053b9dd 100644 --- a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt @@ -21,13 +21,7 @@ private val kTag = "SerialPortBaseActivity" private val taskTimer by lazy { Timer() } private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - - //输出流 - private val outStream by lazy { BaseApplication.get().getSerialPorts()[0].outputStream } - - //输入流 - private val inStream by lazy { BaseApplication.get().getSerialPorts()[0].inputStream } - + private val serialPorts by lazy { BaseApplication.get().getSerialPorts() } protected lateinit var binding: VB override fun onCreate(savedInstanceState: Bundle?) { @@ -39,24 +33,26 @@ observeRequestState() initEvent() - Thread { - val buffer = ByteArray(128) - try { - while (!Thread.interrupted()) { - val bytesRead = inStream.read(buffer) - if (bytesRead > 0) { - weakReferenceHandler.let { - val message = it.obtainMessage() - message.what = 2025012001 - message.obj = buffer.copyOf(bytesRead) - it.sendMessage(message) + if (serialPorts.isNotEmpty()) { + Thread { + val buffer = ByteArray(128) + try { + while (!Thread.interrupted()) { + val bytesRead = serialPorts.first().inputStream.read(buffer) + if (bytesRead > 0) { + weakReferenceHandler.let { + val message = it.obtainMessage() + message.what = 2025012001 + message.obj = buffer.copyOf(bytesRead) + it.sendMessage(message) + } } } + } catch (e: IOException) { + e.printStackTrace() } - } catch (e: IOException) { - e.printStackTrace() - } - }.start() + }.start() + } } /** @@ -113,17 +109,23 @@ } fun sendSerialPortCommand(command: Int) { - outStream.write(command) - outStream.flush() - Log.d(kTag, "sendSerialPortCommand: $command") + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(command) + outStream.flush() + Log.d(kTag, "sendSerialPortCommand: $command") + } } /** * 停止串口数据传输 * */ fun stopSerialPortCommand() { - outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) - outStream.flush() + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) + outStream.flush() + } } override fun onDestroy() { diff --git a/app/src/main/res/drawable/bg_progress_bar_high.xml b/app/src/main/res/drawable/bg_progress_bar_high.xml deleted file mode 100644 index 172ce11..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt index 786561a..053b9dd 100644 --- a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt @@ -21,13 +21,7 @@ private val kTag = "SerialPortBaseActivity" private val taskTimer by lazy { Timer() } private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - - //输出流 - private val outStream by lazy { BaseApplication.get().getSerialPorts()[0].outputStream } - - //输入流 - private val inStream by lazy { BaseApplication.get().getSerialPorts()[0].inputStream } - + private val serialPorts by lazy { BaseApplication.get().getSerialPorts() } protected lateinit var binding: VB override fun onCreate(savedInstanceState: Bundle?) { @@ -39,24 +33,26 @@ observeRequestState() initEvent() - Thread { - val buffer = ByteArray(128) - try { - while (!Thread.interrupted()) { - val bytesRead = inStream.read(buffer) - if (bytesRead > 0) { - weakReferenceHandler.let { - val message = it.obtainMessage() - message.what = 2025012001 - message.obj = buffer.copyOf(bytesRead) - it.sendMessage(message) + if (serialPorts.isNotEmpty()) { + Thread { + val buffer = ByteArray(128) + try { + while (!Thread.interrupted()) { + val bytesRead = serialPorts.first().inputStream.read(buffer) + if (bytesRead > 0) { + weakReferenceHandler.let { + val message = it.obtainMessage() + message.what = 2025012001 + message.obj = buffer.copyOf(bytesRead) + it.sendMessage(message) + } } } + } catch (e: IOException) { + e.printStackTrace() } - } catch (e: IOException) { - e.printStackTrace() - } - }.start() + }.start() + } } /** @@ -113,17 +109,23 @@ } fun sendSerialPortCommand(command: Int) { - outStream.write(command) - outStream.flush() - Log.d(kTag, "sendSerialPortCommand: $command") + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(command) + outStream.flush() + Log.d(kTag, "sendSerialPortCommand: $command") + } } /** * 停止串口数据传输 * */ fun stopSerialPortCommand() { - outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) - outStream.flush() + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) + outStream.flush() + } } override fun onDestroy() { diff --git a/app/src/main/res/drawable/bg_progress_bar_high.xml b/app/src/main/res/drawable/bg_progress_bar_high.xml deleted file mode 100644 index 172ce11..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_low.xml b/app/src/main/res/drawable/bg_progress_bar_low.xml deleted file mode 100644 index ec489c8..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_low.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt index 786561a..053b9dd 100644 --- a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt @@ -21,13 +21,7 @@ private val kTag = "SerialPortBaseActivity" private val taskTimer by lazy { Timer() } private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - - //输出流 - private val outStream by lazy { BaseApplication.get().getSerialPorts()[0].outputStream } - - //输入流 - private val inStream by lazy { BaseApplication.get().getSerialPorts()[0].inputStream } - + private val serialPorts by lazy { BaseApplication.get().getSerialPorts() } protected lateinit var binding: VB override fun onCreate(savedInstanceState: Bundle?) { @@ -39,24 +33,26 @@ observeRequestState() initEvent() - Thread { - val buffer = ByteArray(128) - try { - while (!Thread.interrupted()) { - val bytesRead = inStream.read(buffer) - if (bytesRead > 0) { - weakReferenceHandler.let { - val message = it.obtainMessage() - message.what = 2025012001 - message.obj = buffer.copyOf(bytesRead) - it.sendMessage(message) + if (serialPorts.isNotEmpty()) { + Thread { + val buffer = ByteArray(128) + try { + while (!Thread.interrupted()) { + val bytesRead = serialPorts.first().inputStream.read(buffer) + if (bytesRead > 0) { + weakReferenceHandler.let { + val message = it.obtainMessage() + message.what = 2025012001 + message.obj = buffer.copyOf(bytesRead) + it.sendMessage(message) + } } } + } catch (e: IOException) { + e.printStackTrace() } - } catch (e: IOException) { - e.printStackTrace() - } - }.start() + }.start() + } } /** @@ -113,17 +109,23 @@ } fun sendSerialPortCommand(command: Int) { - outStream.write(command) - outStream.flush() - Log.d(kTag, "sendSerialPortCommand: $command") + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(command) + outStream.flush() + Log.d(kTag, "sendSerialPortCommand: $command") + } } /** * 停止串口数据传输 * */ fun stopSerialPortCommand() { - outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) - outStream.flush() + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) + outStream.flush() + } } override fun onDestroy() { diff --git a/app/src/main/res/drawable/bg_progress_bar_high.xml b/app/src/main/res/drawable/bg_progress_bar_high.xml deleted file mode 100644 index 172ce11..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_low.xml b/app/src/main/res/drawable/bg_progress_bar_low.xml deleted file mode 100644 index ec489c8..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_low.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_middle_high.xml b/app/src/main/res/drawable/bg_progress_bar_middle_high.xml deleted file mode 100644 index c9347e4..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_middle_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt index 786561a..053b9dd 100644 --- a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt @@ -21,13 +21,7 @@ private val kTag = "SerialPortBaseActivity" private val taskTimer by lazy { Timer() } private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - - //输出流 - private val outStream by lazy { BaseApplication.get().getSerialPorts()[0].outputStream } - - //输入流 - private val inStream by lazy { BaseApplication.get().getSerialPorts()[0].inputStream } - + private val serialPorts by lazy { BaseApplication.get().getSerialPorts() } protected lateinit var binding: VB override fun onCreate(savedInstanceState: Bundle?) { @@ -39,24 +33,26 @@ observeRequestState() initEvent() - Thread { - val buffer = ByteArray(128) - try { - while (!Thread.interrupted()) { - val bytesRead = inStream.read(buffer) - if (bytesRead > 0) { - weakReferenceHandler.let { - val message = it.obtainMessage() - message.what = 2025012001 - message.obj = buffer.copyOf(bytesRead) - it.sendMessage(message) + if (serialPorts.isNotEmpty()) { + Thread { + val buffer = ByteArray(128) + try { + while (!Thread.interrupted()) { + val bytesRead = serialPorts.first().inputStream.read(buffer) + if (bytesRead > 0) { + weakReferenceHandler.let { + val message = it.obtainMessage() + message.what = 2025012001 + message.obj = buffer.copyOf(bytesRead) + it.sendMessage(message) + } } } + } catch (e: IOException) { + e.printStackTrace() } - } catch (e: IOException) { - e.printStackTrace() - } - }.start() + }.start() + } } /** @@ -113,17 +109,23 @@ } fun sendSerialPortCommand(command: Int) { - outStream.write(command) - outStream.flush() - Log.d(kTag, "sendSerialPortCommand: $command") + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(command) + outStream.flush() + Log.d(kTag, "sendSerialPortCommand: $command") + } } /** * 停止串口数据传输 * */ fun stopSerialPortCommand() { - outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) - outStream.flush() + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) + outStream.flush() + } } override fun onDestroy() { diff --git a/app/src/main/res/drawable/bg_progress_bar_high.xml b/app/src/main/res/drawable/bg_progress_bar_high.xml deleted file mode 100644 index 172ce11..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_low.xml b/app/src/main/res/drawable/bg_progress_bar_low.xml deleted file mode 100644 index ec489c8..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_low.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_middle_high.xml b/app/src/main/res/drawable/bg_progress_bar_middle_high.xml deleted file mode 100644 index c9347e4..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_middle_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_middle_low.xml b/app/src/main/res/drawable/bg_progress_bar_middle_low.xml deleted file mode 100644 index 1411f75..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_middle_low.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt index fdf4b3f..2ad0421 100644 --- a/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt +++ b/app/src/main/java/com/casic/common/detector/gd/adapter/SatelliteRecyclerAdapter.kt @@ -3,12 +3,12 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.ProgressBar import androidx.recyclerview.widget.RecyclerView import com.casic.common.detector.gd.R import com.casic.common.detector.gd.model.Satellite +import com.google.android.material.progressindicator.LinearProgressIndicator import com.pengxh.kt.lite.adapter.ViewHolder -import com.pengxh.kt.lite.extensions.convertDrawable +import com.pengxh.kt.lite.extensions.convertColor class SatelliteRecyclerAdapter( private val context: Context, private val dataRows: MutableList @@ -36,22 +36,22 @@ } //如果返回true,则表示该卫星正在被用于定位计算;如果返回false,则表示该卫星未被用于定位计算 - val signalDrawable = if (satellite.isUsedInFix) { + val signalColor = if (satellite.isUsedInFix) { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_in_use) if (satellite.signal <= 19) { - R.drawable.bg_progress_bar_middle_low + R.color.mildColor } else if (satellite.signal in 20..29) { - R.drawable.bg_progress_bar_middle_high + R.color.wellColor } else { - R.drawable.bg_progress_bar_high + R.color.green } } else { holder.setImageResource(R.id.satelliteStateView, R.drawable.ic_un_use) - R.drawable.bg_progress_bar_low + R.color.gray } - val signalProgressView = holder.getView(R.id.signalProgressView) - signalProgressView.progressDrawable = signalDrawable.convertDrawable(context) - signalProgressView.progress = satellite.signal + val signalIndicator = holder.getView(R.id.signalIndicator) + signalIndicator.setIndicatorColor(signalColor.convertColor(context)) + signalIndicator.progress = satellite.signal holder.setImageResource(R.id.nationalityView, image) .setText(R.id.svidView, satellite.svid.split("_")[1]) diff --git a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt index 786561a..053b9dd 100644 --- a/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/base/SerialPortBaseActivity.kt @@ -21,13 +21,7 @@ private val kTag = "SerialPortBaseActivity" private val taskTimer by lazy { Timer() } private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - - //输出流 - private val outStream by lazy { BaseApplication.get().getSerialPorts()[0].outputStream } - - //输入流 - private val inStream by lazy { BaseApplication.get().getSerialPorts()[0].inputStream } - + private val serialPorts by lazy { BaseApplication.get().getSerialPorts() } protected lateinit var binding: VB override fun onCreate(savedInstanceState: Bundle?) { @@ -39,24 +33,26 @@ observeRequestState() initEvent() - Thread { - val buffer = ByteArray(128) - try { - while (!Thread.interrupted()) { - val bytesRead = inStream.read(buffer) - if (bytesRead > 0) { - weakReferenceHandler.let { - val message = it.obtainMessage() - message.what = 2025012001 - message.obj = buffer.copyOf(bytesRead) - it.sendMessage(message) + if (serialPorts.isNotEmpty()) { + Thread { + val buffer = ByteArray(128) + try { + while (!Thread.interrupted()) { + val bytesRead = serialPorts.first().inputStream.read(buffer) + if (bytesRead > 0) { + weakReferenceHandler.let { + val message = it.obtainMessage() + message.what = 2025012001 + message.obj = buffer.copyOf(bytesRead) + it.sendMessage(message) + } } } + } catch (e: IOException) { + e.printStackTrace() } - } catch (e: IOException) { - e.printStackTrace() - } - }.start() + }.start() + } } /** @@ -113,17 +109,23 @@ } fun sendSerialPortCommand(command: Int) { - outStream.write(command) - outStream.flush() - Log.d(kTag, "sendSerialPortCommand: $command") + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(command) + outStream.flush() + Log.d(kTag, "sendSerialPortCommand: $command") + } } /** * 停止串口数据传输 * */ fun stopSerialPortCommand() { - outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) - outStream.flush() + if (serialPorts.isNotEmpty()) { + val outStream = serialPorts.first().outputStream + outStream.write(SerialPortCommand.STOP_SERIAL_PORT_DATA) + outStream.flush() + } } override fun onDestroy() { diff --git a/app/src/main/res/drawable/bg_progress_bar_high.xml b/app/src/main/res/drawable/bg_progress_bar_high.xml deleted file mode 100644 index 172ce11..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_low.xml b/app/src/main/res/drawable/bg_progress_bar_low.xml deleted file mode 100644 index ec489c8..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_low.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_middle_high.xml b/app/src/main/res/drawable/bg_progress_bar_middle_high.xml deleted file mode 100644 index c9347e4..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_middle_high.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_progress_bar_middle_low.xml b/app/src/main/res/drawable/bg_progress_bar_middle_low.xml deleted file mode 100644 index 1411f75..0000000 --- a/app/src/main/res/drawable/bg_progress_bar_middle_low.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_satellite_rv_l.xml b/app/src/main/res/layout/item_satellite_rv_l.xml index b421ebc..063c78c 100644 --- a/app/src/main/res/layout/item_satellite_rv_l.xml +++ b/app/src/main/res/layout/item_satellite_rv_l.xml @@ -43,13 +43,13 @@ android:orientation="horizontal"> + app:trackCornerRadius="@dimen/dp_1" />