@@ -361,7 +361,6 @@ class BleManager private constructor() {
361361 /* *
362362 * notify
363363 */
364- @Synchronized
365364 fun notify (bleDevice : BleDevice ,
366365 serviceUUID : String ,
367366 notifyUUID : String ,
@@ -406,7 +405,6 @@ class BleManager private constructor() {
406405 /* *
407406 * stop notify
408407 */
409- @Synchronized
410408 fun stopNotify (
411409 bleDevice : BleDevice ,
412410 serviceUUID : String ,
@@ -451,7 +449,6 @@ class BleManager private constructor() {
451449 /* *
452450 * indicate
453451 */
454- @Synchronized
455452 fun indicate (bleDevice : BleDevice ,
456453 serviceUUID : String ,
457454 indicateUUID : String ,
@@ -496,7 +493,6 @@ class BleManager private constructor() {
496493 /* *
497494 * stop indicate
498495 */
499- @Synchronized
500496 fun stopIndicate (
501497 bleDevice : BleDevice ,
502498 serviceUUID : String ,
@@ -515,7 +511,6 @@ class BleManager private constructor() {
515511 /* *
516512 * 读取信号值
517513 */
518- @Synchronized
519514 fun readRssi (bleDevice : BleDevice , bleRssiCallback : BleRssiCallback .() -> Unit ) {
520515 checkInitialize()
521516 bleBaseRequest?.readRssi(bleDevice, bleRssiCallback)
@@ -531,7 +526,6 @@ class BleManager private constructor() {
531526 /* *
532527 * 设置mtu
533528 */
534- @Synchronized
535529 fun setMtu (bleDevice : BleDevice , mtu : Int , bleMtuChangedCallback : BleMtuChangedCallback .() -> Unit ) {
536530 checkInitialize()
537531 if (mtu > 512 ) {
@@ -553,7 +547,6 @@ class BleManager private constructor() {
553547 * [BluetoothGatt.CONNECTION_PRIORITY_LOW_POWER] (低功耗)
554548 *
555549 */
556- @Synchronized
557550 fun setConnectionPriority (bleDevice : BleDevice , connectionPriority : Int ): Boolean {
558551 checkInitialize()
559552 if (connectionPriority != BluetoothGatt .CONNECTION_PRIORITY_BALANCED &&
@@ -567,7 +560,6 @@ class BleManager private constructor() {
567560 /* *
568561 * 读特征值数据
569562 */
570- @Synchronized
571563 fun readData (bleDevice : BleDevice ,
572564 serviceUUID : String ,
573565 readUUID : String ,
@@ -584,6 +576,7 @@ class BleManager private constructor() {
584576 serviceUUID : String ,
585577 writeUUID : String ,
586578 data : ByteArray ,
579+ writeType : Int? = null,
587580 bleWriteCallback : BleWriteCallback .() -> Unit ) {
588581 writeData(
589582 bleDevice,
@@ -592,6 +585,7 @@ class BleManager private constructor() {
592585 SparseArray <ByteArray >(1 ).apply {
593586 put(0 , data)
594587 },
588+ writeType,
595589 bleWriteCallback
596590 )
597591 }
@@ -600,14 +594,14 @@ class BleManager private constructor() {
600594 * 写数据
601595 * 注意:因为分包后每一个包,可能是包含完整的协议,所以分包由业务层处理,组件只会根据包的长度和mtu值对比后是否拦截
602596 */
603- @Synchronized
604597 fun writeData (bleDevice : BleDevice ,
605598 serviceUUID : String ,
606599 writeUUID : String ,
607600 dataArray : SparseArray <ByteArray >,
601+ writeType : Int? = null,
608602 bleWriteCallback : BleWriteCallback .() -> Unit ) {
609603 checkInitialize()
610- bleBaseRequest?.writeData(bleDevice, serviceUUID, writeUUID, dataArray, bleWriteCallback)
604+ bleBaseRequest?.writeData(bleDevice, serviceUUID, writeUUID, dataArray, writeType, bleWriteCallback)
611605 }
612606
613607 /* *
@@ -625,6 +619,8 @@ class BleManager private constructor() {
625619 data : ByteArray ,
626620 skipErrorPacketData : Boolean = false,
627621 retryWriteCount : Int = 0,
622+ retryDelayTime : Long = 0L,
623+ writeType : Int? = null,
628624 bleWriteCallback : BleWriteCallback .() -> Unit ) {
629625 writeQueueData(
630626 bleDevice,
@@ -635,6 +631,8 @@ class BleManager private constructor() {
635631 },
636632 skipErrorPacketData,
637633 retryWriteCount,
634+ retryDelayTime,
635+ writeType,
638636 bleWriteCallback
639637 )
640638 }
@@ -648,13 +646,14 @@ class BleManager private constructor() {
648646 * @param skipErrorPacketData 是否跳过数据长度为0的数据包
649647 * @param retryWriteCount 写失败后重试的次数
650648 */
651- @Synchronized
652649 fun writeQueueData (bleDevice : BleDevice ,
653650 serviceUUID : String ,
654651 writeUUID : String ,
655652 dataArray : SparseArray <ByteArray >,
656653 skipErrorPacketData : Boolean = false,
657654 retryWriteCount : Int = 0,
655+ retryDelayTime : Long = 0L,
656+ writeType : Int? = null,
658657 bleWriteCallback : BleWriteCallback .() -> Unit ) {
659658 checkInitialize()
660659 bleBaseRequest?.writeQueueData(
@@ -664,14 +663,15 @@ class BleManager private constructor() {
664663 dataArray,
665664 skipErrorPacketData,
666665 retryWriteCount,
666+ retryDelayTime,
667+ writeType,
667668 bleWriteCallback
668669 )
669670 }
670671
671672 /* *
672673 * 获取所有已连接设备集合(不包含其他应用连接的设备、系统连接的设备)
673674 */
674- @Synchronized
675675 fun getAllConnectedDevice (): MutableList <BleDevice >? {
676676 checkInitialize()
677677 return bleBaseRequest?.getAllConnectedDevice()
@@ -681,7 +681,6 @@ class BleManager private constructor() {
681681 * 获取系统已连接设备集合,确保已获取到权限
682682 */
683683 @SuppressLint(" MissingPermission" )
684- @Synchronized
685684 fun getSystemAllConnectedDevice (): MutableList <BluetoothDevice >? {
686685 checkInitialize()
687686 if (! BleUtil .isPermission(application)) {
@@ -695,7 +694,6 @@ class BleManager private constructor() {
695694 * 这个回调会独立存在,与[connect]的bleConnectCallback、[notify]的bleNotifyCallback、
696695 * [indicate]的bleIndicateCallback、[setMtu]的bleMtuChangedCallback不冲突
697696 */
698- @Synchronized
699697 fun addBleEventCallback (bleDevice : BleDevice , bleEventCallback : BleEventCallback .() -> Unit ) {
700698 checkInitialize()
701699 bleBaseRequest?.addBleEventCallback(bleDevice, bleEventCallback)
@@ -704,7 +702,6 @@ class BleManager private constructor() {
704702 /* *
705703 * 移除该设备的连接回调
706704 */
707- @Synchronized
708705 fun removeBleConnectCallback (bleDevice : BleDevice ) {
709706 checkInitialize()
710707 bleBaseRequest?.removeBleConnectCallback(bleDevice)
@@ -713,7 +710,6 @@ class BleManager private constructor() {
713710 /* *
714711 * 替换该设备的连接回调
715712 */
716- @Synchronized
717713 fun replaceBleConnectCallback (bleDevice : BleDevice , bleConnectCallback : BleConnectCallback .() -> Unit ) {
718714 checkInitialize()
719715 bleBaseRequest?.replaceBleConnectCallback(bleDevice, bleConnectCallback)
@@ -729,7 +725,6 @@ class BleManager private constructor() {
729725 /* *
730726 * 移除该设备的Indicate回调
731727 */
732- @Synchronized
733728 fun removeBleIndicateCallback (bleDevice : BleDevice , indicateUUID : String ) {
734729 checkInitialize()
735730 bleBaseRequest?.removeBleIndicateCallback(bleDevice, indicateUUID)
@@ -738,7 +733,6 @@ class BleManager private constructor() {
738733 /* *
739734 * 移除该设备的Notify回调
740735 */
741- @Synchronized
742736 fun removeBleNotifyCallback (bleDevice : BleDevice , notifyUUID : String ) {
743737 checkInitialize()
744738 bleBaseRequest?.removeBleNotifyCallback(bleDevice, notifyUUID)
@@ -747,7 +741,6 @@ class BleManager private constructor() {
747741 /* *
748742 * 移除该设备的Read回调
749743 */
750- @Synchronized
751744 fun removeBleReadCallback (bleDevice : BleDevice , readUUID : String ) {
752745 checkInitialize()
753746 bleBaseRequest?.removeBleReadCallback(bleDevice, readUUID)
@@ -756,7 +749,6 @@ class BleManager private constructor() {
756749 /* *
757750 * 移除该设备的MtuChanged回调
758751 */
759- @Synchronized
760752 fun removeBleMtuChangedCallback (bleDevice : BleDevice ) {
761753 checkInitialize()
762754 bleBaseRequest?.removeBleMtuChangedCallback(bleDevice)
@@ -765,7 +757,6 @@ class BleManager private constructor() {
765757 /* *
766758 * 移除该设备的Rssi回调
767759 */
768- @Synchronized
769760 fun removeBleRssiCallback (bleDevice : BleDevice ) {
770761 checkInitialize()
771762 bleBaseRequest?.removeBleRssiCallback(bleDevice)
@@ -775,7 +766,6 @@ class BleManager private constructor() {
775766 * 移除该设备的Write回调
776767 * bleWriteCallback为空,则会移除writeUUID下的所有callback
777768 */
778- @Synchronized
779769 fun removeBleWriteCallback (bleDevice : BleDevice ,
780770 writeUUID : String ,
781771 bleWriteCallback : BleWriteCallback ? = null
@@ -796,7 +786,6 @@ class BleManager private constructor() {
796786 /* *
797787 * 移除该设备回调,BleConnectCallback除外
798788 */
799- @Synchronized
800789 fun removeAllCharacterCallback (bleDevice : BleDevice ) {
801790 checkInitialize()
802791 bleBaseRequest?.removeAllCharacterCallback(bleDevice)
0 commit comments