react-native-ble-manager 10.0.2 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,8 +29,8 @@ RN 0.30-0.39 supported until 2.4.3
29
29
  ```shell
30
30
  npm i --save react-native-ble-manager
31
31
  ```
32
- The library support the react native autolink feature.
33
32
 
33
+ The library support the react native autolink feature.
34
34
 
35
35
  ##### Android - Update Manifest
36
36
 
@@ -43,7 +43,7 @@ The library support the react native autolink feature.
43
43
 
44
44
  <!--
45
45
  HACK: this permission should not be needed on android 12+ devices anymore,
46
- but in fact some manufacturers still need it for BLE to properly work :
46
+ but in fact some manufacturers still need it for BLE to properly work :
47
47
  https://stackoverflow.com/a/72370969
48
48
  -->
49
49
  <uses-permission android:name="android.permission.BLUETOOTH" tools:remove="android:maxSdkVersion" />
@@ -60,7 +60,7 @@ The library support the react native autolink feature.
60
60
  <uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30"/>
61
61
 
62
62
  <!-- Only when targeting Android 12 or higher -->
63
- <!--
63
+ <!--
64
64
  Please make sure you read the following documentation
65
65
  to have a better understanding of the new permissions.
66
66
  https://developer.android.com/guide/topics/connectivity/bluetooth/permissions#assert-never-for-location
@@ -92,7 +92,7 @@ In iOS >= 13 you need to add the `NSBluetoothAlwaysUsageDescription` string key.
92
92
  - If you have problem with old devices try avoid to connect/read/write to a peripheral during scan.
93
93
  - Android API >= 23 require the ACCESS_COARSE_LOCATION permission to scan for peripherals. React Native >= 0.33 natively support PermissionsAndroid like in the example.
94
94
  - Android API >= 29 require the ACCESS_FINE_LOCATION permission to scan for peripherals.
95
- React-Native 0.63.X started targeting Android API 29.
95
+ React-Native 0.63.X started targeting Android API 29.
96
96
  - Before write, read or start notification you need to call `retrieveServices` method
97
97
  - Because location and bluetooth permissions are runtime permissions, you **must** request these permissions at runtime along with declaring them in your manifest.
98
98
 
