ソースを参照

补充蓝牙连接流程返回节点;rfid处理不足8位补0;优化文件名;修复卡扣地址传输错误;修复权限动态请求activity转换错误

Frankensteinly 9 ヶ月 前
コミット
ec9162772e

+ 5 - 1
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -65,7 +65,7 @@ object BusinessManager {
     private val listeners = ArrayList<DeviceListener>()
 
     // 蓝牙连接准备监听
-    class ConnectListener(
+    data class ConnectListener(
         val mac: String,
         val callBack: ((Boolean, BleBean?) -> Unit)? = null
     )
@@ -460,6 +460,10 @@ object BusinessManager {
 
             override fun onScanStarted(success: Boolean) {
                 LogUtil.i("onScanStarted:${success}")
+                if (!success) {
+                    loadingCallBack?.invoke(false, null, null)
+                    prepareDoneCallBack?.invoke(false, null)
+                }
             }
 
             override fun onScanning(bleDevice: BleDevice?) {

+ 3 - 2
app/src/main/java/com/grkj/iscs/extentions/String.kt

@@ -19,8 +19,9 @@ fun String.toByteArray(length: Int, paddingByte: Byte = 0): ByteArray {
 }
 
 /**
- * 移除开头的补0
+ * 移除开头的补0,长度不足8位补0
  */
 fun String.removeLeadingZeros(): String {
-    return this.dropWhile { it == '0' }.takeIf { it.isNotEmpty() } ?: "0"
+    val trimmed = this.dropWhile { it == '0' }.takeIf { it.isNotEmpty() } ?: "0"
+    return trimmed.padStart(8, '0')
 }

+ 2 - 3
app/src/main/java/com/grkj/iscs/view/fragment/JobProgressFragment.kt

@@ -7,10 +7,9 @@ import com.grkj.iscs.R
 import com.grkj.iscs.databinding.FragmentJobProgressBinding
 import com.grkj.iscs.model.bo.PageChangeBO
 import com.grkj.iscs.model.vo.ticket.TicketDetailMonitorRespVO
-import com.grkj.iscs.view.activity.HomeActivity
 import com.grkj.iscs.view.base.BaseMvpFragment
 import com.grkj.iscs.view.dialog.TipDialog
-import com.grkj.iscs.view.iview.IJobProgressVIew
+import com.grkj.iscs.view.iview.IJobProgressView
 import com.grkj.iscs.view.presenter.JobProgressPresenter
 import com.zhy.adapter.recyclerview.CommonAdapter
 import com.zhy.adapter.recyclerview.base.ViewHolder
@@ -19,7 +18,7 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
  * 作业票工作进度页
  */
 class JobProgressFragment(val goBack: () -> Unit) :
-    BaseMvpFragment<IJobProgressVIew, JobProgressPresenter, FragmentJobProgressBinding>() {
+    BaseMvpFragment<IJobProgressView, JobProgressPresenter, FragmentJobProgressBinding>() {
 
     private val mPointList = mutableListOf<TicketDetailMonitorRespVO.IsJobTicketPointsVO>()
     private val mUserList = mutableListOf<TicketDetailMonitorRespVO.IsJobTicketUser>()

+ 1 - 1
app/src/main/java/com/grkj/iscs/view/iview/IJobProgressVIew.kt → app/src/main/java/com/grkj/iscs/view/iview/IJobProgressView.kt

@@ -2,5 +2,5 @@ package com.grkj.iscs.view.iview
 
 import com.grkj.iscs.view.base.IView
 
-interface IJobProgressVIew : IView {
+interface IJobProgressView : IView {
 }

+ 6 - 4
app/src/main/java/com/grkj/iscs/view/presenter/JobProgressPresenter.kt

@@ -13,15 +13,17 @@ import com.grkj.iscs.model.vo.lock.LockTakeUpdateReqVO
 import com.grkj.iscs.model.vo.ticket.StepDetailRespVO
 import com.grkj.iscs.model.vo.ticket.TicketDetailMonitorRespVO
 import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
+import com.grkj.iscs.util.ActivityUtils
 import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.NetApi
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.view.activity.TicketDetailActivity
+import com.grkj.iscs.view.base.BaseActivity
 import com.grkj.iscs.view.base.BasePresenter
-import com.grkj.iscs.view.iview.IJobProgressVIew
+import com.grkj.iscs.view.iview.IJobProgressView
 
-class JobProgressPresenter : BasePresenter<IJobProgressVIew>() {
+class JobProgressPresenter : BasePresenter<IJobProgressView>() {
     /**
      * 获取作业票详细信息
      */
@@ -95,7 +97,7 @@ class JobProgressPresenter : BasePresenter<IJobProgressVIew>() {
                                 if (it == true) {
                                     lockMap.forEach { (addr, lockList) ->
                                         // 开锁卡扣
-                                        ModBusController.controlLockBuckle(true, addr.toInt(), lockList.map { it.idx }.toMutableList())
+                                        ModBusController.controlLockBuckle(true, addr.toInt() - 1, lockList.map { it.idx }.toMutableList())
                                     }
                                 }
                             }
@@ -105,7 +107,7 @@ class JobProgressPresenter : BasePresenter<IJobProgressVIew>() {
                                 NetApi.updateKeyTake(ticketDetail.ticketId!!, keyPair.second?.rfid!!, mContext!!.serialNo()) {
                                     if (it) {
                                         // 下发工作票
-                                        BusinessManager.sendTicketBusiness(keyPair.second?.mac!!, ticketDetail, mvpView as TicketDetailActivity) { b, s, rst ->
+                                        BusinessManager.sendTicketBusiness(keyPair.second?.mac!!, ticketDetail, ActivityUtils.currentActivity() as BaseActivity<*>) { b, s, rst ->
 
                                         }
                                     }