|
|
@@ -5,6 +5,9 @@ import com.iscs.bozzys.utils.toByteArray
|
|
|
import java.nio.ByteBuffer
|
|
|
import java.nio.ByteOrder
|
|
|
|
|
|
+/**
|
|
|
+ * 用于蓝牙钥匙通信的帧数据封装,以及数据响应后的解析处理
|
|
|
+ */
|
|
|
object BleFrameExt {
|
|
|
|
|
|
/**
|
|
|
@@ -151,6 +154,11 @@ object BleFrameExt {
|
|
|
return 99
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取包数据信息
|
|
|
+ *
|
|
|
+ * @return 接收到的包数据信息
|
|
|
+ */
|
|
|
fun BleFrame.getTicketPackageInfo(): BleTicketDataPackage {
|
|
|
if (this.rspCode.contentEquals(BleProtocol.RSP_WORK_TICKET_RESULT)) {
|
|
|
// 解析数据
|
|
|
@@ -165,6 +173,8 @@ object BleFrameExt {
|
|
|
|
|
|
/**
|
|
|
* 获取断开连接结果
|
|
|
+ *
|
|
|
+ * @param 1-成功 2-失败
|
|
|
*/
|
|
|
fun BleFrame.getDisconnectResult(): Int {
|
|
|
if (this.rspCode.contentEquals(BleProtocol.RSP_DISCONNECT)) {
|
|
|
@@ -175,12 +185,18 @@ object BleFrameExt {
|
|
|
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * 获取手机当前时间,提供设备使用
|
|
|
+ */
|
|
|
private fun getUnixTime(): ByteArray {
|
|
|
val tempArr = (System.currentTimeMillis() / 1000).toByteArray()
|
|
|
val timeStampArr = byteArrayOf(tempArr[0], tempArr[1], tempArr[2], tempArr[3])
|
|
|
return timeStampArr
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * 字节数据转换,将长整型数据转换为字节数组
|
|
|
+ */
|
|
|
private fun Long.toByteArray(): ByteArray {
|
|
|
return ByteBuffer.allocate(java.lang.Long.BYTES)
|
|
|
.order(ByteOrder.LITTLE_ENDIAN)
|