@@ -158,9 +158,9 @@ Returns a `Promise` object.
158
158
  - `callbackType` - `Number` - [Android only] corresponding to [`setCallbackType`](<https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder.html#setCallbackType(int)>). Defaults `ScanSettings.CALLBACK_TYPE_ALL_MATCHES`. /!\ anything other than default may only work when a `ScanFilter` is active /!\
159
159
  - `scanMode` - `Number` - [Android only] corresponding to [`setScanMode`](<https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder.html#setScanMode(int)>). Defaults to `ScanSettings.SCAN_MODE_LOW_POWER`.
160
160
  - `reportDelay` - `Number` - [Android only] corresponding to [`setReportDelay`](<https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder.html#setReportDelay(long)>). Defaults to `0ms`.
161
- - `phy` - `Number` - [Android only] corresponding to [`setPhy`](https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder#setPhy(int))
162
- - `legacy` - `Boolean` - [Android only] corresponding to [`setLegacy`](https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder#setLegacy(boolean))
163
- - `exactAdvertisingName` - `string` - [Android only] corresponds to the `ScanFilter` [deviceName](https://developer.android.com/reference/android/bluetooth/le/ScanFilter.Builder#setDeviceName(java.lang.String))
161
+ - `phy` - `Number` - [Android only] corresponding to [`setPhy`](<https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder#setPhy(int)>)
162
+ - `legacy` - `Boolean` - [Android only] corresponding to [`setLegacy`](<https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder#setLegacy(boolean)>)
163
+ - `exactAdvertisingName` - `string` - [Android only] corresponds to the `ScanFilter` [deviceName](<https://developer.android.com/reference/android/bluetooth/le/ScanFilter.Builder#setDeviceName(java.lang.String)>)
164
164
 
165
165
  **Examples**
166
166
 
@@ -267,7 +267,9 @@ Resolves to a promise containing the current BleState.
267
267
  **Examples**
268
268
 
269
269
  ```js
270
- BleManager.checkState().then(state => console.log(`current BLE state = '${state}'.`));
270
+ BleManager.checkState().then((state) =>
271
+ console.log(`current BLE state = '${state}'.`)
272
+ );
271
273
  ```
272
274
 
273
275
  ### startNotification(peripheralId, serviceUUID, characteristicUUID)
@@ -367,7 +369,7 @@ BleManager.read(
367
369
 
368
370
  // https://github.com/feross/buffer
369
371
  // https://nodejs.org/api/buffer.html#static-method-bufferfromarray
370
- const buffer = Buffer.from(readData);
372
+ const buffer = Buffer.from(readData);
371
373
  const sensorData = buffer.readUInt8(1, true);
372
374
  })
373
375
  .catch((error) => {
@@ -533,7 +535,6 @@ BleManager.readDescriptor(
533
535
  });
534
536
  ```
535
537
 
536
-
537
538
  ### requestConnectionPriority(peripheralId, connectionPriority) [Android only API 21+]
538
539
 
539
540
  Request a connection parameter update.
@@ -20,15 +20,16 @@ def safeExtGet(prop, fallback) {
20
20
  }
21
21
 
22
22
  android {
23
- compileSdkVersion safeExtGet("compileSdkVersion", 31)
23
+ compileSdk safeExtGet("compileSdk", 33)
24
24
 
25
25
  compileOptions {
26
- sourceCompatibility JavaVersion.VERSION_1_8
27
- targetCompatibility JavaVersion.VERSION_1_8
26
+ sourceCompatibility JavaVersion.VERSION_1_9
27
+ targetCompatibility JavaVersion.VERSION_1_9
28
28
  }
29
29
 
30
30
  defaultConfig {
31
31
  minSdkVersion safeExtGet("minSdkVersion", 21)
32
+ targetSdk safeExtGet("targetSdk", 33)
32
33
  }
33
34
  lintOptions {
34
35
  abortOnError false
@@ -4,6 +4,7 @@ import static android.app.Activity.RESULT_OK;
4
4
  import static android.bluetooth.BluetoothProfile.GATT;
5
5
  import static android.os.Build.VERSION_CODES.LOLLIPOP;
6
6
 
7
+ import android.annotation.SuppressLint;
7
8
  import android.app.Activity;
8
9
  import android.bluetooth.BluetoothAdapter;
9
10
  import android.bluetooth.BluetoothDevice;
@@ -44,7 +45,7 @@ class BleManager extends ReactContextBaseJavaModule {
44
45
  public static final String LOG_TAG = "ReactNativeBleManager";
45
46
  private static final int ENABLE_REQUEST = 539;
46
47
 
47
- private class BondRequest {
48
+ private static class BondRequest {
48
49
  private String uuid;
49
50
  private String pin;
50
51
  private Callback callback;
@@ -71,6 +72,8 @@ class BleManager extends ReactContextBaseJavaModule {
71
72
  private BondRequest removeBondRequest;
72
73
  private boolean forceLegacy;
73
74
 
75
+ public static ReadableMap moduleOptions;
76
+
74
77
  public ReactApplicationContext getReactContext() {
75
78
  return reactContext;
76
79
  }
@@ -137,12 +140,13 @@ class BleManager extends ReactContextBaseJavaModule {
137
140
  return;
138
141
  }
139
142
  forceLegacy = false;
143
+ moduleOptions = options;
140
144
  if (options.hasKey("forceLegacy")) {
141
145
  forceLegacy = options.getBoolean("forceLegacy");
142
146
  }
143
147
 
144
148
  if (Build.VERSION.SDK_INT >= LOLLIPOP && !forceLegacy) {
145
- scanManager = new LollipopScanManager(reactContext, this);
149
+ scanManager = new DefaultScanManager(reactContext, this);
146
150
  } else {
147
151
  scanManager = new LegacyScanManager(reactContext, this);
148
152
  }
@@ -157,6 +161,7 @@ class BleManager extends ReactContextBaseJavaModule {
157
161
  Log.d(LOG_TAG, "BleManager initialized");
158
162
  }
159
163
 
164
+ @SuppressLint("MissingPermission")
160
165
  @ReactMethod
161
166
  public void enableBluetooth(Callback callback) {
162
167
  if (getBluetoothAdapter() == null) {
@@ -222,6 +227,8 @@ class BleManager extends ReactContextBaseJavaModule {
222
227
  }
223
228
  }
224
229
 
230
+
231
+ @SuppressLint("MissingPermission")
225
232
  @ReactMethod
226
233
  public void createBond(String peripheralUUID, String peripheralPin, Callback callback) {
227
234
  Log.d(LOG_TAG, "Request bond to: " + peripheralUUID);
@@ -243,7 +250,7 @@ class BleManager extends ReactContextBaseJavaModule {
243
250
  return;
244
251
  } else if (peripheral.getDevice().createBond()) {
245
252
  Log.d(LOG_TAG, "Request bond successful for: " + peripheralUUID);
246
- bondRequest = new BondRequest(peripheralUUID, peripheralPin, callback); // request bond success, waiting for boradcast
253
+ bondRequest = new BondRequest(peripheralUUID, peripheralPin, callback); // request bond success, waiting for broadcast
247
254
  return;
248
255
  }
249
256
 
@@ -273,7 +280,7 @@ class BleManager extends ReactContextBaseJavaModule {
273
280
  }
274
281
 
275
282
  @ReactMethod
276
- public void connect(String peripheralUUID, Callback callback) {
283
+ public void connect(String peripheralUUID, ReadableMap options, Callback callback) {
277
284
  Log.d(LOG_TAG, "Connect to: " + peripheralUUID);
278
285
 
279
286
  Peripheral peripheral = retrieveOrCreatePeripheral(peripheralUUID);
@@ -281,7 +288,7 @@ class BleManager extends ReactContextBaseJavaModule {
281
288
  callback.invoke("Invalid peripheral uuid");
282
289
  return;
283
290
  }
284
- peripheral.connect(callback, getCurrentActivity());
291
+ peripheral.connect(callback, getCurrentActivity(), options);
285
292
  }
286
293
 
287
294
  @ReactMethod
@@ -353,7 +360,7 @@ class BleManager extends ReactContextBaseJavaModule {
353
360
  if (peripheral != null) {
354
361
  byte[] decoded = new byte[message.size()];
355
362
  for (int i = 0; i < message.size(); i++) {
356
- decoded[i] = new Integer(message.getInt(i)).byteValue();
363
+ decoded[i] = Integer.valueOf(i).byteValue();
357
364
  }
358
365
  Log.d(LOG_TAG, "Message(" + decoded.length + "): " + bytesToHex(decoded));
359
366
  peripheral.write(UUIDHelper.uuidFromString(serviceUUID), UUIDHelper.uuidFromString(characteristicUUID),
@@ -374,7 +381,7 @@ class BleManager extends ReactContextBaseJavaModule {
374
381
  if (peripheral != null) {
375
382
  byte[] decoded = new byte[message.size()];
376
383
  for (int i = 0; i < message.size(); i++) {
377
- decoded[i] = new Integer(message.getInt(i)).byteValue();
384
+ decoded[i] = Integer.valueOf(i).byteValue();
378
385
  }
379
386
  Log.d(LOG_TAG, "Message(" + decoded.length + "): " + bytesToHex(decoded));
380
387
  peripheral.write(UUIDHelper.uuidFromString(serviceUUID), UUIDHelper.uuidFromString(characteristicUUID),
@@ -430,7 +437,7 @@ class BleManager extends ReactContextBaseJavaModule {
430
437
 
431
438
  @ReactMethod
432
439
  public void refreshCache(String deviceUUID, Callback callback) {
433
- Log.d(LOG_TAG, "Refershing cache for: " + deviceUUID);
440
+ Log.d(LOG_TAG, "Refreshing cache for: " + deviceUUID);
434
441
  Peripheral peripheral = peripherals.get(deviceUUID);
435
442
  if (peripheral != null) {
436
443
  peripheral.refreshCache(callback);
@@ -454,7 +461,7 @@ class BleManager extends ReactContextBaseJavaModule {
454
461
  if (!peripherals.containsKey(address)) {
455
462
  Peripheral peripheral;
456
463
  if (Build.VERSION.SDK_INT >= LOLLIPOP && !forceLegacy) {
457
- peripheral = new LollipopPeripheral(device, reactContext);
464
+ peripheral = new DefaultPeripheral(device, reactContext);
458
465
  } else {
459
466
  peripheral = new Peripheral(device, reactContext);
460
467
  }
@@ -492,12 +499,10 @@ class BleManager extends ReactContextBaseJavaModule {
492
499
  case BluetoothAdapter.STATE_TURNING_ON:
493
500
  state = "turning_on";
494
501
  break;
495
- case BluetoothAdapter.STATE_OFF:
496
- state = "off";
497
- break;
498
502
  case BluetoothAdapter.STATE_TURNING_OFF:
499
503
  state = "turning_off";
500
504
  break;
505
+ case BluetoothAdapter.STATE_OFF:
501
506
  default:
502
507
  // should not happen as per https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getState()
503
508
  state = "off";
@@ -513,11 +518,13 @@ class BleManager extends ReactContextBaseJavaModule {
513
518
  }
514
519
 
515
520
  @ReactMethod
521
+ @SuppressLint("MissingPermission")
516
522
  public void setName(String name) {
517
523
  BluetoothAdapter adapter = getBluetoothAdapter();
518
524
  adapter.setName(name);
519
525
  }
520
526
 
527
+ @SuppressLint("MissingPermission")
521
528
  private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
522
529
  @Override
523
530
  public void onReceive(Context context, Intent intent) {
@@ -558,7 +565,12 @@ class BleManager extends ReactContextBaseJavaModule {
558
565
  final int bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, BluetoothDevice.ERROR);
559
566
  final int prevState = intent.getIntExtra(BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE,
560
567
  BluetoothDevice.ERROR);
561
- BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
568
+ BluetoothDevice device;
569
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
570
+ device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, BluetoothDevice.class);
571
+ } else {
572
+ device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
573
+ }
562
574
 
563
575
  String bondStateStr = "UNKNOWN";
564
576
  switch (bondState) {
@@ -587,7 +599,7 @@ class BleManager extends ReactContextBaseJavaModule {
587
599
  if (bondState == BluetoothDevice.BOND_BONDED) {
588
600
  Peripheral peripheral;
589
601
  if (Build.VERSION.SDK_INT >= LOLLIPOP && !forceLegacy) {
590
- peripheral = new LollipopPeripheral(device, reactContext);
602
+ peripheral = new DefaultPeripheral(device, reactContext);
591
603
  } else {
592
604
  peripheral = new Peripheral(device, reactContext);
593
605
  }
@@ -601,7 +613,12 @@ class BleManager extends ReactContextBaseJavaModule {
601
613
  removeBondRequest = null;
602
614
  }
603
615
  } else if (action.equals(BluetoothDevice.ACTION_PAIRING_REQUEST)) {
604
- BluetoothDevice bluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
616
+ BluetoothDevice bluetoothDevice;
617
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
618
+ bluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, BluetoothDevice.class);
619
+ } else {
620
+ bluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
621
+ }
605
622
  if (bondRequest != null && bondRequest.uuid.equals(bluetoothDevice.getAddress()) && bondRequest.pin != null) {
606
623
  bluetoothDevice.setPin(bondRequest.pin.getBytes());
607
624
  bluetoothDevice.createBond();
@@ -645,6 +662,7 @@ class BleManager extends ReactContextBaseJavaModule {
645
662
  callback.invoke(null, map);
646
663
  }
647
664
 
665
+ @SuppressLint("MissingPermission")
648
666
  @ReactMethod
649
667
  public void getConnectedPeripherals(ReadableArray serviceUUIDs, Callback callback) {
650
668
  Log.d(LOG_TAG, "Get connected peripherals");
@@ -656,8 +674,8 @@ class BleManager extends ReactContextBaseJavaModule {
656
674
  return;
657
675
  }
658
676
 
659
- List<BluetoothDevice> periperals = getBluetoothManager().getConnectedDevices(GATT);
660
- for (BluetoothDevice entry : periperals) {
677
+ List<BluetoothDevice> peripherals = getBluetoothManager().getConnectedDevices(GATT);
678
+ for (BluetoothDevice entry : peripherals) {
661
679
  Peripheral peripheral = savePeripheral(entry);
662
680
  WritableMap jsonBundle = peripheral.asWritableMap();
663
681
  map.pushMap(jsonBundle);
@@ -665,6 +683,7 @@ class BleManager extends ReactContextBaseJavaModule {
665
683
  callback.invoke(null, map);
666
684
  }
667
685
 
686
+ @SuppressLint("MissingPermission")
668
687
  @ReactMethod
669
688
  public void getBondedPeripherals(Callback callback) {
670
689
  Log.d(LOG_TAG, "Get bonded peripherals");
@@ -673,7 +692,7 @@ class BleManager extends ReactContextBaseJavaModule {
673
692
  for (BluetoothDevice device : deviceSet) {
674
693
  Peripheral peripheral;
675
694
  if (Build.VERSION.SDK_INT >= LOLLIPOP && !forceLegacy) {
676
- peripheral = new LollipopPeripheral(device, reactContext);
695
+ peripheral = new DefaultPeripheral(device, reactContext);
677
696
  } else {
678
697
  peripheral = new Peripheral(device, reactContext);
679
698
  }
@@ -752,7 +771,7 @@ class BleManager extends ReactContextBaseJavaModule {
752
771
  if (BluetoothAdapter.checkBluetoothAddress(peripheralUUID)) {
753
772
  BluetoothDevice device = bluetoothAdapter.getRemoteDevice(peripheralUUID);
754
773
  if (Build.VERSION.SDK_INT >= LOLLIPOP && !forceLegacy) {
755
- peripheral = new LollipopPeripheral(device, reactContext);
774
+ peripheral = new DefaultPeripheral(device, reactContext);
756
775
  } else {
757
776
  peripheral = new Peripheral(device, reactContext);
758
777
  }
@@ -127,7 +127,7 @@ public class BundleJSONConverter {
127
127
  JSONObject json = new JSONObject();
128
128
 
129
129
  for(String key : bundle.keySet()) {
130
- Object value = bundle.get(key);
130
+ Object value = bundle.getString(key);
131
131
  if (value == null) {
132
132
  // Null is not supported.
133
133
  continue;
@@ -6,8 +6,6 @@ import android.bluetooth.le.ScanResult;
6
6
  import android.os.Build;
7
7
  import android.os.ParcelUuid;
8
8
 
9
- import androidx.annotation.RequiresApi;
10
-
11
9
  import com.facebook.react.bridge.Arguments;
12
10
  import com.facebook.react.bridge.ReactApplicationContext;
13
11
  import com.facebook.react.bridge.ReactContext;
@@ -16,19 +14,19 @@ import com.facebook.react.bridge.WritableMap;
16
14
 
17
15
  import java.util.Map;
18
16
 
19
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
20
- public class LollipopPeripheral extends Peripheral {
17
+
18
+ public class DefaultPeripheral extends Peripheral {
21
19
 
22
20
  private ScanRecord advertisingData;
23
21
  private ScanResult scanResult;
24
22
 
25
- public LollipopPeripheral(ReactContext reactContext, ScanResult result) {
23
+ public DefaultPeripheral(ReactContext reactContext, ScanResult result) {
26
24
  super(result.getDevice(), result.getRssi(), result.getScanRecord().getBytes(), reactContext);
27
25
  this.advertisingData = result.getScanRecord();
28
26
  this.scanResult = result;
29
27
  }
30
28
 
31
- public LollipopPeripheral(BluetoothDevice device, ReactApplicationContext reactContext) {
29
+ public DefaultPeripheral(BluetoothDevice device, ReactApplicationContext reactContext) {
32
30
  super(device, reactContext);
33
31
  }
34
32
 
@@ -4,6 +4,7 @@ package it.innove;
4
4
  import static com.facebook.react.bridge.UiThreadUtil.runOnUiThread;
5
5
 
6
6
  import android.Manifest;
7
+ import android.annotation.SuppressLint;
7
8
  import android.bluetooth.BluetoothAdapter;
8
9
  import android.bluetooth.BluetoothDevice;
9
10
  import android.bluetooth.le.ScanCallback;
@@ -16,7 +17,6 @@ import android.os.Build;
16
17
  import android.os.ParcelUuid;
17
18
  import android.util.Log;
18
19
 
19
- import androidx.annotation.RequiresApi;
20
20
  import androidx.core.app.ActivityCompat;
21
21
 
22
22
  import com.facebook.react.bridge.Arguments;
@@ -29,13 +29,14 @@ import com.facebook.react.bridge.WritableMap;
29
29
  import java.util.ArrayList;
30
30
  import java.util.List;
31
31
 
32
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
33
- public class LollipopScanManager extends ScanManager {
32
+ @SuppressLint("MissingPermission")
33
+ public class DefaultScanManager extends ScanManager {
34
34
 
35
- public LollipopScanManager(ReactApplicationContext reactContext, BleManager bleManager) {
35
+ public DefaultScanManager(ReactApplicationContext reactContext, BleManager bleManager) {
36
36
  super(reactContext, bleManager);
37
37
  }
38
38
 
39
+
39
40
  @Override
40
41
  public void stopScan(Callback callback) {
41
42
  // update scanSessionId to prevent stopping next scan by running timeout thread
@@ -103,7 +104,7 @@ public class LollipopScanManager extends ScanManager {
103
104
 
104
105
  if (scanSeconds > 0) {
105
106
  Thread thread = new Thread() {
106
- private int currentScanSession = scanSessionId.incrementAndGet();
107
+ private final int currentScanSession = scanSessionId.incrementAndGet();
107
108
 
108
109
  @Override
109
110
  public void run() {
@@ -153,9 +154,9 @@ public class LollipopScanManager extends ScanManager {
153
154
 
154
155
  Log.i(BleManager.LOG_TAG, "DiscoverPeripheral: " + info);
155
156
 
156
- LollipopPeripheral peripheral = (LollipopPeripheral) bleManager.getPeripheral(result.getDevice());
157
+ DefaultPeripheral peripheral = (DefaultPeripheral) bleManager.getPeripheral(result.getDevice());
157
158
  if (peripheral == null) {
158
- peripheral = new LollipopPeripheral(bleManager.getReactContext(), result);
159
+ peripheral = new DefaultPeripheral(bleManager.getReactContext(), result);
159
160
  } else {
160
161
  peripheral.updateData(result);
161
162
  peripheral.updateRssi(result.getRssi());
@@ -4,7 +4,6 @@ import android.bluetooth.BluetoothGattCharacteristic;
4
4
  import android.bluetooth.BluetoothGattDescriptor;
5
5
  import com.facebook.react.bridge.Arguments;
6
6
  import com.facebook.react.bridge.WritableMap;
7
- import org.json.JSONArray;
8
7
 
9
8
  public class Helper {
10
9
 
@@ -1,8 +1,8 @@
1
1
  package it.innove;
2
2
 
3
- import static android.os.Build.VERSION_CODES.LOLLIPOP;
4
3
  import static com.facebook.react.common.ReactConstants.TAG;
5
4
 
5
+ import android.annotation.SuppressLint;
6
6
  import android.app.Activity;
7
7
  import android.bluetooth.BluetoothDevice;
8
8
  import android.bluetooth.BluetoothGatt;
@@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
23
23
  import com.facebook.react.bridge.Arguments;
24
24
  import com.facebook.react.bridge.Callback;
25
25
  import com.facebook.react.bridge.ReactContext;
26
+ import com.facebook.react.bridge.ReadableMap;
26
27
  import com.facebook.react.bridge.WritableArray;
27
28
  import com.facebook.react.bridge.WritableMap;
28
29
  import com.facebook.react.modules.core.RCTNativeAppEventEmitter;
@@ -44,6 +45,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
44
45
  /**
45
46
  * Peripheral wraps the BluetoothDevice and provides methods to convert to JSON.
46
47
  */
48
+ @SuppressLint("MissingPermission")
47
49
  public class Peripheral extends BluetoothGattCallback {
48
50
 
49
51
  private static final String CHARACTERISTIC_NOTIFICATION_CONFIG = "00002902-0000-1000-8000-00805f9b34fb";
@@ -106,7 +108,7 @@ public class Peripheral extends BluetoothGattCallback {
106
108
  Log.d(BleManager.LOG_TAG, "Peripheral event (" + eventName + "):" + device.getAddress());
107
109
  }
108
110
 
109
- public void connect(final Callback callback, Activity activity) {
111
+ public void connect(final Callback callback, Activity activity, ReadableMap options) {
110
112
  mainHandler.post(() -> {
111
113
  if (!connected) {
112
114
  BluetoothDevice device = getDevice();
@@ -114,7 +116,16 @@ public class Peripheral extends BluetoothGattCallback {
114
116
  this.connecting = true;
115
117
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
116
118
  Log.d(BleManager.LOG_TAG, " Is Or Greater than M $mBluetoothDevice");
117
- gatt = device.connectGatt(activity, false, this, BluetoothDevice.TRANSPORT_LE);
119
+ boolean autoconnect = false;
120
+ if (options.hasKey("autoconnect")) {
121
+ autoconnect = options.getBoolean("autoconnect");
122
+ }
123
+ if (!autoconnect && options.hasKey("phy")) {
124
+ int phy = options.getInt("phy");
125
+ gatt = device.connectGatt(activity, false, this, BluetoothDevice.TRANSPORT_LE, phy);
126
+ } else {
127
+ gatt = device.connectGatt(activity, autoconnect, this, BluetoothDevice.TRANSPORT_LE);
128
+ }
118
129
  } else {
119
130
  Log.d(BleManager.LOG_TAG, " Less than M");
120
131
  try {
@@ -1071,12 +1082,8 @@ public class Peripheral extends BluetoothGattCallback {
1071
1082
  public void requestConnectionPriority(int connectionPriority, Callback callback) {
1072
1083
  enqueue(() -> {
1073
1084
  if (gatt != null) {
1074
- if (Build.VERSION.SDK_INT >= LOLLIPOP) {
1075
- boolean status = gatt.requestConnectionPriority(connectionPriority);
1076
- callback.invoke(null, status);
1077
- } else {
1078
- callback.invoke("Requesting connection priority requires at least API level 21", null);
1079
- }
1085
+ boolean status = gatt.requestConnectionPriority(connectionPriority);
1086
+ callback.invoke(null, status);
1080
1087
  } else {
1081
1088
  callback.invoke("BluetoothGatt is null", null);
1082
1089
  }
@@ -1099,17 +1106,12 @@ public class Peripheral extends BluetoothGattCallback {
1099
1106
  return;
1100
1107
  }
1101
1108
 
1102
- if (Build.VERSION.SDK_INT >= LOLLIPOP) {
1103
- requestMTUCallbacks.addLast(callback);
1104
- if (!gatt.requestMtu(mtu)) {
1105
- for (Callback requestMTUCallback : requestMTUCallbacks) {
1106
- requestMTUCallback.invoke("Request MTU failed", null);
1107
- }
1108
- requestMTUCallbacks.clear();
1109
- completedCommand();
1109
+ requestMTUCallbacks.addLast(callback);
1110
+ if (!gatt.requestMtu(mtu)) {
1111
+ for (Callback requestMTUCallback : requestMTUCallbacks) {
1112
+ requestMTUCallback.invoke("Request MTU failed", null);
1110
1113
  }
1111
- } else {
1112
- callback.invoke("Requesting MTU requires at least API level 21", null);
1114
+ requestMTUCallbacks.clear();
1113
1115
  completedCommand();
1114
1116
  }
1115
1117
  });
@@ -1,4 +1,4 @@
1
- import { BleState, ConnectionPriority, Peripheral, PeripheralInfo, ScanOptions, StartOptions } from './types';
1
+ import { BleState, ConnectOptions, ConnectionPriority, Peripheral, PeripheralInfo, ScanOptions, StartOptions } from './types';
2
2
  export * from './types';
3
3
  declare class BleManager {
4
4
  constructor();
@@ -59,7 +59,7 @@ declare class BleManager {
59
59
  * @returns
60
60
  */
61
61
  writeWithoutResponse(peripheralId: string, serviceUUID: string, characteristicUUID: string, data: number[], maxByteSize?: number, queueSleepTime?: number): Promise<void>;
62
- connect(peripheralId: string): Promise<void>;
62
+ connect(peripheralId: string, options?: ConnectOptions): Promise<void>;
63
63
  /**
64
64
  * [Android only]
65
65
  * @param peripheralId
@@ -151,6 +151,18 @@ declare class BleManager {
151
151
  * @param name
152
152
  */
153
153
  setName(name: string): void;
154
+ /**
155
+ * [iOS only]
156
+ * @param peripheralId
157
+ * @returns
158
+ */
159
+ getMaximumWriteValueLengthForWithoutResponse(peripheralId: string): Promise<number>;
160
+ /**
161
+ * [iOS only]
162
+ * @param peripheralId
163
+ * @returns
164
+ */
165
+ getMaximumWriteValueLengthForWithResponse(peripheralId: string): Promise<number>;
154
166
  }
155
167
  declare const _default: BleManager;
156
168
  export default _default;
package/dist/cjs/index.js CHANGED
@@ -156,9 +156,12 @@ class BleManager {
156
156
  });
157
157
  });
158
158
  }
159
- connect(peripheralId) {
159
+ connect(peripheralId, options) {
160
160
  return new Promise((fulfill, reject) => {
161
- bleManager.connect(peripheralId, (error) => {
161
+ if (!options) {
162
+ options = {};
163
+ }
164
+ bleManager.connect(peripheralId, options, (error) => {
162
165
  if (error) {
163
166
  reject(error);
164
167
  }
@@ -502,6 +505,40 @@ class BleManager {
502
505
  setName(name) {
503
506
  bleManager.setName(name);
504
507
  }
508
+ /**
509
+ * [iOS only]
510
+ * @param peripheralId
511
+ * @returns
512
+ */
513
+ getMaximumWriteValueLengthForWithoutResponse(peripheralId) {
514
+ return new Promise((fulfill, reject) => {
515
+ bleManager.getMaximumWriteValueLengthForWithoutResponse(peripheralId, (error, max) => {
516
+ if (error) {
517
+ reject(error);
518
+ }
519
+ else {
520
+ fulfill(max);
521
+ }
522
+ });
523
+ });
524
+ }
525
+ /**
526
+ * [iOS only]
527
+ * @param peripheralId
528
+ * @returns
529
+ */
530
+ getMaximumWriteValueLengthForWithResponse(peripheralId) {
531
+ return new Promise((fulfill, reject) => {
532
+ bleManager.getMaximumWriteValueLengthForWithResponse(peripheralId, (error, max) => {
533
+ if (error) {
534
+ reject(error);
535
+ }
536
+ else {
537
+ fulfill(max);
538
+ }
539
+ });
540
+ });
541
+ }
505
542
  }
506
543
  exports.default = new BleManager();
507
544
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export interface AdvertisingData {
42
42
  txPowerLevel?: number;
43
43
  }
44
44
  export interface CustomAdvertisingData {
45
- CDVType: 'ArrayBuffer';
45
+ CDVType: "ArrayBuffer";
46
46
  /**
47
47
  * data as an array of numbers (which can be converted back to a Uint8Array (ByteArray),
48
48
  * using something like [Buffer.from()](https://github.com/feross/buffer))
@@ -71,6 +71,16 @@ export interface StartOptions {
71
71
  */
72
72
  forceLegacy?: boolean;
73
73
  }
74
+ export interface ConnectOptions {
75
+ /**
76
+ * [android only]
77
+ */
78
+ autoconnect?: boolean;
79
+ /**
80
+ * [android only]
81
+ */
82
+ phy?: BleScanPhyMode;
83
+ }
74
84
  /**
75
85
  * [android only]
76
86
  * https://developer.android.com/reference/android/bluetooth/le/ScanSettings
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA;;;KAGK;AACL,IAAY,QAwBX;AAxBD,WAAY,QAAQ;IAClB;;OAEG;IACH,+BAAmB,CAAA;IACnB;;OAEG;IACH,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B;;OAEG;IACH,yCAA6B,CAAA;IAC7B,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX;;OAEG;IACH,oCAAwB,CAAA;IACxB;;OAEG;IACH,sCAA0B,CAAA;AAC5B,CAAC,EAxBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAwBnB;AAsGD;;GAEG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gEAAkB,CAAA;IAClB,qDAAY,CAAA;IACZ,qDAAY,CAAA;IACZ,yDAAc,CAAA;AAChB,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED;;GAEG;AACH,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mEAAc,CAAA;IACd,2DAAU,CAAA;AACZ,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED;;GAEG;AACH,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,yEAAc,CAAA;IACd,yEAAc,CAAA;IACd,uEAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AAED;;GAEG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iFAAoB,CAAA;IACpB,mFAAqB,CAAA;IACrB,mFAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AAED;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,qDAAS,CAAA;IACT,2DAAY,CAAA;IACZ,uEAAmB,CAAA;AACrB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAED;;GAEG;AACH,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mEAAY,CAAA;IACZ,2DAAQ,CAAA;IACR,yDAAO,CAAA;AACT,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAuCD,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,yDAAyC,CAAA;IACzC,6EAA6D,CAAA;IAC7D,uGAAuF,CAAA;IACvF,2EAA2D,CAAA;IAC3D,iFAAiE,CAAA;IACjE;;OAEG;IACH,2EAA2D,CAAA;IAC3D;;OAEG;IACH,qGAAqF,CAAA;IACrF;;OAEG;IACH,mGAAmF,CAAA;AACrF,CAAC,EAnBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAmBvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA;;;KAGK;AACL,IAAY,QAwBX;AAxBD,WAAY,QAAQ;IAClB;;OAEG;IACH,+BAAmB,CAAA;IACnB;;OAEG;IACH,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B;;OAEG;IACH,yCAA6B,CAAA;IAC7B,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX;;OAEG;IACH,oCAAwB,CAAA;IACxB;;OAEG;IACH,sCAA0B,CAAA;AAC5B,CAAC,EAxBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAwBnB;AAiHD;;GAEG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gEAAkB,CAAA;IAClB,qDAAY,CAAA;IACZ,qDAAY,CAAA;IACZ,yDAAc,CAAA;AAChB,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED;;GAEG;AACH,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mEAAc,CAAA;IACd,2DAAU,CAAA;AACZ,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED;;GAEG;AACH,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,yEAAc,CAAA;IACd,yEAAc,CAAA;IACd,uEAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AAED;;GAEG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iFAAoB,CAAA;IACpB,mFAAqB,CAAA;IACrB,mFAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AAED;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,qDAAS,CAAA;IACT,2DAAY,CAAA;IACZ,uEAAmB,CAAA;AACrB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAED;;GAEG;AACH,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mEAAY,CAAA;IACZ,2DAAQ,CAAA;IACR,yDAAO,CAAA;AACT,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAsCD,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,yDAAyC,CAAA;IACzC,6EAA6D,CAAA;IAC7D,uGAAuF,CAAA;IACvF,2EAA2D,CAAA;IAC3D,iFAAiE,CAAA;IACjE;;OAEG;IACH,2EAA2D,CAAA;IAC3D;;OAEG;IACH,qGAAqF,CAAA;IACrF;;OAEG;IACH,mGAAmF,CAAA;AACrF,CAAC,EAnBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAmBvB"}
@@ -1,4 +1,4 @@
1
- import { BleState, ConnectionPriority, Peripheral, PeripheralInfo, ScanOptions, StartOptions } from './types';
1
+ import { BleState, ConnectOptions, ConnectionPriority, Peripheral, PeripheralInfo, ScanOptions, StartOptions } from './types';
2
2
  export * from './types';
3
3
  declare class BleManager {
4
4
  constructor();
@@ -59,7 +59,7 @@ declare class BleManager {
59
59
  * @returns
60
60
  */
61
61
  writeWithoutResponse(peripheralId: string, serviceUUID: string, characteristicUUID: string, data: number[], maxByteSize?: number, queueSleepTime?: number): Promise<void>;
62
- connect(peripheralId: string): Promise<void>;
62
+ connect(peripheralId: string, options?: ConnectOptions): Promise<void>;
63
63
  /**
64
64
  * [Android only]
65
65
  * @param peripheralId
@@ -151,6 +151,18 @@ declare class BleManager {
151
151
  * @param name
152
152
  */
153
153
  setName(name: string): void;
154
+ /**
155
+ * [iOS only]
156
+ * @param peripheralId
157
+ * @returns
158
+ */
159
+ getMaximumWriteValueLengthForWithoutResponse(peripheralId: string): Promise<number>;
160
+ /**
161
+ * [iOS only]
162
+ * @param peripheralId
163
+ * @returns
164
+ */
165
+ getMaximumWriteValueLengthForWithResponse(peripheralId: string): Promise<number>;
154
166
  }
155
167
  declare const _default: BleManager;
156
168
  export default _default;
package/dist/esm/index.js CHANGED
@@ -140,9 +140,12 @@ class BleManager {
140
140
  });
141
141
  });
142
142
  }
143
- connect(peripheralId) {
143
+ connect(peripheralId, options) {
144
144
  return new Promise((fulfill, reject) => {
145
- bleManager.connect(peripheralId, (error) => {
145
+ if (!options) {
146
+ options = {};
147
+ }
148
+ bleManager.connect(peripheralId, options, (error) => {
146
149
  if (error) {
147
150
  reject(error);
148
151
  }
@@ -486,6 +489,40 @@ class BleManager {
486
489
  setName(name) {
487
490
  bleManager.setName(name);
488
491
  }
492
+ /**
493
+ * [iOS only]
494
+ * @param peripheralId
495
+ * @returns
496
+ */
497
+ getMaximumWriteValueLengthForWithoutResponse(peripheralId) {
498
+ return new Promise((fulfill, reject) => {
499
+ bleManager.getMaximumWriteValueLengthForWithoutResponse(peripheralId, (error, max) => {
500
+ if (error) {
501
+ reject(error);
502
+ }
503
+ else {
504
+ fulfill(max);
505
+ }
506
+ });
507
+ });
508
+ }
509
+ /**
510
+ * [iOS only]
511
+ * @param peripheralId
512
+ * @returns
513
+ */
514
+ getMaximumWriteValueLengthForWithResponse(peripheralId) {
515
+ return new Promise((fulfill, reject) => {
516
+ bleManager.getMaximumWriteValueLengthForWithResponse(peripheralId, (error, max) => {
517
+ if (error) {
518
+ reject(error);
519
+ }
520
+ else {
521
+ fulfill(max);
522
+ }
523
+ });
524
+ });
525
+ }
489
526
  }
490
527
  export default new BleManager();
491
528
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export interface AdvertisingData {
42
42
  txPowerLevel?: number;
43
43
  }
44
44
  export interface CustomAdvertisingData {
45
- CDVType: 'ArrayBuffer';
45
+ CDVType: "ArrayBuffer";
46
46
  /**
47
47
  * data as an array of numbers (which can be converted back to a Uint8Array (ByteArray),
48
48
  * using something like [Buffer.from()](https://github.com/feross/buffer))
@@ -71,6 +71,16 @@ export interface StartOptions {
71
71
  */
72
72
  forceLegacy?: boolean;
73
73
  }
74
+ export interface ConnectOptions {
75
+ /**
76
+ * [android only]
77
+ */
78
+ autoconnect?: boolean;
79
+ /**
80
+ * [android only]
81
+ */
82
+ phy?: BleScanPhyMode;
83
+ }
74
84
  /**
75
85
  * [android only]
76
86
  * https://developer.android.com/reference/android/bluetooth/le/ScanSettings
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;KAGK;AACL,MAAM,CAAN,IAAY,QAwBX;AAxBD,WAAY,QAAQ;IAClB;;OAEG;IACH,+BAAmB,CAAA;IACnB;;OAEG;IACH,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B;;OAEG;IACH,yCAA6B,CAAA;IAC7B,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX;;OAEG;IACH,oCAAwB,CAAA;IACxB;;OAEG;IACH,sCAA0B,CAAA;AAC5B,CAAC,EAxBW,QAAQ,KAAR,QAAQ,QAwBnB;AAsGD;;GAEG;AACH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gEAAkB,CAAA;IAClB,qDAAY,CAAA;IACZ,qDAAY,CAAA;IACZ,yDAAc,CAAA;AAChB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mEAAc,CAAA;IACd,2DAAU,CAAA;AACZ,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,yEAAc,CAAA;IACd,yEAAc,CAAA;IACd,uEAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iFAAoB,CAAA;IACpB,mFAAqB,CAAA;IACrB,mFAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,qDAAS,CAAA;IACT,2DAAY,CAAA;IACZ,uEAAmB,CAAA;AACrB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mEAAY,CAAA;IACZ,2DAAQ,CAAA;IACR,yDAAO,CAAA;AACT,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAuCD,MAAM,CAAN,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,yDAAyC,CAAA;IACzC,6EAA6D,CAAA;IAC7D,uGAAuF,CAAA;IACvF,2EAA2D,CAAA;IAC3D,iFAAiE,CAAA;IACjE;;OAEG;IACH,2EAA2D,CAAA;IAC3D;;OAEG;IACH,qGAAqF,CAAA;IACrF;;OAEG;IACH,mGAAmF,CAAA;AACrF,CAAC,EAnBW,YAAY,KAAZ,YAAY,QAmBvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;KAGK;AACL,MAAM,CAAN,IAAY,QAwBX;AAxBD,WAAY,QAAQ;IAClB;;OAEG;IACH,+BAAmB,CAAA;IACnB;;OAEG;IACH,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B;;OAEG;IACH,yCAA6B,CAAA;IAC7B,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX;;OAEG;IACH,oCAAwB,CAAA;IACxB;;OAEG;IACH,sCAA0B,CAAA;AAC5B,CAAC,EAxBW,QAAQ,KAAR,QAAQ,QAwBnB;AAiHD;;GAEG;AACH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gEAAkB,CAAA;IAClB,qDAAY,CAAA;IACZ,qDAAY,CAAA;IACZ,yDAAc,CAAA;AAChB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mEAAc,CAAA;IACd,2DAAU,CAAA;AACZ,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,yEAAc,CAAA;IACd,yEAAc,CAAA;IACd,uEAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iFAAoB,CAAA;IACpB,mFAAqB,CAAA;IACrB,mFAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,qDAAS,CAAA;IACT,2DAAY,CAAA;IACZ,uEAAmB,CAAA;AACrB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mEAAY,CAAA;IACZ,2DAAQ,CAAA;IACR,yDAAO,CAAA;AACT,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAsCD,MAAM,CAAN,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,yDAAyC,CAAA;IACzC,6EAA6D,CAAA;IAC7D,uGAAuF,CAAA;IACvF,2EAA2D,CAAA;IAC3D,iFAAiE,CAAA;IACjE;;OAEG;IACH,2EAA2D,CAAA;IAC3D;;OAEG;IACH,qGAAqF,CAAA;IACrF;;OAEG;IACH,mGAAmF,CAAA;AACrF,CAAC,EAnBW,YAAY,KAAZ,YAAY,QAmBvB"}
package/ios/BleManager.m CHANGED
@@ -452,7 +452,7 @@ RCT_EXPORT_METHOD(stopScan:(nonnull RCTResponseSenderBlock)callback)
452
452
  }
453
453
  }
454
454
 
455
- RCT_EXPORT_METHOD(connect:(NSString *)peripheralUUID callback:(nonnull RCTResponseSenderBlock)callback)
455
+ RCT_EXPORT_METHOD(connect:(NSString *)peripheralUUID options:(NSDictionary *)options callback:(nonnull RCTResponseSenderBlock)callback)
456
456
  {
457
457
  NSLog(@"Connect");
458
458
  CBPeripheral *peripheral = [self findPeripheralByUUID:peripheralUUID];
@@ -654,6 +654,39 @@ RCT_EXPORT_METHOD(read:(NSString *)deviceUUID serviceUUID:(NSString*)serviceUUID
654
654
 
655
655
  }
656
656
 
657
+ RCT_EXPORT_METHOD(getMaximumWriteValueLengthForWithResponse:(NSString *)deviceUUID callback:(nonnull RCTResponseSenderBlock)callback)
658
+ {
659
+ NSLog(@"getMaximumWriteValueLengthForWithResponse");
660
+
661
+ CBPeripheral *peripheral = [self findPeripheralByUUID:deviceUUID];
662
+
663
+ if (peripheral && peripheral.state == CBPeripheralStateConnected) {
664
+ [self insertCallback:callback intoDictionary:readRSSICallbacks withKey:[peripheral uuidAsString]];
665
+ NSNumber *max = [NSNumber numberWithInteger:[peripheral maximumWriteValueLengthForType:(CBCharacteristicWriteWithResponse)]];
666
+ callback(@[[NSNull null], max]);
667
+ } else {
668
+ callback(@[@"Peripheral not found or not connected"]);
669
+ }
670
+
671
+ }
672
+
673
+ RCT_EXPORT_METHOD(getMaximumWriteValueLengthForWithoutResponse:(NSString *)deviceUUID callback:(nonnull RCTResponseSenderBlock)callback)
674
+ {
675
+ NSLog(@"getMaximumWriteValueLengthForWithoutResponse");
676
+
677
+ CBPeripheral *peripheral = [self findPeripheralByUUID:deviceUUID];
678
+
679
+ if (peripheral && peripheral.state == CBPeripheralStateConnected) {
680
+ [self insertCallback:callback intoDictionary:readRSSICallbacks withKey:[peripheral uuidAsString]];
681
+ NSNumber *max = [NSNumber numberWithInteger:[peripheral maximumWriteValueLengthForType:(CBCharacteristicPropertyWriteWithoutResponse)]];
682
+ callback(@[[NSNull null], max]);
683
+ } else {
684
+ callback(@[@"Peripheral not found or not connected"]);
685
+ }
686
+
687
+ }
688
+
689
+
657
690
  RCT_EXPORT_METHOD(readRSSI:(NSString *)deviceUUID callback:(nonnull RCTResponseSenderBlock)callback)
658
691
  {
659
692
  NSLog(@"readRSSI");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-ble-manager",
3
- "version": "10.0.2",
3
+ "version": "10.1.0",
4
4
  "description": "A BLE module for react native.",
5
5
  "repository": {
6
6
  "type": "git",
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ import {
5
5
  BleScanMatchMode,
6
6
  BleScanMode,
7
7
  BleState,
8
+ ConnectOptions,
8
9
  ConnectionPriority,
9
10
  Peripheral,
10
11
  PeripheralInfo,
@@ -200,9 +201,12 @@ class BleManager {
200
201
  });
201
202
  }
202
203
 
203
- connect(peripheralId: string) {
204
+ connect(peripheralId: string, options?: ConnectOptions) {
204
205
  return new Promise<void>((fulfill, reject) => {
205
- bleManager.connect(peripheralId, (error: string | null) => {
206
+ if (!options) {
207
+ options = {};
208
+ }
209
+ bleManager.connect(peripheralId, options, (error: string | null) => {
206
210
  if (error) {
207
211
  reject(error);
208
212
  } else {
@@ -590,6 +594,43 @@ class BleManager {
590
594
  setName(name: string) {
591
595
  bleManager.setName(name);
592
596
  }
597
+
598
+ /**
599
+ * [iOS only]
600
+ * @param peripheralId
601
+ * @returns
602
+ */
603
+ getMaximumWriteValueLengthForWithoutResponse(peripheralId: string) {
604
+ return new Promise<number>((fulfill, reject) => {
605
+ bleManager.getMaximumWriteValueLengthForWithoutResponse(peripheralId, (error: string | null, max: number) => {
606
+ if (error) {
607
+ reject(error);
608
+ } else {
609
+ fulfill(max);
610
+ }
611
+ });
612
+ });
613
+ }
614
+
615
+ /**
616
+ * [iOS only]
617
+ * @param peripheralId
618
+ * @returns
619
+ */
620
+ getMaximumWriteValueLengthForWithResponse(peripheralId: string) {
621
+ return new Promise<number>((fulfill, reject) => {
622
+ bleManager.getMaximumWriteValueLengthForWithResponse(peripheralId, (error: string | null, max: number) => {
623
+ if (error) {
624
+ reject(error);
625
+ } else {
626
+ fulfill(max);
627
+ }
628
+ });
629
+ });
630
+ }
631
+
593
632
  }
594
633
 
634
+
635
+
595
636
  export default new BleManager();
package/src/types.ts CHANGED
@@ -6,26 +6,26 @@ export enum BleState {
6
6
  /**
7
7
  * [iOS only]
8
8
  */
9
- Unknown = 'unknown',
9
+ Unknown = "unknown",
10
10
  /**
11
11
  * [iOS only]
12
12
  */
13
- Resetting = 'resetting',
14
- Unsupported = 'unsupported',
13
+ Resetting = "resetting",
14
+ Unsupported = "unsupported",
15
15
  /**
16
16
  * [iOS only]
17
17
  */
18
- Unauthorized = 'unauthorized',
19
- On = 'on',
20
- Off = 'off',
18
+ Unauthorized = "unauthorized",
19
+ On = "on",
20
+ Off = "off",
21
21
  /**
22
22
  * [android only]
23
23
  */
24
- TurningOn = 'turning_on',
24
+ TurningOn = "turning_on",
25
25
  /**
26
26
  * [android only]
27
- */
28
- TurningOff = 'turning_off',
27
+ */
28
+ TurningOff = "turning_off",
29
29
  }
30
30
 
31
31
  export interface Peripheral {
@@ -38,23 +38,23 @@ export interface Peripheral {
38
38
  export interface AdvertisingData {
39
39
  isConnectable?: boolean;
40
40
  localName?: string;
41
- manufacturerData?: CustomAdvertisingData,
42
- serviceData?: CustomAdvertisingData,
41
+ manufacturerData?: CustomAdvertisingData;
42
+ serviceData?: CustomAdvertisingData;
43
43
  serviceUUIDs?: string[];
44
44
  txPowerLevel?: number;
45
45
  }
46
46
 
47
47
  export interface CustomAdvertisingData {
48
- CDVType: 'ArrayBuffer',
48
+ CDVType: "ArrayBuffer";
49
49
  /**
50
50
  * data as an array of numbers (which can be converted back to a Uint8Array (ByteArray),
51
51
  * using something like [Buffer.from()](https://github.com/feross/buffer))
52
52
  */
53
- bytes: number[],
53
+ bytes: number[];
54
54
  /**
55
55
  * base64-encoded string of the data
56
56
  */
57
- data: string
57
+ data: string;
58
58
  }
59
59
 
60
60
  export interface StartOptions {
@@ -76,21 +76,32 @@ export interface StartOptions {
76
76
  forceLegacy?: boolean;
77
77
  }
78
78
 
79
+ export interface ConnectOptions {
80
+ /**
81
+ * [android only]
82
+ */
83
+ autoconnect?: boolean;
84
+ /**
85
+ * [android only]
86
+ */
87
+ phy?: BleScanPhyMode;
88
+ }
89
+
79
90
  /**
80
91
  * [android only]
81
92
  * https://developer.android.com/reference/android/bluetooth/le/ScanSettings
82
- */
93
+ */
83
94
  export interface ScanOptions {
84
- /**
95
+ /**
85
96
  * This will only works if a ScanFilter is active. Otherwise, may not retrieve any result.
86
- * See https://developer.android.com/reference/android/bluetooth/le/ScanSettings#MATCH_NUM_FEW_ADVERTISEMENT.
97
+ * See https://developer.android.com/reference/android/bluetooth/le/ScanSettings#MATCH_NUM_FEW_ADVERTISEMENT.
87
98
  * */
88
99
  numberOfMatches?: BleScanMatchCount;
89
100
  matchMode?: BleScanMatchMode;
90
- /**
101
+ /**
91
102
  * This will only works if a ScanFilter is active. Otherwise, may not retrieve any result.
92
103
  * See https://developer.android.com/reference/android/bluetooth/le/ScanSettings#CALLBACK_TYPE_FIRST_MATCH.
93
- * Also read [this issue](https://github.com/dariuszseweryn/RxAndroidBle/issues/561#issuecomment-532295346) for a deeper understanding
104
+ * Also read [this issue](https://github.com/dariuszseweryn/RxAndroidBle/issues/561#issuecomment-532295346) for a deeper understanding
94
105
  * of the very brittle stability of ScanSettings on android.
95
106
  * */
96
107
  callbackType?: BleScanCallbackType;
@@ -111,7 +122,7 @@ export interface ScanOptions {
111
122
  */
112
123
  phy?: BleScanPhyMode;
113
124
  /**
114
- * true by default for compatibility with older apps.
125
+ * true by default for compatibility with older apps.
115
126
  * In that mode, scan will only retrieve advertisements data as specified by BLE 4.2 and below.
116
127
  * Change this if you want to benefit from the extended BLE 5 advertisement spec.
117
128
  * https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder#setLegacy(boolean)
@@ -120,7 +131,7 @@ export interface ScanOptions {
120
131
  /**
121
132
  * an android ScanFilter, used if present to restrict scan results to devices with a specific advertising name.
122
133
  * This is a whole word match, not a partial search.
123
- * Use with caution, it's behavior is tricky and seems to be the following:
134
+ * Use with caution, it's behavior is tricky and seems to be the following:
124
135
  * if `callbackType` is set to `AllMatches`, only the completeLocalName will be used for filtering.
125
136
  * if `callbackType` is set to `FirstMatch`, the shortenedLocalName will be used for filtering.
126
137
  * https://developer.android.com/reference/android/bluetooth/le/ScanFilter.Builder#setDeviceName(java.lang.String)
@@ -207,11 +218,10 @@ export interface Characteristic {
207
218
  ExtendedProperties?: "ExtendedProperties";
208
219
  NotifyEncryptionRequired?: "NotifyEncryptionRequired";
209
220
  IndicateEncryptionRequired?: "IndicateEncryptionRequired";
210
- }
221
+ };
211
222
  characteristic: string;
212
223
  service: string;
213
224
  descriptors?: Descriptor[];
214
-
215
225
  }
216
226
 
217
227
  export interface PeripheralInfo extends Peripheral {
@@ -221,24 +231,24 @@ export interface PeripheralInfo extends Peripheral {
221
231
  }
222
232
 
223
233
  export enum BleEventType {
224
- BleManagerDidUpdateState = 'BleManagerDidUpdateState',
225
- BleManagerStopScan = 'BleManagerStopScan',
226
- BleManagerDiscoverPeripheral = 'BleManagerDiscoverPeripheral',
227
- BleManagerDidUpdateValueForCharacteristic = 'BleManagerDidUpdateValueForCharacteristic',
228
- BleManagerConnectPeripheral = 'BleManagerConnectPeripheral',
229
- BleManagerDisconnectPeripheral = 'BleManagerDisconnectPeripheral',
234
+ BleManagerDidUpdateState = "BleManagerDidUpdateState",
235
+ BleManagerStopScan = "BleManagerStopScan",
236
+ BleManagerDiscoverPeripheral = "BleManagerDiscoverPeripheral",
237
+ BleManagerDidUpdateValueForCharacteristic = "BleManagerDidUpdateValueForCharacteristic",
238
+ BleManagerConnectPeripheral = "BleManagerConnectPeripheral",
239
+ BleManagerDisconnectPeripheral = "BleManagerDisconnectPeripheral",
230
240
  /**
231
241
  * [Android only]
232
242
  */
233
- BleManagerPeripheralDidBond = 'BleManagerPeripheralDidBond',
243
+ BleManagerPeripheralDidBond = "BleManagerPeripheralDidBond",
234
244
  /**
235
245
  * [iOS only]
236
246
  */
237
- BleManagerCentralManagerWillRestoreState = 'BleManagerCentralManagerWillRestoreState',
247
+ BleManagerCentralManagerWillRestoreState = "BleManagerCentralManagerWillRestoreState",
238
248
  /**
239
249
  * [iOS only]
240
250
  */
241
- BleManagerDidUpdateNotificationStateFor = 'BleManagerDidUpdateNotificationStateFor',
251
+ BleManagerDidUpdateNotificationStateFor = "BleManagerDidUpdateNotificationStateFor",
242
252
  }
243
253
 
244
254
  export interface BleStopScanEvent {
@@ -303,7 +313,7 @@ export interface BleManagerDidUpdateValueForCharacteristicEvent {
303
313
  */
304
314
  readonly service: string;
305
315
  /**
306
- * data as an array of numbers (which can be converted back to a Uint8Array (ByteArray),
316
+ * data as an array of numbers (which can be converted back to a Uint8Array (ByteArray),
307
317
  * using something like [Buffer.from()](https://github.com/feross/buffer))
308
318
  */
309
319
  readonly value: number[];
@@ -333,4 +343,4 @@ export interface BleManagerDidUpdateNotificationStateForEvent {
333
343
  * error code
334
344
  */
335
345
  readonly code: number;
336
- }
346
+ }
@@ -1,47 +0,0 @@
1
- package it.innove;
2
-
3
- import java.util.UUID;
4
-
5
- class BLECommand {
6
- // Types
7
- public static int READ = 10000;
8
- public static int REGISTER_NOTIFY = 10001;
9
- public static int REMOVE_NOTIFY = 10002;
10
- // BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
11
- // BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT
12
-
13
- private UUID serviceUUID;
14
- private UUID characteristicUUID;
15
- private byte[] data;
16
- private int type;
17
-
18
-
19
- public BLECommand(UUID serviceUUID, UUID characteristicUUID, int type) {
20
- this.serviceUUID = serviceUUID;
21
- this.characteristicUUID = characteristicUUID;
22
- this.type = type;
23
- }
24
-
25
- public BLECommand(UUID serviceUUID, UUID characteristicUUID, byte[] data, int type) {
26
- this.serviceUUID = serviceUUID;
27
- this.characteristicUUID = characteristicUUID;
28
- this.data = data;
29
- this.type = type;
30
- }
31
-
32
- public int getType() {
33
- return type;
34
- }
35
-
36
- public UUID getServiceUUID() {
37
- return serviceUUID;
38
- }
39
-
40
- public UUID getCharacteristicUUID() {
41
- return characteristicUUID;
42
- }
43
-
44
- public byte[] getData() {
45
- return data;
46
- }
47
- }