|
|
@@ -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()
|
|
|
}
|
|
|
}
|