Frankensteinly 10 месяцев назад
Родитель
Сommit
83757d5f99
1 измененных файлов с 24 добавлено и 25 удалено
  1. 24 25
      app/src/main/java/com/grkj/iscs/activity/test/BleActivity.kt

+ 24 - 25
app/src/main/java/com/grkj/iscs/activity/test/BleActivity.kt

@@ -8,24 +8,24 @@ import android.util.Log
 import com.clj.fastble.BleManager
 import com.clj.fastble.data.BleDevice
 import com.clj.fastble.exception.BleException
-import com.grkj.iscs.ble.CustomBleGattCallback
-import com.grkj.iscs.ble.CustomBleIndicateCallback
-import com.grkj.iscs.ble.CustomBleScanCallback
-import com.grkj.iscs.ble.CustomBleWriteCallback
 import com.grkj.iscs.R
 import com.grkj.iscs.base.BaseActivity
-import com.grkj.iscs.databinding.ActivityBleBinding
 import com.grkj.iscs.ble.BleBean
-import com.grkj.iscs.model.Constants.PERMISSION_REQUEST_CODE
+import com.grkj.iscs.ble.BleCmdManager
 import com.grkj.iscs.ble.BleConst.INDICATE_UUID
 import com.grkj.iscs.ble.BleConst.SERVICE_UUID
-import com.grkj.iscs.ble.BleCmdManager
 import com.grkj.iscs.ble.BleConst.STATUS_READY
 import com.grkj.iscs.ble.BleConst.STATUS_WORK
-import com.grkj.iscs.extentions.toHexStrings
-import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.ble.BleUtil
+import com.grkj.iscs.ble.CustomBleGattCallback
+import com.grkj.iscs.ble.CustomBleIndicateCallback
+import com.grkj.iscs.ble.CustomBleScanCallback
+import com.grkj.iscs.ble.CustomBleWriteCallback
+import com.grkj.iscs.databinding.ActivityBleBinding
+import com.grkj.iscs.extentions.toHexStrings
+import com.grkj.iscs.model.Constants.PERMISSION_REQUEST_CODE
 import com.grkj.iscs.util.CommonUtils
+import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.util.log.LogUtil
 import com.leon.lfilepickerlibrary.LFilePicker
 import com.zhy.adapter.recyclerview.CommonAdapter
@@ -37,6 +37,7 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
 
     private val FILE_CODE = 1000
     private var fileMac: String? = null
+    var mBleList: MutableList<BleBean> = mutableListOf()
 
     override val viewBinding: ActivityBleBinding
         get() = ActivityBleBinding.inflate(layoutInflater)
@@ -53,19 +54,19 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
         }
 
         mBinding?.rvBle?.adapter =
-            object : CommonAdapter<BleBean>(this, R.layout.item_ble, BleUtil.instance?.deviceList) {
+            object : CommonAdapter<BleBean>(this, R.layout.item_ble, mBleList) {
                 override fun convert(holder: ViewHolder, item: BleBean?, position: Int) {
                     holder.setText(R.id.ble_name, "Name:${item?.bleDevice?.name}")
                     holder.setText(R.id.ble_mac, "Mac:${item?.bleDevice?.mac}")
                     holder.setText(R.id.blc_connection, if (BleManager.getInstance().isConnected(item?.bleDevice)) "已连接" else "未连接")
                     holder.setOnClickListener(R.id.connect) { doConnect(position) }
                     holder.setOnClickListener(R.id.disconnect) {
-                        BleUtil.instance?.indicate(BleUtil.instance?.deviceList?.get(position)?.bleDevice!!, isStart = false, indicateCallback = null)
+                        BleUtil.instance?.indicate(mBleList[position].bleDevice, isStart = false, indicateCallback = null)
                         mBinding?.rvBle?.adapter?.notifyItemChanged(position)
                     }
 
                     holder.setOnClickListener(R.id.mtu) {
-                        BleUtil.instance?.setMtu(BleUtil.instance?.deviceList?.get(position)?.bleDevice!!)
+                        BleUtil.instance?.setMtu(mBleList[position].bleDevice)
                     }
 
                     holder.setOnClickListener(R.id.indicate) {
@@ -250,7 +251,7 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
 
             override fun onScanStarted(success: Boolean) {
                 Log.d("doScanBle", "扫描开始:${success}")
-                BleUtil.instance?.deviceList?.clear()
+                mBleList.clear()
                 mBinding?.rvBle?.adapter?.notifyDataSetChanged()
             }
 
@@ -259,13 +260,13 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
                     Log.d("doScanBle", "扫描到的设备:${it.mac}")
                     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
                         if (!it.name.isNullOrBlank()) {
-                            BleUtil.instance?.deviceList?.add(BleBean(it))
+                            mBleList.add(BleBean(it))
                             mBinding?.rvBle?.adapter?.notifyDataSetChanged()
                         } else {
 
                         }
                     } else {
-                        BleUtil.instance?.deviceList?.add(BleBean(it))
+                        mBleList.add(BleBean(it))
                         mBinding?.rvBle?.adapter?.notifyDataSetChanged()
                     }
                 }
@@ -273,7 +274,7 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
 
             override fun onScanFinished(scanResultList: MutableList<BleDevice>?) {
                 mBinding?.srl?.finishRefresh()
-                if (BleUtil.instance?.deviceList?.isEmpty() == true) {
+                if (mBleList.isEmpty()) {
                     ToastUtils.tip("没有扫描到设备,请下拉刷新重试!")
                 }
             }
@@ -282,8 +283,8 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
 
     fun doConnect(position: Int) {
         handleLoading(true)
-        BleManager.getInstance().disconnect(BleUtil.instance?.deviceList?.get(position)?.bleDevice)
-        BleUtil.instance?.connectBySelect(BleUtil.instance?.deviceList?.get(position)?.bleDevice,
+        BleManager.getInstance().disconnect(mBleList[position].bleDevice)
+        BleUtil.instance?.connectBySelect(mBleList[position].bleDevice,
             object : CustomBleGattCallback() {
                 override fun onPrompt(promptStr: String?) {
                     handleLoading(false)
@@ -307,8 +308,7 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
                     LogUtil.i("onConnectSuccess : $bleDevice")
                     bleDevice?.let {
                         mBinding?.rvBle?.adapter?.notifyItemChanged(position)
-//                        BleUtil.instance?.deviceList?.add(BleBean(it))
-                        LogUtil.i("Add BleBean : ${BleUtil.instance?.deviceList}")
+                        LogUtil.i("Add BleBean : $mBleList")
                     }
                 }
 
@@ -320,9 +320,8 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
                 ) {
                     handleLoading(false)
                     ToastUtils.tip("连接断开了,请重试!")
-                    BleUtil.instance?.getBleDeviceByMac(device?.mac)?.let {
-                        BleUtil.instance?.deviceList?.remove(it)
-                    }
+                    mBinding?.rvBle?.adapter?.notifyItemChanged(position)
+//                    mBleList.removeAt(position)
                 }
             })
     }
@@ -330,10 +329,10 @@ class BleActivity : BaseActivity<ActivityBleBinding>() {
     override fun onDestroy() {
         super.onDestroy()
 
-        BleUtil.instance?.deviceList?.forEach {
+        mBleList.forEach {
             BleManager.getInstance().stopIndicate(it.bleDevice, SERVICE_UUID, INDICATE_UUID)
         }
-        BleUtil.instance?.deviceList?.clear()
+        mBleList.clear()
         BleManager.getInstance().disconnectAllDevice()
     }
 }