Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
Widget
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Android Widget
Widget
Commits
ee724c35
Commit
ee724c35
authored
Sep 06, 2022
by
tongzifang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.1.0 model
parent
f23d304c
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
150 additions
and
78 deletions
+150
-78
ZqToolActivity.kt
app/src/main/java/com/qimai/android/widget/ZqToolActivity.kt
+7
-10
build.gradle
zqtoolkit/build.gradle
+1
-1
ScaleHub.kt
zqtoolkit/src/main/java/com/qmai/zqtoolkit/ScaleHub.kt
+39
-23
ScaleInfo.kt
zqtoolkit/src/main/java/com/qmai/zqtoolkit/ScaleInfo.kt
+9
-4
AclasScaleKit.kt
...it/src/main/java/com/qmai/zqtoolkit/base/AclasScaleKit.kt
+7
-10
SunmiScaleKit.kt
...it/src/main/java/com/qmai/zqtoolkit/base/SunmiScaleKit.kt
+6
-11
ZqScaleKit.kt
...olkit/src/main/java/com/qmai/zqtoolkit/base/ZqScaleKit.kt
+8
-7
ScaleBaseAction.kt
...ain/java/com/qmai/zqtoolkit/base/scale/ScaleBaseAction.kt
+5
-3
ScaleBaseKit.kt
...c/main/java/com/qmai/zqtoolkit/base/scale/ScaleBaseKit.kt
+7
-9
QmScaleBrand.kt
...t/src/main/java/com/qmai/zqtoolkit/config/QmScaleBrand.kt
+50
-0
ScaleAppType.kt
...t/src/main/java/com/qmai/zqtoolkit/config/ScaleAppType.kt
+11
-0
No files found.
app/src/main/java/com/qimai/android/widget/ZqToolActivity.kt
View file @
ee724c35
...
@@ -11,16 +11,13 @@ import android.widget.*
...
@@ -11,16 +11,13 @@ import android.widget.*
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.Lifecycle
import
androidx.lifecycle.Lifecycle
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.blankj.utilcode.util.ConvertUtils
import
com.blankj.utilcode.util.DeviceUtils
import
com.blankj.utilcode.util.GsonUtils
import
com.blankj.utilcode.util.GsonUtils
import
com.blankj.utilcode.util.Utils
import
com.blankj.utilcode.util.Utils
import
com.qmai.zqtoolkit.LEDHub
import
com.qmai.zqtoolkit.LEDHub
import
com.qmai.zqtoolkit.ScaleHub
import
com.qmai.zqtoolkit.ScaleHub
import
com.qmai.zqtoolkit.config.QmScaleType
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.config.ZQ_END
import
com.qmai.zqtoolkit.config.QmScaleBrand
import
com.qmai.zqtoolkit.config.ZQ_WEIGHT_START
import
com.qmai.zqtoolkit.config.ScaleAppType
import
com.qmai.zqtoolkit.utils.ScaleChecker
import
kotlinx.coroutines.flow.collect
import
kotlinx.coroutines.flow.collect
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
import
java.util.*
import
java.util.*
...
@@ -222,7 +219,7 @@ class ZqToolActivity : AppCompatActivity() {
...
@@ -222,7 +219,7 @@ class ZqToolActivity : AppCompatActivity() {
when
(
v
.
id
)
{
when
(
v
.
id
)
{
R
.
id
.
ButConnect
->
{
R
.
id
.
ButConnect
->
{
if
(!
m_bConnected
)
{
if
(!
m_bConnected
)
{
ScaleHub
.
connect
(
this
)
// ScaleHub.connect(this, ScaleInfo(1, ScaleAppType.SHOP_ASSITANT_2C)
)
// Thread {
// Thread {
// if (zqeb.EB_Connect(
// if (zqeb.EB_Connect(
// String.format(
// String.format(
...
@@ -272,13 +269,13 @@ class ZqToolActivity : AppCompatActivity() {
...
@@ -272,13 +269,13 @@ class ZqToolActivity : AppCompatActivity() {
}
}
}
}
R
.
id
.
rb_zq
->
{
R
.
id
.
rb_zq
->
{
ScaleHub
.
initScale
(
QmScale
Type
.
ZQEB
)
ScaleHub
.
initScale
(
QmScale
Brand
.
ZQEB
)
}
}
R
.
id
.
rb_sunmi
->
{
R
.
id
.
rb_sunmi
->
{
ScaleHub
.
initScale
(
QmScale
Type
.
SUNMI
)
ScaleHub
.
initScale
(
QmScale
Brand
.
SUNMI
)
}
}
R
.
id
.
rb_dj
->
{
R
.
id
.
rb_dj
->
{
ScaleHub
.
initScale
(
QmScale
Type
.
ACLAS
)
ScaleHub
.
initScale
(
QmScale
Brand
.
ACLAS
)
}
}
R
.
id
.
ButSend
->
{
R
.
id
.
ButSend
->
{
if
(
m_bConnected
)
{
if
(
m_bConnected
)
{
...
...
zqtoolkit/build.gradle
View file @
ee724c35
...
@@ -30,7 +30,7 @@ android {
...
@@ -30,7 +30,7 @@ android {
}
}
}
}
group
'com.qmai.android.zqtoolkit'
group
'com.qmai.android.zqtoolkit'
version
'1.
0.8
'
version
'1.
1.0
'
gradlePublish
{
gradlePublish
{
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/ScaleHub.kt
View file @
ee724c35
...
@@ -6,7 +6,8 @@ import com.qmai.zqtoolkit.base.SunmiScaleKit
...
@@ -6,7 +6,8 @@ import com.qmai.zqtoolkit.base.SunmiScaleKit
import
com.qmai.zqtoolkit.base.ZqScaleKit
import
com.qmai.zqtoolkit.base.ZqScaleKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseAction
import
com.qmai.zqtoolkit.base.scale.ScaleBaseAction
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.config.QmScaleType
import
com.qmai.zqtoolkit.config.QmScaleBrand
import
com.qmai.zqtoolkit.config.ScaleAppType
import
com.qmai.zqtoolkit.utils.ScaleChecker
import
com.qmai.zqtoolkit.utils.ScaleChecker
import
kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
...
@@ -40,59 +41,74 @@ object ScaleHub : ScaleBaseAction {
...
@@ -40,59 +41,74 @@ object ScaleHub : ScaleBaseAction {
// }
// }
fun
initScale
(
qmScale
Type
:
QmScaleType
)
{
fun
initScale
(
qmScale
Brand
:
QmScaleBrand
)
{
disconnect
()
disconnect
()
scaleKit
=
when
(
qmScale
Type
)
{
scaleKit
=
when
(
qmScale
Brand
)
{
QmScale
Type
.
SUNMI
->
{
QmScale
Brand
.
SUNMI
->
{
SunmiScaleKit
SunmiScaleKit
}
}
QmScale
Type
.
ZQEB
->
{
QmScale
Brand
.
ZQEB
->
{
ZqScaleKit
ZqScaleKit
}
}
QmScale
Type
.
ACLAS
->
{
QmScale
Brand
.
ACLAS
->
{
AclasScaleKit
AclasScaleKit
}
}
}
}
}
}
private
fun
tryInitSDK2C
()
{
scaleKit
=
when
{
ScaleChecker
.
isZQ
()
->
ZqScaleKit
ScaleChecker
.
isSUNMI
()
->
SunmiScaleKit
ScaleChecker
.
isAclas
()
->
AclasScaleKit
else
->
ZqScaleKit
}
}
/**
/**
* fix-20220707 中崎称类型多,通过DeviceUtils.getModel()判断不准确,现改为默认中崎
* fix-20220707 中崎称类型多,通过DeviceUtils.getModel()判断不准确,现改为默认中崎
*/
*/
private
fun
tryInit
(
appType
:
Int
?
=
0
):
Boolean
{
private
fun
tryInitSDK
(
scale
:
ScaleInfo
)
{
if
(
scaleKit
==
null
)
{
if
(
scaleKit
==
null
)
{
scaleKit
=
when
{
scaleKit
=
when
{
ScaleChecker
.
isZQ
()
->
ZqScaleKit
ScaleChecker
.
isSUNMI
()
->
SunmiScaleKit
ScaleChecker
.
isSUNMI
()
->
SunmiScaleKit
ScaleChecker
.
isAclas
()
->
AclasScaleKit
ScaleChecker
.
isAclas
()
->
AclasScaleKit
else
->
if
(
appType
==
null
||
appType
==
0
)
null
else
ZqScaleKit
else
->
when
(
scale
.
brand
?.
brand
)
{
QmScaleBrand
.
ZQEB
.
brand
->
ZqScaleKit
QmScaleBrand
.
SUNMI
.
brand
->
SunmiScaleKit
QmScaleBrand
.
ACLAS
.
brand
->
AclasScaleKit
else
->
null
}
}
}
}
}
return
scaleKit
==
null
}
}
override
fun
connect
(
cxt
:
Context
?,
port
:
String
?,
buad
:
String
?,
appType
:
Int
?
)
{
override
fun
connect
(
cxt
:
Context
?,
scale
:
ScaleInfo
)
{
// var trueCxt = cxt?.applicationContext
when
(
scale
.
appType
)
{
if
(
tryInit
(
appType
))
{
ScaleAppType
.
SHOP_ASSITANT_2C
->
tryInitSDK2C
()
return
ScaleAppType
.
SHOP_ASSITANT_2B
->
tryInitSDK
(
scale
)
}
}
//称只给连一个端口,其他端口用其他hub
//称只给连一个端口,其他端口用其他hub
if
(
isScaleSuccess
())
{
if
(
isScaleSuccess
())
{
return
return
}
}
if
(
connectJob
==
null
)
{
scaleKit
?.
run
{
connectJob
=
CoroutineScope
(
EmptyCoroutineContext
)
if
(
connectJob
==
null
)
{
}
connectJob
=
CoroutineScope
(
EmptyCoroutineContext
)
connectJob
?.
launch
(
context
=
Dispatchers
.
IO
)
{
}
scaleKit
?.
connect
(
cxt
,
port
,
buad
)
connectJob
?.
launch
(
context
=
Dispatchers
.
IO
)
{
if
(
scaleKit
is
ZqScaleKit
)
{
scaleKit
?.
connect
(
cxt
,
scale
)
LEDHub
.
connect
()
if
(
scaleKit
is
ZqScaleKit
)
{
LEDHub
.
connect
()
}
collectConnectData
()
}
}
collectConnectData
()
}
}
}
}
private
suspend
fun
collectConnectData
()
{
private
suspend
fun
collectConnectData
()
{
scaleKit
?.
connectState
?.
collect
{
scaleKit
?.
connectState
?.
collect
{
_connectState
.
emit
(
it
)
_connectState
.
emit
(
it
)
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/ScaleInfo.kt
View file @
ee724c35
package
com.qmai.zqtoolkit
package
com.qmai.zqtoolkit
import
com.qmai.zqtoolkit.config.QmScaleType
import
com.qmai.zqtoolkit.config.QmScaleBrandValue
import
com.qmai.zqtoolkit.config.QmScaleModelValue
import
com.qmai.zqtoolkit.config.ScaleAppType
/**
/**
* tongzi
* tongzi
* 2022/6/6
* 2022/6/6
*/
*/
data class
ScaleInfo
(
data class
ScaleInfo
(
var
port
:
String
?,
var
port
:
String
?
=
null
,
var
buad
:
String
?,
var
buad
:
String
?
=
null
,
var
qmScaleType
:
QmScaleType
var
brand
:
QmScaleBrandValue
?
=
null
,
var
model
:
QmScaleModelValue
?
=
null
,
var
connectType
:
Int
?,
var
appType
:
ScaleAppType
?
=
ScaleAppType
.
SHOP_ASSITANT_2C
)
)
\ No newline at end of file
zqtoolkit/src/main/java/com/qmai/zqtoolkit/base/AclasScaleKit.kt
View file @
ee724c35
package
com.qmai.zqtoolkit.base
package
com.qmai.zqtoolkit.base
import
android.content.Context
import
android.content.Context
import
android.hardware.usb.UsbManager
import
android.util.Log
import
android.util.Log
import
androidx.constraintlayout.solver.GoalRow
import
com.blankj.utilcode.util.GsonUtils
import
com.blankj.utilcode.util.GsonUtils
import
com.example.scaler.AclasScaler
import
com.example.scaler.AclasScaler
import
com.example.scaler.AclasScaler.AclasScalerListener
import
com.example.scaler.AclasScaler.AclasScalerListener
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.config.ACLAS_PRODUCTID
import
com.qmai.zqtoolkit.config.QmScaleBrand
import
com.qmai.zqtoolkit.config.ACLAS_VENDORID
import
com.qmai.zqtoolkit.config.QmScaleType
import
com.qmai.zqtoolkit.utils.ScaleChecker
import
com.qmai.zqtoolkit.utils.ScaleChecker
/**
/**
...
@@ -24,8 +21,8 @@ object AclasScaleKit : ScaleBaseKit() {
...
@@ -24,8 +21,8 @@ object AclasScaleKit : ScaleBaseKit() {
get
()
=
"AclasScaleKit"
get
()
=
"AclasScaleKit"
override
val
STABLE_COUNT
:
Int
override
val
STABLE_COUNT
:
Int
get
()
=
4
get
()
=
4
override
val
SCALE_TYPE
:
QmScale
Type
override
val
SCALE_TYPE
:
QmScale
Brand
get
()
=
QmScale
Type
.
ACLAS
get
()
=
QmScale
Brand
.
ACLAS
private
var
aclasScaler
:
AclasScaler
?
=
null
private
var
aclasScaler
:
AclasScaler
?
=
null
private
var
aclasScalerListener
=
object
:
AclasScalerListener
{
private
var
aclasScalerListener
=
object
:
AclasScalerListener
{
override
fun
onDisConnected
()
{
override
fun
onDisConnected
()
{
...
@@ -57,14 +54,14 @@ object AclasScaleKit : ScaleBaseKit() {
...
@@ -57,14 +54,14 @@ object AclasScaleKit : ScaleBaseKit() {
}
}
override
fun
connect
(
cxt
:
Context
?,
port
:
String
?,
buad
:
String
?,
appType
:
Int
?)
{
super
.
connect
(
cxt
,
port
,
buad
,
appType
)
override
fun
connect
(
cxt
:
Context
?,
scale
:
ScaleInfo
)
{
super
.
connect
(
cxt
,
scale
)
if
(
aclasScaler
==
null
)
{
if
(
aclasScaler
==
null
)
{
cxt
?.
let
{
cxt
?.
let
{
aclasScaler
=
AclasScaler
(
AclasScaler
.
Type_USB
,
it
,
aclasScalerListener
)
aclasScaler
=
AclasScaler
(
AclasScaler
.
Type_USB
,
it
,
aclasScalerListener
)
}
}
}
}
//
val
usbConnectIndex
=
getAclasScaleIndex
()
val
usbConnectIndex
=
getAclasScaleIndex
()
//val usbConnectIndex = 0
//val usbConnectIndex = 0
val
aclasConnect
=
aclasScaler
?.
AclasConnect
(
usbConnectIndex
)
val
aclasConnect
=
aclasScaler
?.
AclasConnect
(
usbConnectIndex
)
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/base/SunmiScaleKit.kt
View file @
ee724c35
...
@@ -5,8 +5,9 @@ import android.content.Context
...
@@ -5,8 +5,9 @@ import android.content.Context
import
android.util.Log
import
android.util.Log
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.config.QmScale
Type
import
com.qmai.zqtoolkit.config.QmScale
Brand
import
com.sunmi.electronicscaleservice.ScaleCallback
import
com.sunmi.electronicscaleservice.ScaleCallback
import
com.sunmi.scalelibrary.ScaleManager
import
com.sunmi.scalelibrary.ScaleManager
import
com.sunmi.scalelibrary.ScaleManager.ScaleServiceConnection
import
com.sunmi.scalelibrary.ScaleManager.ScaleServiceConnection
...
@@ -22,19 +23,15 @@ object SunmiScaleKit : ScaleBaseKit() {
...
@@ -22,19 +23,15 @@ object SunmiScaleKit : ScaleBaseKit() {
get
()
=
"SunmiScaleKit"
get
()
=
"SunmiScaleKit"
override
val
STABLE_COUNT
:
Int
override
val
STABLE_COUNT
:
Int
get
()
=
3
get
()
=
3
override
val
SCALE_TYPE
:
QmScale
Type
override
val
SCALE_TYPE
:
QmScale
Brand
get
()
=
QmScale
Type
.
SUNMI
get
()
=
QmScale
Brand
.
SUNMI
@SuppressLint
(
"StaticFieldLeak"
)
@SuppressLint
(
"StaticFieldLeak"
)
private
var
mScaleManager
:
ScaleManager
?
=
null
private
var
mScaleManager
:
ScaleManager
?
=
null
private
val
decimalFormat
=
DecimalFormat
(
"0.000"
)
private
val
decimalFormat
=
DecimalFormat
(
"0.000"
)
override
fun
connect
(
override
fun
connect
(
cxt
:
Context
?,
scale
:
ScaleInfo
)
{
cxt
:
Context
?,
super
.
connect
(
cxt
,
scale
)
port
:
String
?,
buad
:
String
?,
appType
:
Int
?
)
{
super
.
connect
(
cxt
,
port
,
buad
,
appType
)
cxt
?.
let
{
cxt
?.
let
{
mScaleManager
=
ScaleManager
.
getInstance
(
it
)
mScaleManager
=
ScaleManager
.
getInstance
(
it
)
mScaleManager
?.
connectService
(
object
:
ScaleServiceConnection
{
mScaleManager
?.
connectService
(
object
:
ScaleServiceConnection
{
...
@@ -47,9 +44,7 @@ object SunmiScaleKit : ScaleBaseKit() {
...
@@ -47,9 +44,7 @@ object SunmiScaleKit : ScaleBaseKit() {
}
}
})
})
}
}
}
}
override
fun
readData
()
{
override
fun
readData
()
{
try
{
try
{
mScaleManager
?.
getData
(
object
:
ScaleCallback
.
Stub
()
{
mScaleManager
?.
getData
(
object
:
ScaleCallback
.
Stub
()
{
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/base/ZqScaleKit.kt
View file @
ee724c35
...
@@ -4,8 +4,9 @@ import android.content.Context
...
@@ -4,8 +4,9 @@ import android.content.Context
import
android.util.Log
import
android.util.Log
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.config.QmScale
Type
import
com.qmai.zqtoolkit.config.QmScale
Brand
import
com.zqebsdk.zqebsdk
import
com.zqebsdk.zqebsdk
import
com.zqprintersdk.PrinterConst
import
com.zqprintersdk.PrinterConst
import
kotlinx.coroutines.*
import
kotlinx.coroutines.*
...
@@ -23,13 +24,14 @@ object ZqScaleKit : ScaleBaseKit() {
...
@@ -23,13 +24,14 @@ object ZqScaleKit : ScaleBaseKit() {
get
()
=
"ZqScaleKit"
get
()
=
"ZqScaleKit"
override
val
STABLE_COUNT
:
Int
override
val
STABLE_COUNT
:
Int
get
()
=
4
get
()
=
4
override
val
SCALE_TYPE
:
QmScale
Type
override
val
SCALE_TYPE
:
QmScale
Brand
get
()
=
QmScale
Type
.
ZQEB
get
()
=
QmScale
Brand
.
ZQEB
override
fun
connect
(
cxt
:
Context
?,
port
:
String
?,
buad
:
String
?,
appType
:
Int
?)
{
super
.
connect
(
cxt
,
port
,
buad
,
appType
)
override
fun
connect
(
cxt
:
Context
?,
scale
:
ScaleInfo
)
{
super
.
connect
(
cxt
,
scale
)
val
ebConnect
=
val
ebConnect
=
zqeb
.
EB_Connect
(
String
.
format
(
"%s:%s"
,
port
?:
"ttyS4"
,
buad
?:
"9600"
),
cxt
)
zqeb
.
EB_Connect
(
String
.
format
(
"%s:%s"
,
scale
.
port
?:
"ttyS4"
,
scale
.
buad
?:
"9600"
),
cxt
)
val
msg
:
String
=
when
(
ebConnect
)
{
val
msg
:
String
=
when
(
ebConnect
)
{
PrinterConst
.
ErrorCode
.
SUCCESS
->
{
PrinterConst
.
ErrorCode
.
SUCCESS
->
{
"打开成功"
"打开成功"
...
@@ -48,7 +50,6 @@ object ZqScaleKit : ScaleBaseKit() {
...
@@ -48,7 +50,6 @@ object ZqScaleKit : ScaleBaseKit() {
updateState
(
ConnectState
(
ebConnect
==
PrinterConst
.
ErrorCode
.
SUCCESS
,
msg
))
updateState
(
ConnectState
(
ebConnect
==
PrinterConst
.
ErrorCode
.
SUCCESS
,
msg
))
}
}
private
val
zqeb
by
lazy
{
private
val
zqeb
by
lazy
{
zqebsdk
()
zqebsdk
()
}
}
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/base/scale/ScaleBaseAction.kt
View file @
ee724c35
...
@@ -2,6 +2,7 @@ package com.qmai.zqtoolkit.base.scale
...
@@ -2,6 +2,7 @@ package com.qmai.zqtoolkit.base.scale
import
android.content.Context
import
android.content.Context
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.config.QmScaleBrand
/**
/**
* tongzi
* tongzi
...
@@ -11,11 +12,12 @@ import com.qmai.zqtoolkit.ScaleInfo
...
@@ -11,11 +12,12 @@ import com.qmai.zqtoolkit.ScaleInfo
interface
ScaleBaseAction
{
interface
ScaleBaseAction
{
//电子秤连接
//电子秤连接
//appType 0是2B版本
//appType 0是2B版本
//20220906 brand=QmScaleType
// model=子型号
// connectType 0串口 1usb
fun
connect
(
fun
connect
(
cxt
:
Context
?
=
null
,
cxt
:
Context
?
=
null
,
port
:
String
?
=
null
,
scale
:
ScaleInfo
buad
:
String
?
=
null
,
appType
:
Int
?
=
0
)
)
//电子秤断开连接
//电子秤断开连接
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/base/scale/ScaleBaseKit.kt
View file @
ee724c35
...
@@ -3,12 +3,8 @@ package com.qmai.zqtoolkit.base.scale
...
@@ -3,12 +3,8 @@ package com.qmai.zqtoolkit.base.scale
import
android.content.Context
import
android.content.Context
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.ScaleHub
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.ScaleInfo
import
com.qmai.zqtoolkit.base.ZqScaleKit
import
com.qmai.zqtoolkit.config.QmScaleBrand
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.Dispatchers
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.flow.MutableSharedFlow
import
kotlinx.coroutines.flow.MutableSharedFlow
...
@@ -22,7 +18,7 @@ import kotlinx.coroutines.launch
...
@@ -22,7 +18,7 @@ import kotlinx.coroutines.launch
abstract
class
ScaleBaseKit
:
ScaleBaseAction
,
ScaleUpdateAction
{
abstract
class
ScaleBaseKit
:
ScaleBaseAction
,
ScaleUpdateAction
{
abstract
val
TAG
:
String
abstract
val
TAG
:
String
abstract
val
SCALE_TYPE
:
QmScale
Type
abstract
val
SCALE_TYPE
:
QmScale
Brand
abstract
val
STABLE_COUNT
:
Int
//顶尖称有假稳定情况,设置稳定达到一定次数后再给业务发数据
abstract
val
STABLE_COUNT
:
Int
//顶尖称有假稳定情况,设置稳定达到一定次数后再给业务发数据
var
lastTryScale
:
ScaleInfo
?
=
null
var
lastTryScale
:
ScaleInfo
?
=
null
private
var
lastConnectScale
:
ScaleInfo
?
=
null
private
var
lastConnectScale
:
ScaleInfo
?
=
null
...
@@ -35,9 +31,11 @@ abstract class ScaleBaseKit : ScaleBaseAction, ScaleUpdateAction {
...
@@ -35,9 +31,11 @@ abstract class ScaleBaseKit : ScaleBaseAction, ScaleUpdateAction {
private
var
stableWeight
=
mutableListOf
<
String
>()
private
var
stableWeight
=
mutableListOf
<
String
>()
override
fun
connect
(
override
fun
connect
(
cxt
:
Context
?,
port
:
String
?,
buad
:
String
?,
appType
:
Int
?)
{
cxt
:
Context
?,
lastTryScale
=
ScaleInfo
(
port
,
buad
,
SCALE_TYPE
)
scale
:
ScaleInfo
)
{
lastTryScale
=
scale
}
}
override
fun
disconnect
()
{
override
fun
disconnect
()
{
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/config/QmScaleBrand.kt
0 → 100644
View file @
ee724c35
package
com.qmai.zqtoolkit.config
/**
* tongzi
* 2022/5/26
*/
enum
class
QmScaleBrand
(
val
brand
:
String
,
)
{
SUNMI
(
"商米"
),
ZQEB
(
"中崎"
),
ACLAS
(
"顶尖"
);
companion
object
{
fun
list
():
List
<
QmScaleBrandValue
>
{
return
values
().
map
{
QmScaleBrandValue
(
it
)
}
}
}
}
data class
QmScaleBrandValue
(
val
brand
:
String
)
{
constructor
(
sort
:
QmScaleBrand
)
:
this
(
sort
.
brand
)
}
enum
class
QmScaleModel
(
val
brand
:
String
,
val
model
:
String
,
)
{
DEFAULT_ZQ
(
"中崎通用"
,
QmScaleBrand
.
ZQEB
.
brand
),
ACS15
(
"ACS15"
,
QmScaleBrand
.
ZQEB
.
brand
),
SMART
(
"SMART-180"
,
QmScaleBrand
.
ZQEB
.
brand
),
DEFAULT_ACLAS
(
"顶尖通用"
,
QmScaleBrand
.
ACLAS
.
brand
),
OX2X
(
"OX2X"
,
QmScaleBrand
.
ACLAS
.
brand
),
PX1
(
"PX1"
,
QmScaleBrand
.
ACLAS
.
brand
),
DEFAULT_SUNMI
(
"商米通用"
,
QmScaleBrand
.
SUNMI
.
brand
),
S2_CC
(
"S2_CC"
,
QmScaleBrand
.
SUNMI
.
brand
);
companion
object
{
fun
list
(
sort
:
QmScaleBrandValue
):
List
<
QmScaleModelValue
>
{
return
values
().
filter
{
it
.
brand
==
sort
.
brand
}.
map
{
QmScaleModelValue
(
it
)
}
}
}
}
data class
QmScaleModelValue
(
val
brand
:
String
,
val
model
:
String
)
{
constructor
(
scale
:
QmScaleModel
)
:
this
(
scale
.
brand
,
scale
.
model
)
}
zqtoolkit/src/main/java/com/qmai/zqtoolkit/config/
QmScale
Type.kt
→
zqtoolkit/src/main/java/com/qmai/zqtoolkit/config/
ScaleApp
Type.kt
View file @
ee724c35
...
@@ -2,8 +2,10 @@ package com.qmai.zqtoolkit.config
...
@@ -2,8 +2,10 @@ package com.qmai.zqtoolkit.config
/**
/**
* tongzi
* tongzi
* 2022/
5/2
6
* 2022/
9/
6
*/
*/
enum
class
QmScaleType
{
SUNMI
,
ZQEB
,
ACLAS
enum
class
ScaleAppType
(
}
)
{
\ No newline at end of file
SHOP_ASSITANT_2C
,
SHOP_ASSITANT_2B
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment