diff --git a/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt b/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt index c3d7c02..e594e29 100644 --- a/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt +++ b/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt @@ -1,5 +1,8 @@ package com.reactnativebledidcomm +import android.bluetooth.BluetoothAdapter +import android.bluetooth.BluetoothManager +import android.content.Context import androidx.annotation.RequiresPermission import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext @@ -16,11 +19,24 @@ class BleDidcommModule(private val context: ReactApplicationContext) : ReactContextBaseJavaModule(context) { private var centralManager: CentralManager? = null private var peripheralManager: PeripheralManager? = null + private val bluetoothAdapter = (context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager).adapter override fun getName(): String { return Constants.TAG } + @ReactMethod + fun isBleEnabled( + @Suppress("UNUSED_PARAMETER") options: ReadableMap, + promise: Promise, + ) { + try { + promise.resolve(bluetoothAdapter.state == BluetoothAdapter.STATE_ON) + } catch (e: Exception) { + promise.reject("error", e) + } + } + @ReactMethod fun startCentral( @Suppress("UNUSED_PARAMETER") options: ReadableMap, diff --git a/example/src/App.tsx b/example/src/App.tsx index fff68f7..b1335d9 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -9,6 +9,7 @@ import { } from 'react-native' import { Central } from './Central' import { Peripheral } from './Peripheral' +import { isBleEnabled } from '@animo-id/react-native-ble-didcomm' export const Spacer = () => @@ -37,6 +38,10 @@ export default function App() { {isCentral ? 'central' : isPeripheral ? 'peripheral' : 'none'} +