Commit 0ebae9e2 authored by tongzifang's avatar tongzifang

增加称类型

parent e2aa5bc9
......@@ -30,7 +30,7 @@ android {
}
}
group 'com.qmai.android.zqtoolkit'
version '1.0.7.8'
version '1.0.7.10'
gradlePublish {
......
package com.qmai.zqtoolkit
import com.qmai.zqtoolkit.config.QmScaleType
/**
* author : tongzi
* date : 2022/2/15 14:00
* description :
*/
data class ConnectState(val isConnect: Boolean, val msg: String)
data class ConnectState(
val isConnect: Boolean,
val msg: String,
var qmScaleType: QmScaleType? = null
)
package com.qmai.zqtoolkit
import android.content.Context
import android.hardware.usb.UsbManager
import android.util.Log
import com.blankj.utilcode.util.GsonUtils
import com.blankj.utilcode.util.ToastUtils
import com.blankj.utilcode.util.Utils
import com.qmai.zqtoolkit.base.AclasScaleKit
import com.qmai.zqtoolkit.base.SunmiScaleKit
import com.qmai.zqtoolkit.base.ZqScaleKit
import com.qmai.zqtoolkit.base.scale.ScaleBaseAction
import com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import com.qmai.zqtoolkit.config.ACLAS_PRODUCTID
import com.qmai.zqtoolkit.config.ACLAS_VENDORID
import com.qmai.zqtoolkit.config.QmScaleType
import com.qmai.zqtoolkit.utils.ScaleChecker
import kotlinx.coroutines.CoroutineScope
......@@ -68,7 +62,7 @@ object ScaleHub : ScaleBaseAction {
ScaleChecker.isZQ() -> ZqScaleKit
ScaleChecker.isSUNMI() -> SunmiScaleKit
ScaleChecker.isAclas() -> AclasScaleKit
else -> scaleKit
else -> null
}
}
return scaleKit == null
......@@ -96,8 +90,11 @@ object ScaleHub : ScaleBaseAction {
}
}
private suspend fun collectConnectData() {
scaleKit?.connectState?.collect {
//在这里补充电子秤类型
it.qmScaleType = scaleKit?.SCALE_TYPE
_connectState.emit(it)
}
}
......
......@@ -8,6 +8,7 @@ import com.example.scaler.AclasScaler.AclasScalerListener
import com.qmai.zqtoolkit.ConnectState
import com.qmai.zqtoolkit.LivingWeight
import com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import com.qmai.zqtoolkit.config.QmScaleType
/**
* tongzi
......@@ -16,6 +17,8 @@ import com.qmai.zqtoolkit.base.scale.ScaleBaseKit
object AclasScaleKit : ScaleBaseKit() {
override val TAG: String
get() = "AclasScaleKit"
override val SCALE_TYPE: QmScaleType
get() = QmScaleType.ACLAS
private var aclasScaler: AclasScaler? = null
private var aclasScalerListener = object : AclasScalerListener {
override fun onDisConnected() {
......
......@@ -6,6 +6,7 @@ import android.util.Log
import com.qmai.zqtoolkit.ConnectState
import com.qmai.zqtoolkit.LivingWeight
import com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import com.qmai.zqtoolkit.config.QmScaleType
import com.sunmi.electronicscaleservice.ScaleCallback
import com.sunmi.scalelibrary.ScaleManager
import com.sunmi.scalelibrary.ScaleManager.ScaleServiceConnection
......@@ -20,6 +21,9 @@ object SunmiScaleKit : ScaleBaseKit() {
override val TAG: String
get() = "SunmiScaleKit"
override val SCALE_TYPE: QmScaleType
get() = QmScaleType.SUNMI
@SuppressLint("StaticFieldLeak")
private var mScaleManager: ScaleManager? = null
private val decimalFormat = DecimalFormat("0.000")
......
......@@ -2,15 +2,16 @@ package com.qmai.zqtoolkit.base
import android.content.Context
import android.util.Log
import com.blankj.utilcode.util.NumberUtils
import com.qmai.zqtoolkit.ConnectState
import com.qmai.zqtoolkit.LivingWeight
import com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import com.qmai.zqtoolkit.config.QmScaleType
import com.zqebsdk.zqebsdk
import com.zqprintersdk.PrinterConst
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
import java.math.BigDecimal
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
/**
* author : tongzi
......@@ -21,6 +22,8 @@ object ZqScaleKit : ScaleBaseKit() {
override val TAG: String
get() = "ZqScaleKit"
override val SCALE_TYPE: QmScaleType
get() = QmScaleType.ZQEB
private var stableWeight = mutableListOf<String>()
override fun connect(cxt: Context?, port: String?, buad: String?) {
val ebConnect =
......
......@@ -4,6 +4,7 @@ import com.qmai.zqtoolkit.ConnectState
import com.qmai.zqtoolkit.LivingWeight
import com.qmai.zqtoolkit.base.scale.ScaleBaseAction
import com.qmai.zqtoolkit.base.scale.ScaleUpdateAction
import com.qmai.zqtoolkit.config.QmScaleType
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.flow.MutableSharedFlow
......@@ -17,6 +18,7 @@ import kotlinx.coroutines.launch
abstract class ScaleBaseKit : ScaleBaseAction, ScaleUpdateAction {
abstract val TAG: String
abstract val SCALE_TYPE: QmScaleType
val _connectState = MutableSharedFlow<ConnectState>(replay = 1)
val connectState: SharedFlow<ConnectState> = _connectState
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment