react-native-flic2 2.0.0-beta.2 → 2.0.0-beta.4

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
@@ -66,6 +66,65 @@ The library automatically includes the necessary permissions in `AndroidManifest
66
66
 
67
67
  You'll need to request these permissions before scanning for buttons. Use a library like `react-native-permissions` or implement permission requests manually.
68
68
 
69
+ #### Customizing the Foreground Service Notification (Android)
70
+
71
+ The library runs a foreground service to keep Flic2 buttons connected in the background. You can customize the notification appearance by adding metadata to your app's `AndroidManifest.xml`:
72
+
73
+ ```xml
74
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
75
+ <application>
76
+ <!-- Your existing application configuration -->
77
+
78
+ <!-- Customize Flic2 foreground service notification -->
79
+ <meta-data
80
+ android:name="nl.xguard.flic2.notification_title"
81
+ android:value="My Flic2 Service" />
82
+ <meta-data
83
+ android:name="nl.xguard.flic2.notification_text"
84
+ android:value="Flic2 buttons are active" />
85
+ <meta-data
86
+ android:name="nl.xguard.flic2.notification_icon"
87
+ android:resource="@drawable/ic_notification" />
88
+ <meta-data
89
+ android:name="nl.xguard.flic2.notification_channel_name"
90
+ android:value="Flic2 Notifications" />
91
+ <meta-data
92
+ android:name="nl.xguard.flic2.notification_channel_description"
93
+ android:value="Notifications for Flic2 button connections" />
94
+ <meta-data
95
+ android:name="nl.xguard.flic2.notification_id"
96
+ android:value="123321" />
97
+ <meta-data
98
+ android:name="nl.xguard.flic2.notification_channel_id"
99
+ android:value="my_custom_channel_id" />
100
+ </application>
101
+ </manifest>
102
+ ```
103
+
104
+ **Available Configuration Options:**
105
+
106
+ - `nl.xguard.flic2.notification_title` - Notification title (default: "Flic 2")
107
+ - `nl.xguard.flic2.notification_text` - Notification text (default: "Flic 2 service is running")
108
+ - `nl.xguard.flic2.notification_icon` - Notification icon resource ID (default: system info icon)
109
+ - Use `@drawable/your_icon_name` or `@mipmap/your_icon_name` format
110
+ - `nl.xguard.flic2.notification_channel_name` - Notification channel name (default: "Flic2Channel")
111
+ - `nl.xguard.flic2.notification_channel_description` - Notification channel description (default: "Flic2Channel")
112
+ - `nl.xguard.flic2.notification_id` - Notification ID integer (default: 123321)
113
+ - `nl.xguard.flic2.notification_channel_id` - Notification channel ID string (default: "Notification_Channel_Flic2Service")
114
+
115
+ **Example with Custom Icon:**
116
+
117
+ 1. Add your notification icon to `android/app/src/main/res/drawable/` (e.g., `ic_flic2_notification.png`)
118
+
119
+ 2. Add metadata to `AndroidManifest.xml`:
120
+ ```xml
121
+ <meta-data
122
+ android:name="nl.xguard.flic2.notification_icon"
123
+ android:resource="@drawable/ic_flic2_notification" />
124
+ ```
125
+
126
+ **Note:** The notification icon must be a white/transparent icon suitable for Android notifications. If you don't specify a custom icon, the system default info icon will be used.
127
+
69
128
  ## Basic Usage
70
129
 
71
130
  ### 1. Initialize the Library (Global Setup)
@@ -26,7 +26,7 @@ def getExtOrIntegerDefault(name) {
26
26
  }
27
27
 
28
28
  android {
29
- namespace "com.flic2"
29
+ namespace "nl.xguard.flic2"
30
30
 
31
31
  compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
32
32
 
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import android.app.ActivityManager
4
4
  import android.content.Context
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableMap
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableArray
@@ -31,8 +31,7 @@ object Flic2Converter {
31
31
  putInt("firmwareRevision", button.getFirmwareVersion())
32
32
 
33
33
  // Check if ready by comparing connection state
34
- val isReady = connState == Flic2Button.CONNECTION_STATE_CONNECTED_READY
35
- putBoolean("isReady", isReady)
34
+ putBoolean("isReady", connState == Flic2Button.CONNECTION_STATE_CONNECTED_READY)
36
35
 
37
36
  // Get battery level from BatteryLevel object
38
37
  val batteryLevel = button.getLastKnownBatteryLevel()
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import android.content.ComponentName
4
4
  import android.content.Context
@@ -294,6 +294,7 @@ class Flic2Module(reactContext: ReactApplicationContext) :
294
294
  promise.resolve(Arguments.createMap().apply {
295
295
  putBoolean("success", true)
296
296
  putString("message", "Connection initiated")
297
+ putMap("button", Flic2Converter.buttonToMap(button))
297
298
  })
298
299
  } catch (e: Exception) {
299
300
  Log.e(TAG, "Failed to connect button", e)
@@ -314,6 +315,7 @@ class Flic2Module(reactContext: ReactApplicationContext) :
314
315
  promise.resolve(Arguments.createMap().apply {
315
316
  putBoolean("success", true)
316
317
  putString("message", "Disconnection initiated")
318
+ putMap("button", Flic2Converter.buttonToMap(button))
317
319
  })
318
320
  } catch (e: Exception) {
319
321
  Log.e(TAG, "Failed to disconnect button", e)
@@ -349,6 +351,7 @@ class Flic2Module(reactContext: ReactApplicationContext) :
349
351
  promise.resolve(Arguments.createMap().apply {
350
352
  putBoolean("success", true)
351
353
  putString("message", "Nickname set")
354
+ putMap("button", Flic2Converter.buttonToMap(button))
352
355
  })
353
356
  } catch (e: Exception) {
354
357
  Log.e(TAG, "Failed to set nickname", e)
@@ -502,3 +505,4 @@ class Flic2Module(reactContext: ReactApplicationContext) :
502
505
  }
503
506
  }
504
507
  }
508
+
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import com.facebook.react.BaseReactPackage
4
4
  import com.facebook.react.bridge.NativeModule
@@ -31,3 +31,4 @@ class Flic2Package : BaseReactPackage() {
31
31
  }
32
32
  }
33
33
  }
34
+
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import android.app.Notification
4
4
  import android.app.NotificationChannel
@@ -29,7 +29,7 @@ class Flic2Service : Service() {
29
29
  private const val TAG = "Flic2Service"
30
30
  private const val DEFAULT_NOTIFICATION_ID = 123321
31
31
  private const val DEFAULT_CHANNEL_ID = "Notification_Channel_Flic2Service"
32
-
32
+
33
33
  // Metadata keys for notification configuration
34
34
  private const val KEY_CHANNEL_NAME = "nl.xguard.flic2.notification_channel_name"
35
35
  private const val KEY_CHANNEL_DESCRIPTION = "nl.xguard.flic2.notification_channel_description"
package/ios/Flic2.mm CHANGED
@@ -173,7 +173,7 @@
173
173
  }
174
174
 
175
175
  [button connect];
176
- resolve(@{@"success": @YES, @"message": @"Connection initiated"});
176
+ resolve(@{@"success": @YES, @"message": @"Connection initiated", @"button": [self buttonToDictionary:button]});
177
177
  }
178
178
 
179
179
  - (void)disconnectButton:(NSString *)uuid
@@ -188,7 +188,7 @@
188
188
  }
189
189
 
190
190
  [button disconnect];
191
- resolve(@{@"success": @YES, @"message": @"Disconnection initiated"});
191
+ resolve(@{@"success": @YES, @"message": @"Disconnection initiated", @"button": [self buttonToDictionary:button]});
192
192
  }
193
193
 
194
194
  - (void)setTriggerMode:(NSString *)uuid mode:(NSInteger)mode
@@ -203,7 +203,7 @@
203
203
  }
204
204
 
205
205
  button.triggerMode = (FLICButtonTriggerMode)mode;
206
- resolve(@{@"success": @YES, @"message": @"Trigger mode set"});
206
+ resolve(@{@"success": @YES, @"message": @"Trigger mode set", @"button": [self buttonToDictionary:button]});
207
207
  }
208
208
 
209
209
  - (void)setLatencyMode:(NSString *)uuid mode:(NSInteger)mode
@@ -218,7 +218,7 @@
218
218
  }
219
219
 
220
220
  button.latencyMode = (FLICLatencyMode)mode;
221
- resolve(@{@"success": @YES, @"message": @"Latency mode set"});
221
+ resolve(@{@"success": @YES, @"message": @"Latency mode set", @"button": [self buttonToDictionary:button]});
222
222
  }
223
223
 
224
224
  - (void)setNickname:(NSString *)uuid nickname:(NSString *)nickname
@@ -233,7 +233,7 @@
233
233
  }
234
234
 
235
235
  button.nickname = nickname;
236
- resolve(@{@"success": @YES, @"message": @"Nickname set"});
236
+ resolve(@{@"success": @YES, @"message": @"Nickname set", @"button": [self buttonToDictionary:button]});
237
237
  }
238
238
 
239
239
  // MARK: - Helper Methods
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","ScanResult","getEnforcing"],"sourceRoot":"../../src","sources":["NativeFlic2.ts"],"mappings":";;AAAA,SACEA,mBAAmB,QAGd,cAAc;;AAErB;;AASA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AA6DtB;;AAgDA;;AAKA;;AAwCA,eAAeD,mBAAmB,CAACE,YAAY,CAAO,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","ScanResult","getEnforcing"],"sourceRoot":"../../src","sources":["NativeFlic2.ts"],"mappings":";;AAAA,SACEA,mBAAmB,QAGd,cAAc;;AAErB;;AASA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AA+DtB;;AAgDA;;AAKA;;AAwCA,eAAeD,mBAAmB,CAACE,YAAY,CAAO,OAAO,CAAC","ignoreList":[]}
@@ -11,10 +11,6 @@ class Flic2 {
11
11
  * @version 2.0.0
12
12
  */
13
13
  constructor() {
14
- // generate a random session ID for the instance
15
- this.sessionId = Math.random().toString(36).substring(2, 15);
16
- console.log('Created new Flic2 instance with sessionId', this.sessionId);
17
-
18
14
  // create event emitter
19
15
  this.eventEmitter = new TypedEmitter();
20
16
 
@@ -1 +1 @@
1
- {"version":3,"names":["TypedEmitter","NativeFlic2","Flic2","isFlic2ManagerInitialized","constructor","sessionId","Math","random","toString","substring","console","log","eventEmitter","onButtonEvent","onNativeButtonEvent","bind","onManagerStateChange","onNativeManagerStateChange","onScanStatusChange","onNativeScanStatusChange","initialize","isInitialized","Error","result","success","message","onInitialized","startScan","scanForButtons","stopScan","connectAllKnownButtons","disconnectAllKnownButtons","forgetAllButtons","isScanning","forgetButton","uuid","buttonConnect","connectButton","buttonDisconnect","disconnectButton","buttonSetTriggerMode","mode","setTriggerMode","buttonSetLatencyMode","setLatencyMode","buttonSetNickname","nickname","setNickname","getButtons","getButton","buttons","button","find","item","getBatteryHealth","isBatteryVoltageOk","batteryVoltage","voltage","event","enrichedEvent","batteryVoltageOk","emit"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TypedEmitter","NativeFlic2","Flic2","isFlic2ManagerInitialized","constructor","eventEmitter","onButtonEvent","onNativeButtonEvent","bind","onManagerStateChange","onNativeManagerStateChange","onScanStatusChange","onNativeScanStatusChange","initialize","isInitialized","Error","result","success","message","onInitialized","startScan","scanForButtons","stopScan","connectAllKnownButtons","disconnectAllKnownButtons","forgetAllButtons","isScanning","forgetButton","uuid","buttonConnect","connectButton","buttonDisconnect","disconnectButton","buttonSetTriggerMode","mode","setTriggerMode","buttonSetLatencyMode","setLatencyMode","buttonSetNickname","nickname","setNickname","getButtons","getButton","buttons","button","find","item","getBatteryHealth","isBatteryVoltageOk","batteryVoltage","voltage","event","enrichedEvent","batteryVoltageOk","emit"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -35,9 +35,10 @@ export type ScanStatusChangeEvent = {
35
35
  eventName: ScanStatus;
36
36
  result?: ScanResult;
37
37
  };
38
+ export type ButtonEventName = 'discovered' | 'connected' | 'ready' | 'disconnected' | 'connectionFailed' | 'buttonDown' | 'buttonUp' | 'click' | 'doubleClick' | 'hold' | 'unpaired' | 'batteryUpdate' | 'nicknameUpdate';
38
39
  export type ButtonEvent = {
39
40
  uuid: string;
40
- event: 'discovered' | 'connected' | 'ready' | 'disconnected' | 'connectionFailed' | 'buttonDown' | 'buttonUp' | 'click' | 'doubleClick' | 'hold' | 'unpaired' | 'batteryUpdate' | 'nicknameUpdate';
41
+ event: ButtonEventName;
41
42
  queued?: boolean;
42
43
  age?: number;
43
44
  nickname?: string;
@@ -80,54 +81,59 @@ export type TriggerModeType = 0 | 1 | 2 | 3;
80
81
  export type LatencyModeType = 0 | 1;
81
82
  export interface Spec extends TurboModule {
82
83
  initialize(background: boolean): Promise<{
83
- success: boolean;
84
+ success: true;
84
85
  message: string;
85
86
  }>;
86
87
  getButtons(): Promise<FlicButton[]>;
87
88
  scanForButtons(): Promise<{
88
- success: boolean;
89
+ success: true;
89
90
  message: string;
90
91
  }>;
91
92
  stopScan(): Promise<{
92
- success: boolean;
93
+ success: true;
93
94
  message: string;
94
95
  }>;
95
96
  forgetButton(uuid: string): Promise<{
96
- success: boolean;
97
+ success: true;
97
98
  message: string;
98
99
  }>;
99
100
  connectAllKnownButtons(): Promise<{
100
- success: boolean;
101
+ success: true;
101
102
  message: string;
102
103
  }>;
103
104
  disconnectAllKnownButtons(): Promise<{
104
- success: boolean;
105
+ success: true;
105
106
  message: string;
106
107
  }>;
107
108
  forgetAllButtons(): Promise<{
108
- success: boolean;
109
+ success: true;
109
110
  message: string;
110
111
  }>;
111
112
  isScanning(): Promise<boolean>;
112
113
  connectButton(uuid: string): Promise<{
113
- success: boolean;
114
+ success: true;
114
115
  message: string;
116
+ button: FlicButton;
115
117
  }>;
116
118
  disconnectButton(uuid: string): Promise<{
117
- success: boolean;
119
+ success: true;
118
120
  message: string;
121
+ button: FlicButton;
119
122
  }>;
120
123
  setTriggerMode(uuid: string, mode: TriggerModeType): Promise<{
121
- success: boolean;
124
+ success: true;
122
125
  message: string;
126
+ button: FlicButton;
123
127
  }>;
124
128
  setLatencyMode(uuid: string, mode: LatencyModeType): Promise<{
125
- success: boolean;
129
+ success: true;
126
130
  message: string;
131
+ button: FlicButton;
127
132
  }>;
128
133
  setNickname(uuid: string, nickname: string): Promise<{
129
- success: boolean;
134
+ success: true;
130
135
  message: string;
136
+ button: FlicButton;
131
137
  }>;
132
138
  readonly onManagerStateChange: CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
133
139
  readonly onScanStatusChange: CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeFlic2.d.ts","sourceRoot":"","sources":["../../../src/NativeFlic2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeFlic2.d.ts","sourceRoot":"","sources":["../../../src/NativeFlic2.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { TypedEmitter } from './lib/typedEventEmitter';
2
2
  import { type ButtonEvent, type FlicButton, type LatencyModeType, type ManagerStateChangeEvent, type ScanStatusChangeEvent, type TriggerModeType } from './NativeFlic2';
3
3
  declare class Flic2 {
4
4
  private isFlic2ManagerInitialized;
5
- private sessionId;
6
5
  eventEmitter: TypedEmitter<{
7
6
  buttonEvent: (event: ButtonEvent) => void;
8
7
  managerStateChange: (event: ManagerStateChangeEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAoB,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAEvB,cAAM,KAAK;IAET,OAAO,CAAC,yBAAyB,CAAkB;IAEnD,OAAO,CAAC,SAAS,CAAS;IAEnB,YAAY,EAAE,YAAY,CAAC;QAChC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QAC1C,kBAAkB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;QAC7D,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;QACzD,kBAAkB,EAAE,MAAM,IAAI,CAAC;KAChC,CAAC,CAAC;IAEH;;;;;OAKG;;IA0BH;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAwB3C;;;;OAIG;IACI,SAAS,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMlE;;;;OAIG;IACI,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjE;;OAEG;IACI,aAAa,IAAI,IAAI;IAM5B;;;;OAIG;IACI,aAAa,IAAI,OAAO;IAM/B;;;;OAIG;IACI,sBAAsB,IAAI,OAAO,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAMF;;;;OAIG;IACI,yBAAyB,IAAI,OAAO,CAAC;QAC1C,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAMF;;;;OAIG;IACI,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMzE;;;;OAIG;IACI,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC;;;;;OAKG;IACI,YAAY,CACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAOjD;;;;;OAKG;IACI,aAAa,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;OAKG;IACI,gBAAgB,CACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;;OAMG;IACI,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;;OAMG;IACI,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;;OAMG;IACI,iBAAiB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;OAIG;IACI,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAM1C;;;;;OAKG;IACU,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAShE;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe7D;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAMlC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAMjC;;AAGD,wBAA2B;AAG3B,mBAAmB,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAoB,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAEvB,cAAM,KAAK;IAET,OAAO,CAAC,yBAAyB,CAAkB;IAE5C,YAAY,EAAE,YAAY,CAAC;QAChC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QAC1C,kBAAkB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;QAC7D,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;QACzD,kBAAkB,EAAE,MAAM,IAAI,CAAC;KAChC,CAAC,CAAC;IAEH;;;;;OAKG;;IAqBH;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAwB3C;;;;OAIG;IACI,SAAS,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMlE;;;;OAIG;IACI,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjE;;OAEG;IACI,aAAa,IAAI,IAAI;IAM5B;;;;OAIG;IACI,aAAa,IAAI,OAAO;IAM/B;;;;OAIG;IACI,sBAAsB,IAAI,OAAO,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAMF;;;;OAIG;IACI,yBAAyB,IAAI,OAAO,CAAC;QAC1C,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAMF;;;;OAIG;IACI,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMzE;;;;OAIG;IACI,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC;;;;;OAKG;IACI,YAAY,CACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAOjD;;;;;OAKG;IACI,aAAa,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;OAKG;IACI,gBAAgB,CACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;;OAMG;IACI,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;;OAMG;IACI,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;;;OAMG;IACI,iBAAiB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMjD;;;;OAIG;IACI,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAM1C;;;;;OAKG;IACU,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAShE;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe7D;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAMlC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAMjC;;AAGD,wBAA2B;AAG3B,mBAAmB,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-flic2",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "React Native Flic plugin made with the Flic2 SDK (unofficial)",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -57,31 +57,31 @@
57
57
  "registry": "https://registry.npmjs.org/"
58
58
  },
59
59
  "devDependencies": {
60
- "@eslint/compat": "^1.3.2",
61
- "@eslint/eslintrc": "^3.3.1",
62
- "@eslint/js": "^9.35.0",
63
- "@evilmartians/lefthook": "^1.12.3",
60
+ "@eslint/compat": "1.3.2",
61
+ "@eslint/eslintrc": "3.3.1",
62
+ "@eslint/js": "9.35.0",
63
+ "@evilmartians/lefthook": "1.12.3",
64
64
  "@react-native-community/cli": "20.0.1",
65
65
  "@react-native/babel-preset": "0.81.1",
66
- "@react-native/eslint-config": "^0.81.1",
67
- "@release-it/conventional-changelog": "^10.0.1",
68
- "@types/react": "^19.1.0",
69
- "@typescript-eslint/eslint-plugin": "^8.46.2",
70
- "@typescript-eslint/parser": "^8.46.2",
71
- "del-cli": "^6.0.0",
72
- "eslint": "^8.57.1",
73
- "eslint-config-prettier": "^10.1.8",
74
- "eslint-plugin-ft-flow": "^3.0.11",
75
- "eslint-plugin-jest": "^29.0.1",
76
- "eslint-plugin-prettier": "^5.5.4",
77
- "eslint-plugin-react-native": "^5.0.0",
78
- "prettier": "^3.6.2",
66
+ "@react-native/eslint-config": "0.81.1",
67
+ "@release-it/conventional-changelog": "10.0.1",
68
+ "@types/react": "19.1.0",
69
+ "@typescript-eslint/eslint-plugin": "8.46.2",
70
+ "@typescript-eslint/parser": "8.46.2",
71
+ "del-cli": "6.0.0",
72
+ "eslint": "8.57.1",
73
+ "eslint-config-prettier": "10.1.8",
74
+ "eslint-plugin-ft-flow": "3.0.11",
75
+ "eslint-plugin-jest": "29.0.1",
76
+ "eslint-plugin-prettier": "5.5.4",
77
+ "eslint-plugin-react-native": "5.0.0",
78
+ "prettier": "3.6.2",
79
79
  "react": "19.1.0",
80
80
  "react-native": "0.81.1",
81
- "react-native-builder-bob": "^0.40.13",
82
- "release-it": "^19.0.4",
83
- "turbo": "^2.5.6",
84
- "typescript": "^5.9.2"
81
+ "react-native-builder-bob": "0.40.13",
82
+ "release-it": "19.0.4",
83
+ "turbo": "2.5.6",
84
+ "typescript": "5.9.2"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "react": "*",
@@ -136,7 +136,7 @@
136
136
  "type": "modules",
137
137
  "jsSrcsDir": "src",
138
138
  "android": {
139
- "javaPackageName": "com.flic2"
139
+ "javaPackageName": "nl.xguard.flic2"
140
140
  }
141
141
  },
142
142
  "create-react-native-library": {
@@ -46,22 +46,24 @@ export type ScanStatusChangeEvent = {
46
46
  result?: ScanResult;
47
47
  };
48
48
 
49
+ export type ButtonEventName =
50
+ | 'discovered'
51
+ | 'connected'
52
+ | 'ready'
53
+ | 'disconnected'
54
+ | 'connectionFailed'
55
+ | 'buttonDown'
56
+ | 'buttonUp'
57
+ | 'click'
58
+ | 'doubleClick'
59
+ | 'hold'
60
+ | 'unpaired'
61
+ | 'batteryUpdate'
62
+ | 'nicknameUpdate';
63
+
49
64
  export type ButtonEvent = {
50
65
  uuid: string;
51
- event:
52
- | 'discovered'
53
- | 'connected'
54
- | 'ready'
55
- | 'disconnected'
56
- | 'connectionFailed'
57
- | 'buttonDown'
58
- | 'buttonUp'
59
- | 'click'
60
- | 'doubleClick'
61
- | 'hold'
62
- | 'unpaired'
63
- | 'batteryUpdate'
64
- | 'nicknameUpdate';
66
+ event: ButtonEventName;
65
67
  queued?: boolean;
66
68
  age?: number;
67
69
  nickname?: string;
@@ -133,33 +135,33 @@ export interface Spec extends TurboModule {
133
135
  // Manager methods
134
136
  initialize(
135
137
  background: boolean
136
- ): Promise<{ success: boolean; message: string }>;
138
+ ): Promise<{ success: true; message: string }>;
137
139
  getButtons(): Promise<FlicButton[]>;
138
- scanForButtons(): Promise<{ success: boolean; message: string }>;
139
- stopScan(): Promise<{ success: boolean; message: string }>;
140
- forgetButton(uuid: string): Promise<{ success: boolean; message: string }>;
141
- connectAllKnownButtons(): Promise<{ success: boolean; message: string }>;
142
- disconnectAllKnownButtons(): Promise<{ success: boolean; message: string }>;
143
- forgetAllButtons(): Promise<{ success: boolean; message: string }>;
140
+ scanForButtons(): Promise<{ success: true; message: string }>;
141
+ stopScan(): Promise<{ success: true; message: string }>;
142
+ forgetButton(uuid: string): Promise<{ success: true; message: string }>;
143
+ connectAllKnownButtons(): Promise<{ success: true; message: string }>;
144
+ disconnectAllKnownButtons(): Promise<{ success: true; message: string }>;
145
+ forgetAllButtons(): Promise<{ success: true; message: string }>;
144
146
  isScanning(): Promise<boolean>;
145
147
 
146
148
  // Button methods
147
- connectButton(uuid: string): Promise<{ success: boolean; message: string }>;
149
+ connectButton(uuid: string): Promise<{ success: true; message: string; button: FlicButton }>;
148
150
  disconnectButton(
149
151
  uuid: string
150
- ): Promise<{ success: boolean; message: string }>;
152
+ ): Promise<{ success: true; message: string; button: FlicButton }>;
151
153
  setTriggerMode(
152
154
  uuid: string,
153
155
  mode: TriggerModeType
154
- ): Promise<{ success: boolean; message: string }>;
156
+ ): Promise<{ success: true; message: string; button: FlicButton }>;
155
157
  setLatencyMode(
156
158
  uuid: string,
157
159
  mode: LatencyModeType
158
- ): Promise<{ success: boolean; message: string }>;
160
+ ): Promise<{ success: true; message: string; button: FlicButton }>;
159
161
  setNickname(
160
162
  uuid: string,
161
163
  nickname: string
162
- ): Promise<{ success: boolean; message: string }>;
164
+ ): Promise<{ success: true; message: string; button: FlicButton }>;
163
165
 
164
166
  // Event emitters
165
167
  readonly onManagerStateChange: CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
package/src/index.ts CHANGED
@@ -12,8 +12,6 @@ class Flic2 {
12
12
 
13
13
  private isFlic2ManagerInitialized: boolean = false;
14
14
 
15
- private sessionId: string;
16
-
17
15
  public eventEmitter: TypedEmitter<{
18
16
  buttonEvent: (event: ButtonEvent) => void;
19
17
  managerStateChange: (event: ManagerStateChangeEvent) => void;
@@ -29,11 +27,6 @@ class Flic2 {
29
27
  */
30
28
  constructor() {
31
29
 
32
- // generate a random session ID for the instance
33
- this.sessionId = Math.random().toString(36).substring(2, 15);
34
-
35
- console.log('Created new Flic2 instance with sessionId', this.sessionId);
36
-
37
30
  // create event emitter
38
31
  this.eventEmitter = new TypedEmitter<{
39
32
  buttonEvent: (event: ButtonEvent) => void;
@@ -1,161 +0,0 @@
1
- // import type { CodegenTypes } from 'react-native';
2
- // import type {
3
- // MultiplyEvent,
4
- // ManagerStateChangeEvent,
5
- // ScanStatusChangeEvent,
6
- // ButtonEvent,
7
- // FlicButton,
8
- // TriggerModeType,
9
- // LatencyModeType,
10
- // } from './NativeFlic2';
11
- // import NativeFlic2 from './NativeFlic2';
12
-
13
- // // MARK: - Example Functions (keeping for compatibility)
14
-
15
- // export function multiply(a: number, b: number): number {
16
- // return NativeFlic2.multiply(a, b);
17
- // }
18
-
19
- // export const onMultiply =
20
- // NativeFlic2.onMultiply as CodegenTypes.EventEmitter<MultiplyEvent>;
21
-
22
- // // MARK: - Manager Functions
23
-
24
- // export function initialize(
25
- // background: boolean
26
- // ): Promise<{ success: boolean; message: string }> {
27
- // return NativeFlic2.initialize(background);
28
- // }
29
-
30
- // export function getButtons(): Promise<FlicButton[]> {
31
- // return NativeFlic2.getButtons();
32
- // }
33
-
34
- // export function scanForButtons(): Promise<{
35
- // success: boolean;
36
- // message: string;
37
- // }> {
38
- // return NativeFlic2.scanForButtons();
39
- // }
40
-
41
- // export function stopScan(): Promise<{ success: boolean; message: string }> {
42
- // return NativeFlic2.stopScan();
43
- // }
44
-
45
- // export function forgetButton(
46
- // uuid: string
47
- // ): Promise<{ success: boolean; message: string }> {
48
- // return NativeFlic2.forgetButton(uuid);
49
- // }
50
-
51
- // export function connectAllKnownButtons(): Promise<{
52
- // success: boolean;
53
- // message: string;
54
- // }> {
55
- // return NativeFlic2.connectAllKnownButtons();
56
- // }
57
-
58
- // export function disconnectAllKnownButtons(): Promise<{
59
- // success: boolean;
60
- // message: string;
61
- // }> {
62
- // return NativeFlic2.disconnectAllKnownButtons();
63
- // }
64
-
65
- // export function forgetAllButtons(): Promise<{
66
- // success: boolean;
67
- // message: string;
68
- // }> {
69
- // return NativeFlic2.forgetAllButtons();
70
- // }
71
-
72
- // export function isScanning(): Promise<boolean> {
73
- // return NativeFlic2.isScanning();
74
- // }
75
-
76
- // // MARK: - Button Functions
77
-
78
- // export function connectButton(
79
- // uuid: string
80
- // ): Promise<{ success: boolean; message: string }> {
81
- // return NativeFlic2.connectButton(uuid);
82
- // }
83
-
84
- // export function disconnectButton(
85
- // uuid: string
86
- // ): Promise<{ success: boolean; message: string }> {
87
- // return NativeFlic2.disconnectButton(uuid);
88
- // }
89
-
90
- // /**
91
- // * Sets the trigger mode for a button.
92
- // *
93
- // * @platform iOS
94
- // * @param uuid - Button UUID
95
- // * @param mode - Trigger mode (0-3)
96
- // * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
97
- // *
98
- // * **Note:** This feature is only available on iOS. On Android, this will reject due to
99
- // * limitations in the Android Flic2 library v1.1.0+.
100
- // */
101
- // export function setTriggerMode(
102
- // uuid: string,
103
- // mode: TriggerModeType
104
- // ): Promise<{ success: boolean; message: string }> {
105
- // return NativeFlic2.setTriggerMode(uuid, mode);
106
- // }
107
-
108
- // /**
109
- // * Sets the latency mode for a button.
110
- // *
111
- // * @platform iOS
112
- // * @param uuid - Button UUID
113
- // * @param mode - Latency mode (0-1)
114
- // * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
115
- // *
116
- // * **Note:** This feature is only available on iOS. On Android, this will reject due to
117
- // * limitations in the Android Flic2 library v1.1.0+.
118
- // */
119
- // export function setLatencyMode(
120
- // uuid: string,
121
- // mode: LatencyModeType
122
- // ): Promise<{ success: boolean; message: string }> {
123
- // return NativeFlic2.setLatencyMode(uuid, mode);
124
- // }
125
-
126
- // export function setNickname(
127
- // uuid: string,
128
- // nickname: string
129
- // ): Promise<{ success: boolean; message: string }> {
130
- // return NativeFlic2.setNickname(uuid, nickname);
131
- // }
132
-
133
- // // MARK: - Event Emitters
134
-
135
- // export const onManagerStateChange =
136
- // NativeFlic2.onManagerStateChange as CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
137
-
138
- // export const onScanStatusChange =
139
- // NativeFlic2.onScanStatusChange as CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
140
-
141
- // export const onButtonEvent =
142
- // NativeFlic2.onButtonEvent as CodegenTypes.EventEmitter<ButtonEvent>;
143
-
144
- // // MARK: - Re-export Types
145
-
146
- // export type {
147
- // MultiplyEvent,
148
- // ManagerStateChangeEvent,
149
- // ScanStatusChangeEvent,
150
- // ButtonEvent,
151
- // FlicButton,
152
- // FlicManagerState,
153
- // FlicButtonState,
154
- // FlicTriggerMode,
155
- // FlicLatencyMode,
156
- // FlicScannerEvent,
157
- // TriggerModeType,
158
- // LatencyModeType,
159
- // } from './NativeFlic2';
160
- "use strict";
161
- //# sourceMappingURL=index.bak.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.bak.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.bak.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.bak.d.ts","sourceRoot":"","sources":["../../../src/index.bak.tsx"],"names":[],"mappings":""}
package/src/index.bak.tsx DELETED
@@ -1,159 +0,0 @@
1
- // import type { CodegenTypes } from 'react-native';
2
- // import type {
3
- // MultiplyEvent,
4
- // ManagerStateChangeEvent,
5
- // ScanStatusChangeEvent,
6
- // ButtonEvent,
7
- // FlicButton,
8
- // TriggerModeType,
9
- // LatencyModeType,
10
- // } from './NativeFlic2';
11
- // import NativeFlic2 from './NativeFlic2';
12
-
13
- // // MARK: - Example Functions (keeping for compatibility)
14
-
15
- // export function multiply(a: number, b: number): number {
16
- // return NativeFlic2.multiply(a, b);
17
- // }
18
-
19
- // export const onMultiply =
20
- // NativeFlic2.onMultiply as CodegenTypes.EventEmitter<MultiplyEvent>;
21
-
22
- // // MARK: - Manager Functions
23
-
24
- // export function initialize(
25
- // background: boolean
26
- // ): Promise<{ success: boolean; message: string }> {
27
- // return NativeFlic2.initialize(background);
28
- // }
29
-
30
- // export function getButtons(): Promise<FlicButton[]> {
31
- // return NativeFlic2.getButtons();
32
- // }
33
-
34
- // export function scanForButtons(): Promise<{
35
- // success: boolean;
36
- // message: string;
37
- // }> {
38
- // return NativeFlic2.scanForButtons();
39
- // }
40
-
41
- // export function stopScan(): Promise<{ success: boolean; message: string }> {
42
- // return NativeFlic2.stopScan();
43
- // }
44
-
45
- // export function forgetButton(
46
- // uuid: string
47
- // ): Promise<{ success: boolean; message: string }> {
48
- // return NativeFlic2.forgetButton(uuid);
49
- // }
50
-
51
- // export function connectAllKnownButtons(): Promise<{
52
- // success: boolean;
53
- // message: string;
54
- // }> {
55
- // return NativeFlic2.connectAllKnownButtons();
56
- // }
57
-
58
- // export function disconnectAllKnownButtons(): Promise<{
59
- // success: boolean;
60
- // message: string;
61
- // }> {
62
- // return NativeFlic2.disconnectAllKnownButtons();
63
- // }
64
-
65
- // export function forgetAllButtons(): Promise<{
66
- // success: boolean;
67
- // message: string;
68
- // }> {
69
- // return NativeFlic2.forgetAllButtons();
70
- // }
71
-
72
- // export function isScanning(): Promise<boolean> {
73
- // return NativeFlic2.isScanning();
74
- // }
75
-
76
- // // MARK: - Button Functions
77
-
78
- // export function connectButton(
79
- // uuid: string
80
- // ): Promise<{ success: boolean; message: string }> {
81
- // return NativeFlic2.connectButton(uuid);
82
- // }
83
-
84
- // export function disconnectButton(
85
- // uuid: string
86
- // ): Promise<{ success: boolean; message: string }> {
87
- // return NativeFlic2.disconnectButton(uuid);
88
- // }
89
-
90
- // /**
91
- // * Sets the trigger mode for a button.
92
- // *
93
- // * @platform iOS
94
- // * @param uuid - Button UUID
95
- // * @param mode - Trigger mode (0-3)
96
- // * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
97
- // *
98
- // * **Note:** This feature is only available on iOS. On Android, this will reject due to
99
- // * limitations in the Android Flic2 library v1.1.0+.
100
- // */
101
- // export function setTriggerMode(
102
- // uuid: string,
103
- // mode: TriggerModeType
104
- // ): Promise<{ success: boolean; message: string }> {
105
- // return NativeFlic2.setTriggerMode(uuid, mode);
106
- // }
107
-
108
- // /**
109
- // * Sets the latency mode for a button.
110
- // *
111
- // * @platform iOS
112
- // * @param uuid - Button UUID
113
- // * @param mode - Latency mode (0-1)
114
- // * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
115
- // *
116
- // * **Note:** This feature is only available on iOS. On Android, this will reject due to
117
- // * limitations in the Android Flic2 library v1.1.0+.
118
- // */
119
- // export function setLatencyMode(
120
- // uuid: string,
121
- // mode: LatencyModeType
122
- // ): Promise<{ success: boolean; message: string }> {
123
- // return NativeFlic2.setLatencyMode(uuid, mode);
124
- // }
125
-
126
- // export function setNickname(
127
- // uuid: string,
128
- // nickname: string
129
- // ): Promise<{ success: boolean; message: string }> {
130
- // return NativeFlic2.setNickname(uuid, nickname);
131
- // }
132
-
133
- // // MARK: - Event Emitters
134
-
135
- // export const onManagerStateChange =
136
- // NativeFlic2.onManagerStateChange as CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
137
-
138
- // export const onScanStatusChange =
139
- // NativeFlic2.onScanStatusChange as CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
140
-
141
- // export const onButtonEvent =
142
- // NativeFlic2.onButtonEvent as CodegenTypes.EventEmitter<ButtonEvent>;
143
-
144
- // // MARK: - Re-export Types
145
-
146
- // export type {
147
- // MultiplyEvent,
148
- // ManagerStateChangeEvent,
149
- // ScanStatusChangeEvent,
150
- // ButtonEvent,
151
- // FlicButton,
152
- // FlicManagerState,
153
- // FlicButtonState,
154
- // FlicTriggerMode,
155
- // FlicLatencyMode,
156
- // FlicScannerEvent,
157
- // TriggerModeType,
158
- // LatencyModeType,
159
- // } from './NativeFlic2';