From 17d97f58265510ceda0b38959a90424ee07b6910 Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Tue, 13 Nov 2018 11:42:07 +0800
Subject: [PATCH] 1.0.3-1测试版本 [*]修改重新连接的方式 [*]修改商城连接 [*]修改心跳机制 [*]主要针对oppo和vivo机型添加开启定位服务

---
 FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java |   35 +++++++++++++++++++----------------
 1 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java b/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
index 0707b79..e97e782 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
@@ -102,7 +102,6 @@
             descriptor = characteristic.getDescriptor(descriptorUUID);
         }
 
-
         return this;
     }
 
@@ -118,7 +117,7 @@
 
 
 
-    /*------------------------------- main operation ----------------------------------- */
+     /*------------------------------- main operation ----------------------------------- */
 
 
     /**
@@ -129,8 +128,6 @@
         if (getCharacteristic() != null
                 && (getCharacteristic().getProperties() | BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
             BleLog.w(TAG, "characteristic.getProperties():" + getCharacteristic().getProperties());
-
-            System.out.println("chenqi enableCharacteristicNotify =>" + uuid_notify);
 
             handleCharacteristicNotificationCallback(bleCallback, uuid_notify);
 
@@ -346,23 +343,34 @@
 
             listenAndTimer(bleCallback, MSG_NOTIFY_CHA, uuid_notify, new BluetoothGattCallback() {
                 AtomicBoolean msgRemoved = new AtomicBoolean(false);
+
                 @Override
                 public void onCharacteristicChanged(BluetoothGatt gatt,
                                                     BluetoothGattCharacteristic characteristic) {
+
                     if (!msgRemoved.getAndSet(true)) {
                         handler.removeMessages(MSG_NOTIFY_CHA, this);
                     }
-
-                    System.out.println("chenqi Notify Hex ->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
                     if (characteristic.getUuid().equals(UUID.fromString(uuid_notify))) {
+                        System.out.println("chenqi Hex ->" + dumpHex(characteristic.getValue()));
                         bleCallback.onSuccess(characteristic);
                     }
                 }
             });
-
-
         }
+    }
+
+    public String dumpHex(byte[] src) {
+        String num = "0123456789ABCDEF";
+        StringBuilder sb = new StringBuilder();
+//		sb.append("[ ");
+        for (byte aSrc : src) {
+            int high = aSrc >> 4 & 0x0f;
+            int low = aSrc & 0x0f;
+            sb.append(num.charAt(high)).append(num.charAt(low)).append(" ");
+        }
+//		sb.append(" ]");
+        return sb.toString();
     }
 
     /**
@@ -378,7 +386,7 @@
                 @Override
                 public void onCharacteristicChanged(BluetoothGatt gatt,
                                                     BluetoothGattCharacteristic characteristic) {
-                    System.out.println("chenqi Notify Hex indicate->" + BleBluetooth.dumpHex(characteristic.getValue()));
+
                     if (!msgRemoved.getAndSet(true)) {
                         handler.removeMessages(MSG_INDICATE_DES, this);
                     }
@@ -402,8 +410,6 @@
                 public void onCharacteristicWrite(BluetoothGatt gatt,
                                                   BluetoothGattCharacteristic characteristic, int status) {
                     handler.removeMessages(MSG_WRITE_CHA, this);
-                    System.out.println("chenqi Notify Hex write->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
 
                     if (status == BluetoothGatt.GATT_SUCCESS) {
                         if (characteristic.getUuid().equals(UUID.fromString(uuid_write))) {
@@ -429,8 +435,6 @@
                 @Override
                 public void onCharacteristicRead(BluetoothGatt gatt,
                                                  BluetoothGattCharacteristic characteristic, int status) {
-                    System.out.println("chenqi Notify Hex indicate read->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
                     if (!msgRemoved.getAndSet(true)) {
                         handler.removeMessages(MSG_READ_CHA, this);
                     }
@@ -456,8 +460,6 @@
                 @Override
                 public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
                     handler.removeMessages(MSG_READ_RSSI, this);
-                    System.out.println("chenqi Notify Hex rssi->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
                     if (status == BluetoothGatt.GATT_SUCCESS) {
                         bleCallback.onSuccess(rssi);
                     } else {
@@ -485,6 +487,7 @@
     private void listenAndTimer(BleCallback bleCallback, int what, String uuid, BluetoothGattCallback callback) {
         bleCallback.setBluetoothGattCallback(callback);
         bleBluetooth.addGattCallback(uuid, callback);
+
         Message msg = handler.obtainMessage(what, bleCallback);
         handler.sendMessageDelayed(msg, timeOutMillis);
     }

--
Gitblit v1.8.0